Index: chrome/common/extensions/docs/server2/path_canonicalizer_test.py |
diff --git a/chrome/common/extensions/docs/server2/path_canonicalizer_test.py b/chrome/common/extensions/docs/server2/path_canonicalizer_test.py |
new file mode 100755 |
index 0000000000000000000000000000000000000000..c87ce4e98b7cbdfdefc318cc3c2ef63e3cbde1ab |
--- /dev/null |
+++ b/chrome/common/extensions/docs/server2/path_canonicalizer_test.py |
@@ -0,0 +1,91 @@ |
+#!/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. |
+ |
+from compiled_file_system import CompiledFileSystem |
+from path_canonicalizer import PathCanonicalizer |
+import svn_constants |
+from test_file_system import TestFileSystem |
+import unittest |
+ |
+_TEST_DATA = TestFileSystem.MoveTo(svn_constants.PUBLIC_TEMPLATE_PATH, { |
+ 'extensions': { |
+ 'browserAction.html': 'yo', |
+ 'storage.html': 'dawg', |
+ }, |
+ 'apps': { |
+ 'bluetooth': 'hey', |
+ 'storage.html': 'wassup', |
+ } |
+}) |
+ |
+class PathCanonicalizerTest(unittest.TestCase): |
+ def setUp(self): |
+ test_fs = TestFileSystem(_TEST_DATA) |
+ compiled_fs_factory = CompiledFileSystem.Factory(test_fs) |
+ self._path_canonicalizer = PathCanonicalizer('stable', compiled_fs_factory) |
+ |
+ def _assertIdentity(self, path): |
+ self.assertEqual(path, self._path_canonicalizer.Canonicalize(path)) |
+ |
+ def testExtensions(self): |
+ self._assertIdentity('extensions/browserAction.html') |
+ self._assertIdentity('extensions/storage.html') |
+ self._assertIdentity('extensions/bluetooth.html') |
+ self._assertIdentity('extensions/blah.html') |
+ self._assertIdentity('stable/extensions/browserAction.html') |
+ self._assertIdentity('stable/extensions/storage.html') |
+ self._assertIdentity('stable/extensions/bluetooth.html') |
+ self._assertIdentity('stable/extensions/blah.html') |
+ |
+ def testApps(self): |
+ self._assertIdentity('apps/browserAction.html') |
+ self._assertIdentity('apps/storage.html') |
+ self._assertIdentity('apps/bluetooth.html') |
+ self._assertIdentity('apps/blah.html') |
+ self._assertIdentity('stable/apps/browserAction.html') |
+ self._assertIdentity('stable/apps/storage.html') |
+ self._assertIdentity('stable/apps/bluetooth.html') |
+ self._assertIdentity('stable/apps/blah.html') |
+ |
+ def testStatic(self): |
+ self._assertIdentity('static/browserAction.html') |
+ self._assertIdentity('static/storage.html') |
+ self._assertIdentity('static/bluetooth.html') |
+ self._assertIdentity('static/blah.html') |
+ self._assertIdentity('stable/static/browserAction.html') |
+ self._assertIdentity('stable/static/storage.html') |
+ self._assertIdentity('stable/static/bluetooth.html') |
+ self._assertIdentity('stable/static/blah.html') |
+ |
+ def testNeither(self): |
+ self.assertEqual( |
+ 'extensions/browserAction.html', |
+ self._path_canonicalizer.Canonicalize('browserAction.html')) |
+ self.assertEqual( |
+ 'stable/extensions/browserAction.html', |
+ self._path_canonicalizer.Canonicalize('stable/browserAction.html')) |
+ self.assertEqual( |
+ 'extensions/storage.html', |
+ self._path_canonicalizer.Canonicalize('storage.html')) |
+ self.assertEqual( |
+ 'stable/extensions/storage.html', |
+ self._path_canonicalizer.Canonicalize('stable/storage.html')) |
+ self.assertEqual( |
+ 'apps/bluetooth.html', |
+ self._path_canonicalizer.Canonicalize('bluetooth.html')) |
+ self.assertEqual( |
+ 'stable/apps/bluetooth.html', |
+ self._path_canonicalizer.Canonicalize('stable/bluetooth.html')) |
+ # Assign non-existent paths to extensions because they came first, so such |
+ # paths are more likely to be for extensions. |
+ self.assertEqual( |
+ 'extensions/blah.html', |
+ self._path_canonicalizer.Canonicalize('blah.html')) |
+ self.assertEqual( |
+ 'stable/extensions/blah.html', |
+ self._path_canonicalizer.Canonicalize('stable/blah.html')) |
+ |
+if __name__ == '__main__': |
+ unittest.main() |