Index: tools/telemetry/third_party/gsutilz/third_party/protorpc/protorpc/generate_test.py |
diff --git a/tools/telemetry/third_party/gsutilz/third_party/protorpc/protorpc/generate_test.py b/tools/telemetry/third_party/gsutilz/third_party/protorpc/protorpc/generate_test.py |
new file mode 100755 |
index 0000000000000000000000000000000000000000..7b9893a1630813169d7f7009cdbcb3fd68e6bd03 |
--- /dev/null |
+++ b/tools/telemetry/third_party/gsutilz/third_party/protorpc/protorpc/generate_test.py |
@@ -0,0 +1,152 @@ |
+#!/usr/bin/env python |
+# |
+# Copyright 2010 Google Inc. |
+# |
+# Licensed under the Apache License, Version 2.0 (the "License"); |
+# you may not use this file except in compliance with the License. |
+# You may obtain a copy of the License at |
+# |
+# http://www.apache.org/licenses/LICENSE-2.0 |
+# |
+# Unless required by applicable law or agreed to in writing, software |
+# distributed under the License is distributed on an "AS IS" BASIS, |
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
+# See the License for the specific language governing permissions and |
+# limitations under the License. |
+# |
+ |
+"""Tests for protorpc.generate.""" |
+ |
+__author__ = 'rafek@google.com (Rafe Kaplan)' |
+ |
+import operator |
+ |
+import cStringIO |
+import sys |
+import unittest |
+ |
+from protorpc import generate |
+from protorpc import test_util |
+ |
+ |
+class ModuleInterfaceTest(test_util.ModuleInterfaceTest, |
+ test_util.TestCase): |
+ |
+ MODULE = generate |
+ |
+ |
+class IndentWriterTest(test_util.TestCase): |
+ |
+ def setUp(self): |
+ self.out = cStringIO.StringIO() |
+ self.indent_writer = generate.IndentWriter(self.out) |
+ |
+ def testWriteLine(self): |
+ self.indent_writer.write_line('This is a line') |
+ self.indent_writer.write_line('This is another line') |
+ |
+ self.assertEquals('This is a line\n' |
+ 'This is another line\n', |
+ self.out.getvalue()) |
+ |
+ def testLeftShift(self): |
+ self.run_count = 0 |
+ def mock_write_line(line): |
+ self.run_count += 1 |
+ self.assertEquals('same as calling write_line', line) |
+ |
+ self.indent_writer.write_line = mock_write_line |
+ self.indent_writer << 'same as calling write_line' |
+ self.assertEquals(1, self.run_count) |
+ |
+ def testIndentation(self): |
+ self.indent_writer << 'indent 0' |
+ self.indent_writer.begin_indent() |
+ self.indent_writer << 'indent 1' |
+ self.indent_writer.begin_indent() |
+ self.indent_writer << 'indent 2' |
+ self.indent_writer.end_indent() |
+ self.indent_writer << 'end 2' |
+ self.indent_writer.end_indent() |
+ self.indent_writer << 'end 1' |
+ self.assertRaises(generate.IndentationError, |
+ self.indent_writer.end_indent) |
+ |
+ self.assertEquals('indent 0\n' |
+ ' indent 1\n' |
+ ' indent 2\n' |
+ ' end 2\n' |
+ 'end 1\n', |
+ self.out.getvalue()) |
+ |
+ def testBlankLine(self): |
+ self.indent_writer << '' |
+ self.indent_writer.begin_indent() |
+ self.indent_writer << '' |
+ self.assertEquals('\n\n', self.out.getvalue()) |
+ |
+ def testNoneInvalid(self): |
+ self.assertRaises( |
+ TypeError, operator.lshift, self.indent_writer, None) |
+ |
+ def testAltIndentation(self): |
+ self.indent_writer = generate.IndentWriter(self.out, indent_space=3) |
+ self.indent_writer << 'indent 0' |
+ self.assertEquals(0, self.indent_writer.indent_level) |
+ self.indent_writer.begin_indent() |
+ self.indent_writer << 'indent 1' |
+ self.assertEquals(1, self.indent_writer.indent_level) |
+ self.indent_writer.begin_indent() |
+ self.indent_writer << 'indent 2' |
+ self.assertEquals(2, self.indent_writer.indent_level) |
+ self.indent_writer.end_indent() |
+ self.indent_writer << 'end 2' |
+ self.assertEquals(1, self.indent_writer.indent_level) |
+ self.indent_writer.end_indent() |
+ self.indent_writer << 'end 1' |
+ self.assertEquals(0, self.indent_writer.indent_level) |
+ self.assertRaises(generate.IndentationError, |
+ self.indent_writer.end_indent) |
+ self.assertEquals(0, self.indent_writer.indent_level) |
+ |
+ self.assertEquals('indent 0\n' |
+ ' indent 1\n' |
+ ' indent 2\n' |
+ ' end 2\n' |
+ 'end 1\n', |
+ self.out.getvalue()) |
+ |
+ def testIndent(self): |
+ self.indent_writer << 'indent 0' |
+ self.assertEquals(0, self.indent_writer.indent_level) |
+ |
+ def indent1(): |
+ self.indent_writer << 'indent 1' |
+ self.assertEquals(1, self.indent_writer.indent_level) |
+ |
+ def indent2(): |
+ self.indent_writer << 'indent 2' |
+ self.assertEquals(2, self.indent_writer.indent_level) |
+ test_util.do_with(self.indent_writer.indent(), indent2) |
+ |
+ self.assertEquals(1, self.indent_writer.indent_level) |
+ self.indent_writer << 'end 2' |
+ test_util.do_with(self.indent_writer.indent(), indent1) |
+ |
+ self.assertEquals(0, self.indent_writer.indent_level) |
+ self.indent_writer << 'end 1' |
+ |
+ self.assertEquals('indent 0\n' |
+ ' indent 1\n' |
+ ' indent 2\n' |
+ ' end 2\n' |
+ 'end 1\n', |
+ self.out.getvalue()) |
+ |
+ |
+def main(): |
+ unittest.main() |
+ |
+ |
+if __name__ == '__main__': |
+ main() |