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