Ejemplo n.º 1
0
 def test_unicode_in_defn(self):
     self.doc.buffer, self.positions = unmark_text(dedent(u"""
         #Ůɳíčóďé<3>
         my $pCnt = 0;<1>
         # Some filler text to make sure we do not accidentally find the
         # previous definition
         $p<2>Cnt++;
         """).strip())
     self.assertGreater(self.positions[3], len("#Unicode"),
                        "Unicode positions are character positions "
                        "instead of byte positions")
     spinner = AsyncSpinner(self, callback=partial(setattr, self, "trg"))
     with spinner:
         self.buf.defn_trg_from_pos(self.positions[2], spinner)
     self.assertIsNotNone(self.trg)
     self.assertEqual(self.trg.form, TRG_FORM_DEFN)
     handler = UIHandler(spinner)
     with spinner:
         spinner.callback = None
         self.buf.async_eval_at_trg(self.trg, handler,
                                    Ci.koICodeIntelBuffer.EVAL_SILENT)
     self.assertEqual(len(handler.defns), 1)
     self.assertEqual(handler.defns[0].lang, "Perl")
     self.assertEqual(handler.defns[0].name, "$pCnt")
     self.assertEqual([handler.defns[0].line],
                      lines_from_pos(self.doc.buffer, [self.positions[1]]))
     self.assertEqual(handler.defns[0].ilk, "variable")
Ejemplo n.º 2
0
 def test_unicode_in_defn(self):
     self.doc.buffer, self.positions = unmark_text(dedent(u"""
         #Ůɳíčóďé<3>
         my $pCnt = 0;<1>
         # Some filler text to make sure we do not accidentally find the
         # previous definition
         $p<2>Cnt++;
         """).strip())
     self.assertGreater(self.positions[3], len("#Unicode"),
                        "Unicode positions are character positions "
                        "instead of byte positions")
     spinner = AsyncSpinner(self, callback=partial(setattr, self, "trg"))
     with spinner:
         self.buf.defn_trg_from_pos(self.positions[2], spinner)
     self.assertIsNotNone(self.trg)
     self.assertEqual(self.trg.form, TRG_FORM_DEFN)
     handler = UIHandler(spinner)
     with spinner:
         spinner.callback = None
         self.buf.async_eval_at_trg(self.trg, handler,
                                    Ci.koICodeIntelBuffer.EVAL_SILENT)
     self.assertEqual(len(handler.defns), 1)
     self.assertEqual(handler.defns[0].lang, "Perl")
     self.assertEqual(handler.defns[0].name, "$pCnt")
     self.assertEqual([handler.defns[0].line],
                      lines_from_pos(self.doc.buffer, [self.positions[1]]))
     self.assertEqual(handler.defns[0].ilk, "variable")
Ejemplo n.º 3
0
 def test_def_decl_trailing_comma(self):
     """Test having a trailing comma in a function definition; this needs to
     be invalid in Python 2 but valid in Python 3."""
     test_dir = join(self.test_dir, "def_decl_trailing_comma")
     content, pos = unmark_text(dedent("""\
         def foo<1>(arg:int,):
             arg<2>
     """))
     path = join(test_dir, "def_decl_trailing_comma.py")
     writefile(path, content)
     buf = self.mgr.buf_from_path(path, lang=self.lang)
     lines = lines_from_pos(content, pos)
     self.assertDefnMatches2(buf, pos[2], line=lines[1],
                             ilk="argument", name="arg", path=path)
Ejemplo n.º 4
0
 def test_defn(self):
     spinner = AsyncSpinner(self, callback=partial(setattr, self, "trg"))
     with spinner:
         self.buf.defn_trg_from_pos(self.positions[3], spinner)
     self.assertIsNotNone(self.trg)
     self.assertEqual(self.trg.form, TRG_FORM_DEFN)
     handler = UIHandler(spinner)
     with spinner:
         spinner.callback = None
         self.buf.async_eval_at_trg(self.trg, handler,
                                    Ci.koICodeIntelBuffer.EVAL_SILENT)
     self.assertEqual(len(handler.defns), 1)
     self.assertEqual(handler.defns[0].lang, "Python")
     self.assertEqual(handler.defns[0].name, "indent")
     self.assertEqual([handler.defns[0].line],
                      lines_from_pos(self.doc.buffer, [self.positions[5]]))
     self.assertEqual(handler.defns[0].ilk, "variable")
Ejemplo n.º 5
0
 def test_defn(self):
     spinner = AsyncSpinner(self, callback=partial(setattr, self, "trg"))
     with spinner:
         self.buf.defn_trg_from_pos(self.positions[3], spinner)
     self.assertIsNotNone(self.trg)
     self.assertEqual(self.trg.form, TRG_FORM_DEFN)
     handler = UIHandler(spinner)
     with spinner:
         spinner.callback = None
         self.buf.async_eval_at_trg(self.trg, handler,
                                    Ci.koICodeIntelBuffer.EVAL_SILENT)
     self.assertEqual(len(handler.defns), 1)
     self.assertEqual(handler.defns[0].lang, "Python")
     self.assertEqual(handler.defns[0].name, "indent")
     self.assertEqual([handler.defns[0].line],
                      lines_from_pos(self.doc.buffer, [self.positions[5]]))
     self.assertEqual(handler.defns[0].ilk, "variable")
Ejemplo n.º 6
0
 def test_def_decl_trailing_comma(self):
     """Test having a trailing comma in a function definition; this needs to
     be invalid in Python 2 but valid in Python 3."""
     test_dir = join(self.test_dir, "def_decl_trailing_comma")
     content, pos = unmark_text(
         dedent("""\
         def foo<1>(arg:int,):
             arg<2>
     """))
     path = join(test_dir, "def_decl_trailing_comma.py")
     writefile(path, content)
     buf = self.mgr.buf_from_path(path, lang=self.lang)
     lines = lines_from_pos(content, pos)
     self.assertDefnMatches2(buf,
                             pos[2],
                             line=lines[1],
                             ilk="argument",
                             name="arg",
                             path=path)