Index: testing_support/tests/auto_stub_test.py |
diff --git a/testing_support/tests/auto_stub_test.py b/testing_support/tests/auto_stub_test.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..a3d6aef1992b4cef01ae07db6add3e908b8d066b |
--- /dev/null |
+++ b/testing_support/tests/auto_stub_test.py |
@@ -0,0 +1,46 @@ |
+# Copyright 2015 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 sys |
+import unittest |
+ |
+from testing_support import auto_stub |
+ |
+ |
+class MockedObject(auto_stub.SimpleMock): |
+ def method1(self, *args, **kwargs): |
+ self._register_call(*args, **kwargs) |
+ |
+ |
+class TestSimpleMock(unittest.TestCase): |
+ def test_auto_mock(self): |
+ obj = MockedObject(self) |
+ obj.method1(1, param=2) |
+ obj.check_calls(['method1(1, param=2)']) |
+ |
+def return_one(): |
+ return 1 |
+ |
+def return_two(): |
+ return 2 |
+ |
+class TestAutoStubTestCase(auto_stub.TestCase): |
+ def test_mock_method(self): |
+ # mock one function |
+ self.assertEqual(return_one(), 1) |
+ self.mock(sys.modules[__name__], 'return_one', lambda: 'mocked') |
+ self.assertEqual(return_one(), 'mocked') |
+ auto_stub.TestCase.tearDown(self) |
+ self.assertEqual(return_one(), 1) |
+ |
+ # mock two functions |
+ self.assertEqual(return_one(), 1) |
+ self.assertEqual(return_two(), 2) |
+ self.mock(sys.modules[__name__], 'return_one', lambda: 'mocked1') |
+ self.mock(sys.modules[__name__], 'return_two', lambda: 'mocked2') |
+ self.assertEqual(return_one(), 'mocked1') |
+ self.assertEqual(return_two(), 'mocked2') |
+ auto_stub.TestCase.tearDown(self) |
+ self.assertEqual(return_one(), 1) |
+ self.assertEqual(return_two(), 2) |