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 #include "tools/json_schema_compiler/test/callbacks.h" 6 7 #include "testing/gtest/include/gtest/gtest.h" 8 9 using namespace test::api::callbacks; 10 11 TEST(JsonSchemaCompilerCallbacksTest, ReturnsObjectResultCreate) { 12 ReturnsObject::Results::SomeObject some_object; 13 some_object.state = ReturnsObject::Results::SomeObject::STATE_FOO; 14 scoped_ptr<ListValue> results = ReturnsObject::Results::Create(some_object); 15 16 DictionaryValue* expected_dict = new DictionaryValue(); 17 expected_dict->SetString("state", "foo"); 18 ListValue expected; 19 expected.Append(expected_dict); 20 EXPECT_TRUE(results->Equals(&expected)); 21 } 22 23 TEST(JsonSchemaCompilerCallbacksTest, ReturnsMultipleResultCreate) { 24 ReturnsMultiple::Results::SomeObject some_object; 25 some_object.state = ReturnsMultiple::Results::SomeObject::STATE_FOO; 26 scoped_ptr<ListValue> results = 27 ReturnsMultiple::Results::Create(5, some_object); 28 29 DictionaryValue* expected_dict = new DictionaryValue(); 30 expected_dict->SetString("state", "foo"); 31 ListValue expected; 32 expected.Append(Value::CreateIntegerValue(5)); 33 expected.Append(expected_dict); 34 EXPECT_TRUE(results->Equals(&expected)); 35 } 36