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

Unified Diff: Tools/Scripts/webkitpy/formatter/main_unittest.py

Issue 546613003: Add a new 'format-webkitpy' command that will reformat code to the style guide. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: remove hack from test/main.py Created 6 years, 3 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
« no previous file with comments | « Tools/Scripts/webkitpy/formatter/main.py ('k') | Tools/Scripts/webkitpy/thirdparty/README.chromium » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Tools/Scripts/webkitpy/formatter/main_unittest.py
diff --git a/Tools/Scripts/webkitpy/formatter/main_unittest.py b/Tools/Scripts/webkitpy/formatter/main_unittest.py
new file mode 100644
index 0000000000000000000000000000000000000000..ff6b8a2970e44ee6c29cc12e6cbbaa39c1fc4014
--- /dev/null
+++ b/Tools/Scripts/webkitpy/formatter/main_unittest.py
@@ -0,0 +1,86 @@
+# Copyright 2014 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 StringIO
+import unittest
+
+from webkitpy.common.system.systemhost_mock import MockSystemHost
+from webkitpy.formatter.main import main
+
+
+ACTUAL_INPUT = '''
+def foo():
+ """triple-quoted docstring"""
+ try:
+ bar = "bar"
+ long_list = ['this is a list of strings that should be wrapped', "and consistently quoted"]
+ longer_list = ['this is a list of strings that should be wrapped', "and consistently quoted", "because it's important to test quoting"]
+ except Exception, e:
+ pass
+'''
+
+
+EXPECTED_BLINK_OUTPUT = '''
+def foo():
+ """triple-quoted docstring"""
+ try:
+ bar = 'bar'
+ long_list = ['this is a list of strings that should be wrapped', 'and consistently quoted']
+ longer_list = [
+ 'this is a list of strings that should be wrapped',
+ 'and consistently quoted',
+ "because it's important to test quoting"]
+ except Exception as e:
+ pass
+'''
+
+
+EXPECTED_CHROMIUM_OUTPUT = '''
+def foo():
+ """triple-quoted docstring"""
+ try:
+ bar = "bar"
+ long_list = [
+ "this is a list of strings that should be wrapped",
+ "and consistently quoted"]
+ longer_list = [
+ "this is a list of strings that should be wrapped",
+ "and consistently quoted",
+ "because it's important to test quoting"]
+ except Exception as e:
+ pass
+'''
+
+
+class TestMain(unittest.TestCase):
+ maxDiff = 4096
+
+ def test_stdin_blink(self):
+ host = MockSystemHost()
+ host.stdin = StringIO.StringIO(ACTUAL_INPUT)
+ main(host, ['-'])
+ self.assertMultiLineEqual(host.stdout.getvalue(), EXPECTED_BLINK_OUTPUT)
+
+ def test_stdin_chromium(self):
+ host = MockSystemHost()
+ host.stdin = StringIO.StringIO(ACTUAL_INPUT)
+ main(host, ['--chromium', '-'])
+ self.assertMultiLineEqual(host.stdout.getvalue(), EXPECTED_CHROMIUM_OUTPUT)
+
+ def test_files_blink(self):
+ host = MockSystemHost()
+ host.filesystem.files = {
+ 'test.py': ACTUAL_INPUT}
+ main(host, ['test.py'])
+ self.assertEqual(host.filesystem.files, {
+ 'test.py': EXPECTED_BLINK_OUTPUT,
+ 'test.py.bak': ACTUAL_INPUT})
+
+ def test_files_blink_no_backup(self):
+ host = MockSystemHost()
+ host.filesystem.files = {
+ 'test.py': ACTUAL_INPUT}
+ main(host, ['--no-backups', 'test.py'])
+ self.assertEqual(host.filesystem.files, {
+ 'test.py': EXPECTED_BLINK_OUTPUT})
« no previous file with comments | « Tools/Scripts/webkitpy/formatter/main.py ('k') | Tools/Scripts/webkitpy/thirdparty/README.chromium » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698