Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(46)

Unified Diff: tools/telemetry/third_party/gsutilz/third_party/protorpc/protorpc/generate_test.py

Issue 1264873003: Add gsutil/third_party to telemetry/third_party/gsutilz/third_party. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove httplib2 Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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()

Powered by Google App Engine
This is Rietveld 408576698