1 // Copyright 2014 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.
5 #include "extensions/renderer/module_system_test.h"
6 #include "extensions/renderer/v8_schema_registry.h"
7 #include "grit/extensions_renderer_resources.h"
11 class JsonSchemaTest
: public ModuleSystemTest
{
13 virtual void SetUp() OVERRIDE
{
14 ModuleSystemTest::SetUp();
16 env()->RegisterModule("json_schema", IDR_JSON_SCHEMA_JS
);
17 env()->RegisterModule("utils", IDR_UTILS_JS
);
19 env()->module_system()->RegisterNativeHandler(
20 "schema_registry", schema_registry_
.AsNativeHandler());
22 env()->RegisterTestFile("json_schema_test", "json_schema_test.js");
26 void TestFunction(const std::string
& test_name
) {
27 env()->module_system()->CallModuleMethod("json_schema_test", test_name
);
31 V8SchemaRegistry schema_registry_
;
34 TEST_F(JsonSchemaTest
, TestFormatError
) {
35 TestFunction("testFormatError");
38 TEST_F(JsonSchemaTest
, TestComplex
) {
39 TestFunction("testComplex");
42 TEST_F(JsonSchemaTest
, TestEnum
) {
43 TestFunction("testEnum");
46 TEST_F(JsonSchemaTest
, TestExtends
) {
47 TestFunction("testExtends");
50 TEST_F(JsonSchemaTest
, TestObject
) {
51 TestFunction("testObject");
54 TEST_F(JsonSchemaTest
, TestArrayTuple
) {
55 TestFunction("testArrayTuple");
58 TEST_F(JsonSchemaTest
, TestArrayNonTuple
) {
59 TestFunction("testArrayNonTuple");
62 TEST_F(JsonSchemaTest
, TestString
) {
63 TestFunction("testString");
66 TEST_F(JsonSchemaTest
, TestNumber
) {
67 TestFunction("testNumber");
70 TEST_F(JsonSchemaTest
, TestIntegerBounds
) {
71 TestFunction("testIntegerBounds");
74 TEST_F(JsonSchemaTest
, TestType
) {
75 TestFunction("testType");
78 TEST_F(JsonSchemaTest
, TestTypeReference
) {
79 TestFunction("testTypeReference");
82 TEST_F(JsonSchemaTest
, TestGetAllTypesForSchema
) {
83 TestFunction("testGetAllTypesForSchema");
86 TEST_F(JsonSchemaTest
, TestIsValidSchemaType
) {
87 TestFunction("testIsValidSchemaType");
90 TEST_F(JsonSchemaTest
, TestCheckSchemaOverlap
) {
91 TestFunction("testCheckSchemaOverlap");
94 TEST_F(JsonSchemaTest
, TestInstanceOf
) {
95 TestFunction("testInstanceOf");
98 } // namespace extensions