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.
26 lines
906 B
26 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")); |
|
}
|
|
|