Index: chrome/common/extensions/docs/server2/revision_pinner_test.py |
diff --git a/chrome/common/extensions/docs/server2/revision_pinner_test.py b/chrome/common/extensions/docs/server2/revision_pinner_test.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5f8ed985c9c74ff5449bcd521af9bf18fbef8fb8 |
--- /dev/null |
+++ b/chrome/common/extensions/docs/server2/revision_pinner_test.py |
@@ -0,0 +1,46 @@ |
+#!/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 file_system import FileSystem |
+from revision_pinner import RevisionPinner |
+import unittest |
+ |
+class FakeVersionedFileSystem(FileSystem): |
+ def __init__(self): |
+ self.server2_dirs = { |
+ 'server2/': 1, |
+ 'json_schema_compiler/': 1, |
+ } |
+ self.version = max(self.server2_dirs.keys()) |
+ |
+ def Stat(self, path): |
+ return self.server2_dirs.get(path, self.version) |
+ |
+ def Touch(self, path): |
+ self.version += 1 |
+ if path in self.server2_dirs: |
+ server2_dirs[path] += 1 |
+ |
+class RevisionPinnerTest(unittest.TestCase): |
+ def setUp(self): |
+ self._fs = FakeVersionedFileSystem() |
+ self._pinner = RevisionPinner('test', |
+ self._fs, |
+ ..., |
+ self._fs.server2_dirs.keys()) |
+ |
+ def testOnStartup(self): |
+ self.assertEqual(1, self._fs.GetRevision()) |
+ self.assertEqual(None, self._fs.GetPinned()) |
+ |
+ def testAfterSingleUpdate(self): |
+ self._fs.Update() |
+ self.assertEqual(1, self._fs.GetRevision()) |
+ self.assertEqual(None, self._fs.GetPinned()) |
+ |
+ def test |
+ |
+if __name__ == '__main__': |
+ unittest.main() |