- add sources.
[platform/framework/web/crosswalk.git] / src / tools / json_schema_compiler / test / any_unittest.cc
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 "testing/gtest/include/gtest/gtest.h"
6 #include "tools/json_schema_compiler/test/any.h"
7
8 using namespace test::api::any;
9
10 TEST(JsonSchemaCompilerAnyTest, AnyTypePopulate) {
11   {
12     AnyType any_type;
13     scoped_ptr<DictionaryValue> any_type_value(new DictionaryValue());
14     any_type_value->SetString("any", "value");
15     EXPECT_TRUE(AnyType::Populate(*any_type_value, &any_type));
16     scoped_ptr<Value> any_type_to_value(any_type.ToValue());
17     EXPECT_TRUE(any_type_value->Equals(any_type_to_value.get()));
18   }
19   {
20     AnyType any_type;
21     scoped_ptr<DictionaryValue> any_type_value(new DictionaryValue());
22     any_type_value->SetInteger("any", 5);
23     EXPECT_TRUE(AnyType::Populate(*any_type_value, &any_type));
24     scoped_ptr<Value> any_type_to_value(any_type.ToValue());
25     EXPECT_TRUE(any_type_value->Equals(any_type_to_value.get()));
26   }
27 }
28
29 TEST(JsonSchemaCompilerAnyTest, OptionalAnyParamsCreate) {
30   {
31     scoped_ptr<ListValue> params_value(new ListValue());
32     scoped_ptr<OptionalAny::Params> params(
33         OptionalAny::Params::Create(*params_value));
34     EXPECT_TRUE(params.get());
35     EXPECT_FALSE(params->any_name.get());
36   }
37   {
38     scoped_ptr<ListValue> params_value(new ListValue());
39     scoped_ptr<Value> param(Value::CreateStringValue("asdf"));
40     params_value->Append(param->DeepCopy());
41     scoped_ptr<OptionalAny::Params> params(
42         OptionalAny::Params::Create(*params_value));
43     ASSERT_TRUE(params);
44     ASSERT_TRUE(params->any_name);
45     EXPECT_TRUE(params->any_name->Equals(param.get()));
46   }
47   {
48     scoped_ptr<ListValue> params_value(new ListValue());
49     scoped_ptr<Value> param(Value::CreateBooleanValue(true));
50     params_value->Append(param->DeepCopy());
51     scoped_ptr<OptionalAny::Params> params(
52         OptionalAny::Params::Create(*params_value));
53     ASSERT_TRUE(params);
54     ASSERT_TRUE(params->any_name);
55     EXPECT_TRUE(params->any_name->Equals(param.get()));
56   }
57 }