Home | History | Annotate | Download | only in test
      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