Beispiel #1
0
 def testCanInstantiate(self):
     range_node = RangeNode("foo", "bar", False)
     range_node.start_offset = [10]
     range_node.end_offset = [10]
     command = TokenCommandSubstitute({})
     node = CommandLineNode(range_node, command)
     self.assertEqual(range_node, node.line_range)
     self.assertEqual(command, node.command)
Beispiel #2
0
 def testCanInstantiate(self):
     range_node = RangeNode("foo", "bar", False)
     range_node.start_offset = [10]
     range_node.end_offset = [10]
     command = TokenCommandSubstitute({})
     node = CommandLineNode(range_node, command)
     self.assertEqual(range_node, node.line_range)
     self.assertEqual(command, node.command)
Beispiel #3
0
 def testCanInstantiate(self):
     node = RangeNode('foo', 'bar', ';')
     node.start_offset = [10]
     node.end_offset = [10]
     self.assertEqual(node.start, 'foo')
     self.assertEqual(node.end, 'bar')
     self.assertEqual(node.start_offset, [10])
     self.assertEqual(node.end_offset, [10])
     self.assertEqual(node.separator, ';')
Beispiel #4
0
 def testCanInstantiate(self):
     node = RangeNode('foo', 'bar', ';')
     node.start_offset = [10]
     node.end_offset = [10]
     self.assertEqual(node.start, 'foo')
     self.assertEqual(node.end, 'bar')
     self.assertEqual(node.start_offset, [10])
     self.assertEqual(node.end_offset, [10])
     self.assertEqual(node.separator, ';')
Beispiel #5
0
    def testRetursCurrentLineIfRangeIsEmpty2(self):
        self.write('''aaa aaa
bbb bbb
ccc ccc
''')
        self.clear_sel()
        self.add_sel(self.R((1, 0), (1, 0)))
        region = RangeNode().resolve(self.view)
        self.assert_equal_regions(self.R(8, 16), region)
Beispiel #6
0
    def testRetursWholeBufferIfPercentRequested(self):
        self.write('''aaa aaa
bbb bbb
ccc ccc
ddd ddd
''')
        self.clear_sel()
        self.add_sel(self.R((0, 0), (0, 0)))
        region = RangeNode(start=[TokenPercent()]).resolve(self.view)
        self.assert_equal_regions(self.R(0, 32), region)
Beispiel #7
0
    def testFailedSearchThrows(self):
        self.write('''aaa aaa
bbb bbb
ccc cat
ddd cat
''')
        self.clear_sel()
        self.add_sel(self.R(self.view.size()))
        line_range = RangeNode(start=[TokenSearchBackward('dog')])
        self.assertRaises(ValueError, line_range.resolve, self.view)
Beispiel #8
0
    def testRetursRequestedStartLineNumber(self):
        self.write('''aaa aaa
bbb bbb
ccc ccc
ddd ddd
''')
        self.clear_sel()
        self.add_sel(self.R((0, 0), (0, 0)))
        region = RangeNode(start=[TokenDigits('2')]).resolve(self.view)
        self.assert_equal_regions(self.R(8, 16), region)
Beispiel #9
0
    def testRetursCurrentLineIfRangeIsEmptyAndAddsOffsets(self):
        self.write('''aaa aaa
bbb bbb
ccc ccc
ddd ddd
''')
        self.clear_sel()
        self.add_sel(self.R((0, 0), (0, 0)))
        region = RangeNode(start=[TokenOffset([2])]).resolve(self.view)
        self.assert_equal_regions(self.R(16, 24), region)
Beispiel #10
0
    def testCanCalculateVisualEnd(self):
        self.write('''xxx xxx
aaa aaa
xxx xxx
bbb bbb
''')
        self.clear_sel()
        self.add_sel(self.R(8, 10))
        region = RangeNode(start=[TokenMark(">")]).resolve(self.view)
        self.assert_equal_regions(self.R(8, 16), region)
Beispiel #11
0
    def testCanCalculateVisualStart(self):
        self.write('''xxx xxx
aaa aaa
xxx xxx
bbb bbb
''')
        self.clear_sel()
        self.add_sel(self.R(8, 10))
        region = RangeNode(start=[TokenDigits('0')]).resolve(self.view)
        self.assert_equal_regions(self.R(-1, -1), region)
Beispiel #12
0
    def testCanSearchForward(self):
        self.write('''aaa aaa
bbb bbb
ccc cat
ddd cat
''')
        self.clear_sel()
        self.add_sel(self.R((0, 0), (0, 0)))
        region = RangeNode(start=[TokenSearchForward('cat')]).resolve(
            self.view)
        self.assert_equal_regions(self.R(16, 24), region)
Beispiel #13
0
    def testCanSearchForwardWithOffset(self):
        self.write('''aaa aaa
bbb bbb
ccc cat
ddd ddd
''')
        self.clear_sel()
        self.add_sel(self.R((0, 0), (0, 0)))
        region = RangeNode(start=[TokenSearchForward('cat'),
                                  TokenOffset([1])]).resolve(self.view)
        self.assert_equal_regions(self.R(24, 32), region)
Beispiel #14
0
    def testCanCalculateVisualStartWithMultipleSels(self):
        self.write('''xxx xxx
aaa aaa
xxx xxx
bbb bbb
xxx xxx
ccc ccc
''')
        self.clear_sel()
        self.add_sel(self.R(8, 10))
        self.add_sel(self.R(24, 27))
        region = RangeNode(start=[TokenMark("<")]).resolve(self.view)
        self.assert_equal_regions(self.R(8, 16), region)
Beispiel #15
0
    def testCanSearchMultipleTimesBackward(self):
        self.write('''aaa aaa
bbb bbb
ccc cat
ddd cat
eee eee
fff fff
''')
        self.clear_sel()
        self.add_sel(self.R(self.view.size()))
        region = RangeNode(
            start=[TokenSearchBackward('cat'),
                   TokenSearchBackward('cat')]).resolve(self.view)
        self.assert_equal_regions(self.R(16, 24), region)
Beispiel #16
0
    def testCanSearchMultipleTimesForward(self):
        self.write('''aaa aaa
bbb bbb
ccc cat
ddd ddd
eee eee
fff cat
''')
        self.clear_sel()
        self.add_sel(self.R((0, 0), (0, 0)))
        region = RangeNode(
            start=[TokenSearchForward('cat'),
                   TokenSearchForward('cat')]).resolve(self.view)
        self.assert_equal_regions(self.R(40, 48), region)
Beispiel #17
0
 def test_CanDetectIfItsEmpty(self):
     node = RangeNode()
     self.assertTrue(node.is_empty)