Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1597)

Unified Diff: chrome/common/extensions/docs/server2/api_list_data_source_test.py

Issue 13470005: Refactor the devserver to make it easier to control caching (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: cduvall, rebase Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/common/extensions/docs/server2/api_list_data_source_test.py
diff --git a/chrome/common/extensions/docs/server2/api_list_data_source_test.py b/chrome/common/extensions/docs/server2/api_list_data_source_test.py
new file mode 100755
index 0000000000000000000000000000000000000000..7a710d0715477db7c008e9644e91e34578296b5a
--- /dev/null
+++ b/chrome/common/extensions/docs/server2/api_list_data_source_test.py
@@ -0,0 +1,86 @@
+#!/usr/bin/env python
+# Copyright 2013 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import unittest
+from api_list_data_source import APIListDataSource
+from compiled_file_system import CompiledFileSystem
+from copy import deepcopy
+from test_file_system import TestFileSystem
+
+def _ToTestData(obj):
+ '''Transforms |obj| into test data by turning a list of files into an object
+ mapping that file to its contents (derived from its name).
+ '''
+ return (dict((name, name) for name in obj) if isinstance(obj, list) else
+ dict((key, _ToTestData(value)) for key, value in obj.items()))
+
+_TEST_DATA = _ToTestData({
+ 'api': [
+ 'alarms.idl',
+ 'app_window.idl',
+ 'browser_action.json',
+ 'experimental_bluetooth.idl',
+ 'experimental_history.idl',
+ 'experimental_infobars.idl',
+ 'experimental_power.idl',
+ 'something_internal.idl',
+ 'something_else_internal.json',
+ 'storage.json',
+ ],
+ 'public': {
+ 'apps': [
+ 'alarms.html',
+ 'app_window.html',
+ 'experimental_bluetooth.html',
+ 'experimental_power.html',
+ 'storage.html',
+ ],
+ 'extensions': [
+ 'alarms.html',
+ 'browserAction.html',
+ 'experimental_history.html',
+ 'experimental_infobars.html',
+ 'experimental_power.html',
+ 'storage.html',
+ ],
+ },
+})
+
+class APIListDataSourceTest(unittest.TestCase):
+ def setUp(self):
+ self._factory = APIListDataSource.Factory(
+ CompiledFileSystem.Factory(TestFileSystem(deepcopy(_TEST_DATA))),
+ 'api',
+ 'public')
+
+ def testApps(self):
+ api_list = self._factory.Create()
+ self.assertEqual([{'name': 'alarms'},
+ {'name': 'app.window'},
+ {'name': 'storage', 'last': True}],
+ api_list.get('apps').get('chrome'))
+
+ def testExperimentalApps(self):
+ api_list = self._factory.Create()
+ self.assertEqual([{'name': 'experimental.bluetooth'},
+ {'name': 'experimental.power', 'last': True}],
+ sorted(api_list.get('apps').get('experimental')))
+
+ def testExtensions(self):
+ api_list = self._factory.Create()
+ self.assertEqual([{'name': 'alarms'},
+ {'name': 'browserAction'},
+ {'name': 'storage', 'last': True}],
+ sorted(api_list.get('extensions').get('chrome')))
+
+ def testExperimentalApps(self):
+ api_list = self._factory.Create()
+ self.assertEqual([{'name': 'experimental.history'},
+ {'name': 'experimental.infobars'},
+ {'name': 'experimental.power', 'last': True}],
+ sorted(api_list.get('extensions').get('experimental')))
+
+if __name__ == '__main__':
+ unittest.main()

Powered by Google App Engine
This is Rietveld 408576698