| // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef BASE_TEST_VALUES_TEST_UTIL_H_ |
| #define BASE_TEST_VALUES_TEST_UTIL_H_ |
| |
| #include <memory> |
| #include <string> |
| |
| #include "base/strings/string_piece.h" |
| |
| namespace base { |
| class DictionaryValue; |
| class ListValue; |
| class Value; |
| |
| // All the functions below expect that the value for the given key in |
| // the given dictionary equals the given expected value. |
| |
| void ExpectDictBooleanValue(bool expected_value, |
| const DictionaryValue& value, |
| const std::string& key); |
| |
| void ExpectDictDictionaryValue(const DictionaryValue& expected_value, |
| const DictionaryValue& value, |
| const std::string& key); |
| |
| void ExpectDictIntegerValue(int expected_value, |
| const DictionaryValue& value, |
| const std::string& key); |
| |
| void ExpectDictListValue(const ListValue& expected_value, |
| const DictionaryValue& value, |
| const std::string& key); |
| |
| void ExpectDictStringValue(const std::string& expected_value, |
| const DictionaryValue& value, |
| const std::string& key); |
| |
| void ExpectStringValue(const std::string& expected_str, const Value& actual); |
| |
| namespace test { |
| |
| // Parses |json| as JSON, allowing trailing commas, and returns the |
| // resulting value. If the json fails to parse, causes an EXPECT |
| // failure and returns the Null Value (but never a NULL pointer). |
| std::unique_ptr<Value> ParseJson(base::StringPiece json); |
| |
| } // namespace test |
| } // namespace base |
| |
| #endif // BASE_TEST_VALUES_TEST_UTIL_H_ |