onc_test_utils.h revision 2a99a7e74a7f215066514fe81d2bfa6639d9eddd
1// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef CHROMEOS_NETWORK_ONC_ONC_TEST_UTILS_H_ 6#define CHROMEOS_NETWORK_ONC_ONC_TEST_UTILS_H_ 7 8#include <string> 9 10#include "base/memory/scoped_ptr.h" 11#include "testing/gtest/include/gtest/gtest.h" 12 13namespace base { 14class DictionaryValue; 15} 16 17namespace chromeos { 18namespace onc { 19namespace test_utils { 20 21// Read the file at |filename| as a string. CHECKs if any error occurs. 22std::string ReadTestData(const std::string& filename); 23 24// Read a JSON dictionary from |filename| and return it as a 25// DictionaryValue. CHECKs if any error occurs. 26scoped_ptr<base::DictionaryValue> ReadTestDictionary( 27 const std::string& filename); 28 29// Checks that the pointer |actual| is not NULL but points to a dictionary that 30// equals |expected| (using Value::Equals). The intended use case is: 31// EXPECT_TRUE(test_utils::Equals(expected, actual)); 32::testing::AssertionResult Equals(const base::DictionaryValue* expected, 33 const base::DictionaryValue* actual); 34 35} // namespace test_utils 36} // namespace onc 37} // namespace chromeos 38 39#endif // CHROMEOS_NETWORK_ONC_ONC_TEST_UTILS_H_ 40