cc: Added inline to Tile::IsReadyToDraw
[chromium-blink-merge.git] / components / json_schema / json_schema_validator_unittest_base.h
blob7b4854e21e87a0c7bfdd928175c81e01b0924277
1 // Copyright 2013 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 #ifndef COMPONENTS_JSON_SCHEMA_JSON_SCHEMA_VALIDATOR_UNITTEST_BASE_H_
6 #define COMPONENTS_JSON_SCHEMA_JSON_SCHEMA_VALIDATOR_UNITTEST_BASE_H_
8 #include "testing/gtest/include/gtest/gtest.h"
10 namespace base {
11 class DictionaryValue;
12 class ListValue;
13 class Value;
16 // Base class for unit tests for JSONSchemaValidator. There is currently only
17 // one implementation, JSONSchemaValidatorCPPTest.
19 // TODO(aa): Refactor chrome/test/data/json_schema_test.js into
20 // JSONSchemaValidatorJSTest that inherits from this.
21 class JSONSchemaValidatorTestBase : public testing::Test {
22 public:
23 enum ValidatorType {
24 CPP = 1,
25 JS = 2
28 explicit JSONSchemaValidatorTestBase(ValidatorType type);
30 void RunTests();
32 protected:
33 virtual void ExpectValid(const std::string& test_source,
34 base::Value* instance,
35 base::DictionaryValue* schema,
36 base::ListValue* types) = 0;
38 virtual void ExpectNotValid(const std::string& test_source,
39 base::Value* instance,
40 base::DictionaryValue* schema,
41 base::ListValue* types,
42 const std::string& expected_error_path,
43 const std::string& expected_error_message) = 0;
45 private:
46 void TestComplex();
47 void TestStringPattern();
48 void TestEnum();
49 void TestChoices();
50 void TestExtends();
51 void TestObject();
52 void TestTypeReference();
53 void TestArrayTuple();
54 void TestArrayNonTuple();
55 void TestString();
56 void TestNumber();
57 void TestTypeClassifier();
58 void TestTypes();
60 ValidatorType type_;
63 #endif // COMPONENTS_JSON_SCHEMA_JSON_SCHEMA_VALIDATOR_UNITTEST_BASE_H_