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