Chromium Code Reviews| Index: tools/json_schema_compiler/cpp_bundle_generator_test.py |
| diff --git a/tools/json_schema_compiler/cpp_bundle_generator_test.py b/tools/json_schema_compiler/cpp_bundle_generator_test.py |
| new file mode 100755 |
| index 0000000000000000000000000000000000000000..449a3f83db800753f6fa7d581de26546fb0fd6a6 |
| --- /dev/null |
| +++ b/tools/json_schema_compiler/cpp_bundle_generator_test.py |
| @@ -0,0 +1,50 @@ |
| +#!/usr/bin/env python |
| +# Copyright (c) 2012 The Chromium Authors. All rights reserved. |
|
Devlin
2016/01/13 17:54:33
update
Shu Chen
2016/01/14 02:39:09
Done.
|
| +# Use of this source code is governed by a BSD-style license that can be |
| +# found in the LICENSE file. |
| + |
| +from cpp_bundle_generator import CppBundleGenerator |
| +from model import Model |
| + |
| +import json_schema |
| +import os |
| +import unittest |
| + |
| +def _createCppBundleGenerator(file_path): |
| + json_object = json_schema.Load(file_path) |
| + model = Model() |
| + model.AddNamespace(json_object[0], file_path) |
| + cpp_bundle_generator = CppBundleGenerator( |
| + None, model, None, None, 'generated_api_schemas', |
| + None, None, None) |
| + return (cpp_bundle_generator, model) |
| + |
| +def _getPlatformIfdefs(cpp_bundle_generator, model): |
| + return cpp_bundle_generator._GetPlatformIfdefs( |
| + model.namespaces.values()[0].functions.values()[0]) |
| + |
| +class CppBundleGeneratorTest(unittest.TestCase): |
| + def testIfDefsForWinLinux(self): |
| + cpp_bundle_generator, model = _createCppBundleGenerator( |
| + 'test/function_platform_win_linux.json') |
| + self.assertEquals( |
| + 'defined(OS_WIN) || (defined(OS_LINUX) && !defined(OS_CHROMEOS))', |
| + _getPlatformIfdefs(cpp_bundle_generator, model)) |
| + |
| + def testIfDefsForAll(self): |
| + cpp_bundle_generator, model = _createCppBundleGenerator( |
| + 'test/function_platform_all.json') |
| + self.assertEquals( |
| + 'defined(OS_WIN) || (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || ' |
| + 'defined(OS_CHROMEOS)', |
| + _getPlatformIfdefs(cpp_bundle_generator, model)) |
| + |
| + def testIfDefsForChromeOS(self): |
| + cpp_bundle_generator, model = _createCppBundleGenerator( |
| + 'test/function_platform_chromeos.json') |
| + self.assertEquals( |
| + 'defined(OS_CHROMEOS)', |
| + _getPlatformIfdefs(cpp_bundle_generator, model)) |
| + |
| +if __name__ == '__main__': |
| + unittest.main() |