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

Unified Diff: tools/telemetry/third_party/rope/ropetest/contrib/finderrorstest.py

Issue 1132103009: Example of refactoring using rope library. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 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/rope/ropetest/contrib/finderrorstest.py
diff --git a/tools/telemetry/third_party/rope/ropetest/contrib/finderrorstest.py b/tools/telemetry/third_party/rope/ropetest/contrib/finderrorstest.py
new file mode 100644
index 0000000000000000000000000000000000000000..494a47c918b324614e4220a074f327f7431603ab
--- /dev/null
+++ b/tools/telemetry/third_party/rope/ropetest/contrib/finderrorstest.py
@@ -0,0 +1,52 @@
+import unittest
+
+from rope.contrib import finderrors
+from ropetest import testutils
+
+
+class FindErrorsTest(unittest.TestCase):
+
+ def setUp(self):
+ super(FindErrorsTest, self).setUp()
+ self.project = testutils.sample_project()
+ self.mod = self.project.root.create_file('mod.py')
+
+ def tearDown(self):
+ testutils.remove_project(self.project)
+ super(FindErrorsTest, self).tearDown()
+
+ def test_unresolved_variables(self):
+ self.mod.write('print(var)\n')
+ result = finderrors.find_errors(self.project, self.mod)
+ self.assertEquals(1, len(result))
+ self.assertEquals(1, result[0].lineno)
+
+ def test_defined_later(self):
+ self.mod.write('print(var)\nvar = 1\n')
+ result = finderrors.find_errors(self.project, self.mod)
+ self.assertEquals(1, len(result))
+ self.assertEquals(1, result[0].lineno)
+
+ def test_ignoring_builtins(self):
+ self.mod.write('range(2)\n')
+ result = finderrors.find_errors(self.project, self.mod)
+ self.assertEquals(0, len(result))
+
+ def test_ignoring_none(self):
+ self.mod.write('var = None\n')
+ result = finderrors.find_errors(self.project, self.mod)
+ self.assertEquals(0, len(result))
+
+ def test_bad_attributes(self):
+ code = 'class C(object):\n' \
+ ' pass\n' \
+ 'c = C()\n' \
+ 'print(c.var)\n'
+ self.mod.write(code)
+ result = finderrors.find_errors(self.project, self.mod)
+ self.assertEquals(1, len(result))
+ self.assertEquals(4, result[0].lineno)
+
+
+if __name__ == '__main__':
+ unittest.main()

Powered by Google App Engine
This is Rietveld 408576698