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 "chrome/test/base/module_system_test.h"
6 #include "extensions/renderer/v8_schema_registry.h"
7 #include "grit/extensions_renderer_resources.h"
8
9 namespace extensions {
10
11 class JsonSchemaTest : public ModuleSystemTest {
12 public:
SetUp()13 virtual void SetUp() OVERRIDE {
14 ModuleSystemTest::SetUp();
15
16 RegisterModule("json_schema", IDR_JSON_SCHEMA_JS);
17 RegisterModule("utils", IDR_UTILS_JS);
18
19 context_->module_system()->RegisterNativeHandler("schema_registry",
20 schema_registry_.AsNativeHandler());
21
22 RegisterTestFile("json_schema_test", "json_schema_test.js");
23 }
24
25 protected:
TestFunction(const std::string & test_name)26 void TestFunction(const std::string& test_name) {
27 context_->module_system()->CallModuleMethod("json_schema_test", test_name);
28 }
29
30 private:
31 V8SchemaRegistry schema_registry_;
32 };
33
TEST_F(JsonSchemaTest,TestFormatError)34 TEST_F(JsonSchemaTest, TestFormatError) {
35 TestFunction("testFormatError");
36 }
37
TEST_F(JsonSchemaTest,TestComplex)38 TEST_F(JsonSchemaTest, TestComplex) {
39 TestFunction("testComplex");
40 }
41
TEST_F(JsonSchemaTest,TestEnum)42 TEST_F(JsonSchemaTest, TestEnum) {
43 TestFunction("testEnum");
44 }
45
TEST_F(JsonSchemaTest,TestExtends)46 TEST_F(JsonSchemaTest, TestExtends) {
47 TestFunction("testExtends");
48 }
49
TEST_F(JsonSchemaTest,TestObject)50 TEST_F(JsonSchemaTest, TestObject) {
51 TestFunction("testObject");
52 }
53
TEST_F(JsonSchemaTest,TestArrayTuple)54 TEST_F(JsonSchemaTest, TestArrayTuple) {
55 TestFunction("testArrayTuple");
56 }
57
TEST_F(JsonSchemaTest,TestArrayNonTuple)58 TEST_F(JsonSchemaTest, TestArrayNonTuple) {
59 TestFunction("testArrayNonTuple");
60 }
61
TEST_F(JsonSchemaTest,TestString)62 TEST_F(JsonSchemaTest, TestString) {
63 TestFunction("testString");
64 }
65
TEST_F(JsonSchemaTest,TestNumber)66 TEST_F(JsonSchemaTest, TestNumber) {
67 TestFunction("testNumber");
68 }
69
TEST_F(JsonSchemaTest,TestIntegerBounds)70 TEST_F(JsonSchemaTest, TestIntegerBounds) {
71 TestFunction("testIntegerBounds");
72 }
73
TEST_F(JsonSchemaTest,TestType)74 TEST_F(JsonSchemaTest, TestType) {
75 TestFunction("testType");
76 }
77
TEST_F(JsonSchemaTest,TestTypeReference)78 TEST_F(JsonSchemaTest, TestTypeReference) {
79 TestFunction("testTypeReference");
80 }
81
TEST_F(JsonSchemaTest,TestGetAllTypesForSchema)82 TEST_F(JsonSchemaTest, TestGetAllTypesForSchema) {
83 TestFunction("testGetAllTypesForSchema");
84 }
85
TEST_F(JsonSchemaTest,TestIsValidSchemaType)86 TEST_F(JsonSchemaTest, TestIsValidSchemaType) {
87 TestFunction("testIsValidSchemaType");
88 }
89
TEST_F(JsonSchemaTest,TestCheckSchemaOverlap)90 TEST_F(JsonSchemaTest, TestCheckSchemaOverlap) {
91 TestFunction("testCheckSchemaOverlap");
92 }
93
TEST_F(JsonSchemaTest,TestInstanceOf)94 TEST_F(JsonSchemaTest, TestInstanceOf) {
95 TestFunction("testInstanceOf");
96 }
97
98 } // namespace extensions
99