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)
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)
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, ';')
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
def test_CanDetectIfItsEmpty(self): node = RangeNode() self.assertTrue(node.is_empty)