Chromium Code Reviews| Index: chrome/common/extensions/docs/server2/content_providers_test.py |
| diff --git a/chrome/common/extensions/docs/server2/content_providers_test.py b/chrome/common/extensions/docs/server2/content_providers_test.py |
| index a35c348ab6995ef9dba303e389e1e4ad7b31e433..04df6b0bc2e509d8f3a06840b9545b87f49814bf 100755 |
| --- a/chrome/common/extensions/docs/server2/content_providers_test.py |
| +++ b/chrome/common/extensions/docs/server2/content_providers_test.py |
| @@ -8,6 +8,8 @@ import unittest |
| from compiled_file_system import CompiledFileSystem |
| from content_providers import ContentProviders |
| +from empty_dir_file_system import EmptyDirFileSystem |
| +from github_file_system_provider import GithubFileSystemProvider |
|
Jeffrey Yasskin
2013/11/06 04:00:19
I don't think you use this.
not at google - send to devlin
2013/11/06 23:00:13
Done.
|
| from object_store_creator import ObjectStoreCreator |
| from test_file_system import TestFileSystem |
| from test_util import DisableLogging |
| @@ -29,6 +31,13 @@ _CONTENT_PROVIDERS = { |
| 'dir': '' |
| }, |
| }, |
| + 'github-provider': { |
| + 'serveFrom': 'gh', |
| + 'github': { |
| + 'owner': 'GoogleChrome', |
| + 'repo': 'hello-world', |
| + }, |
| + }, |
| 'tomatoes': { |
| 'serveFrom': 'tomatoes-dir/are/a', |
| 'chromium': { |
| @@ -65,11 +74,31 @@ _FILE_SYSTEM_DATA = { |
| } |
| +class _MockGithubFileSystemProvider(object): |
| + '''A GithubFileSystemProvider imitation which records every call to Create |
| + and returns them from GetAndReset. |
| + ''' |
| + |
| + def __init__(self): |
| + self._calls = [] |
| + |
| + def Create(self, owner, repo): |
| + self._calls.append((owner, repo)) |
| + return EmptyDirFileSystem() |
| + |
| + def GetAndReset(self): |
| + calls = self._calls |
| + self._calls = [] |
| + return calls |
| + |
| + |
| class ContentProvidersTest(unittest.TestCase): |
| def setUp(self): |
| + self._github_fs_provider = _MockGithubFileSystemProvider() |
| self._content_providers = ContentProviders( |
| CompiledFileSystem.Factory(ObjectStoreCreator.ForTest()), |
| - TestFileSystem(_FILE_SYSTEM_DATA)) |
| + TestFileSystem(_FILE_SYSTEM_DATA), |
| + self._github_fs_provider) |
| def testSimpleRootPath(self): |
| provider = self._content_providers.GetByName('apples') |
| @@ -127,6 +156,13 @@ class ContentProvidersTest(unittest.TestCase): |
| def testProviderNotFound(self): |
| self.assertEqual(None, self._content_providers.GetByName('cabbages')) |
| + def testGithubContentProvider(self): |
| + provider, path = self._content_providers.GetByServeFrom('gh/some/path') |
| + self.assertEqual('github-provider', provider.name) |
| + self.assertEqual('some/path', path) |
| + self.assertEqual([('GoogleChrome', 'hello-world')], |
| + self._github_fs_provider.GetAndReset()) |
| + |
| if __name__ == '__main__': |
| unittest.main() |