You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
906 B
27 lines
906 B
// Copyright 2015 The Chromium OS Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
#include <string>
|
|
|
|
#include <brillo/any.h>
|
|
#include <brillo/variant_dictionary.h>
|
|
#include <gtest/gtest.h>
|
|
|
|
using brillo::VariantDictionary;
|
|
using brillo::GetVariantValueOrDefault;
|
|
|
|
TEST(VariantDictionary, GetVariantValueOrDefault) {
|
|
VariantDictionary dictionary;
|
|
dictionary.emplace("a", 1);
|
|
dictionary.emplace("b", "string");
|
|
|
|
// Test values that are present in the VariantDictionary.
|
|
EXPECT_EQ(1, GetVariantValueOrDefault<int>(dictionary, "a"));
|
|
EXPECT_EQ("string", GetVariantValueOrDefault<const char*>(dictionary, "b"));
|
|
|
|
// Test that missing keys result in defaults.
|
|
EXPECT_EQ("", GetVariantValueOrDefault<std::string>(dictionary, "missing"));
|
|
EXPECT_EQ(0, GetVariantValueOrDefault<int>(dictionary, "missing"));
|
|
}
|