Commits

Anonymous committed dfea3e3

worder: fixed finding the start of empty string literals

Comments (0)

Files changed (2)

rope/base/worder.py

     def _find_string_start(self, offset):
         kind = self.code[offset]
         try:
-            return self.code.rindex(kind, 0, offset - 1)
+            return self.code.rindex(kind, 0, offset)
         except ValueError:
             return 0
 

ropetest/codeanalyzetest.py

         finder = worder.Worder(code)
         self.assertEquals(1, finder.find_parens_start_from_inside(2))
 
+    def test_underlined_find_parens_start(self):
+        code = 'f(p="")\n'
+        finder = worder.Worder(code)
+        self.assertEquals(1, finder._find_parens_start(len(code) - 2))
+
     def test_find_parens_start_with_multiple_entries(self):
         code = 'myfunc(p1, p2, p3\n'
         finder = worder.Worder(code)