예제 #1
0
    def test_index_of_layer_containing_tag(self):
        stack = []
        l1, l2, l3 = layer.Layer(stack), layer.Layer(stack), layer.Layer(stack)
        l1.tags, l1.text = {tag_m}, '...'
        l2.tags, l2.text = {tag_i, tag_s}, ',,,'
        l3.tags, l3.text = {tag_p}, '---'

        fn = partial(tag.index_of_layer_containing_tag, stack)
        self.assertEqual(0, fn(tag_m.closing))
        self.assertEqual(1, fn(tag_i.closing))
        self.assertEqual(1, fn(tag_s.closing))
        self.assertEqual(2, fn(tag_p.closing))
예제 #2
0
    def test_close_one(self):
        stack = []
        l1, l2 = layer.Layer(stack), layer.Layer(stack)
        l1.tags, l1.text = (), '...'
        l2.tags, l2.text = {tag_p}, ',,,'

        expected = []
        l = layer.Layer(expected)
        l.tags, l.text = (), '...[%s],,,[/%s]' % tag_p

        closings = {tag_p.closing}
        process_closing_tags(stack, closings)
        self.assertEqual(expected, stack)
예제 #3
0
    def test_close_one(self):
        stack = []
        l1, l2 = layer.Layer(stack), layer.Layer(stack)
        l1.tags, l1.text = (), "..."
        l2.tags, l2.text = {tag_p}, ",,,"

        expected = []
        l = layer.Layer(expected)
        l.tags, l.text = (), f"...[{tag_p.opening}],,,[/{tag_p.closing}]"

        closings = {tag_p.closing}
        process_closing_tags(stack, closings)
        self.assertEqual(expected, stack)
예제 #4
0
    def test_was_opened_AND_close_tags(self):
        stack = []
        l1, l2 = layer.Layer(stack), layer.Layer(stack)
        l1.text = '...'
        l2.tags, l2.text = {tag_i}, ',,,'

        self.assertTrue(tag.was_opened(stack, tag_i))
        self.assertFalse(tag.was_opened(stack, tag.Tag('c green', 'c')))

        layer.close_tags(stack, {tag_i}, len(stack) - 1)

        expected = []
        l = layer.Layer(expected)
        l.text = '...[i],,,[/i]'
        self.assertEqual(expected, stack)
예제 #5
0
	def test_close_layer(self):
		stack = []
		l1, l2, l3 = layer.Layer(stack), layer.Layer(stack), layer.Layer(stack)
		l1.tags, l1.text = {tag_m}, '...'
		l2.tags, l2.text = {tag_i}, ',,,'
		l3.tags, l3.text = {tag_p, tag_s}, '+++'

		expected = []
		l1, l2 = layer.Layer(expected), layer.Layer(expected)
		l1.tags, l1.text = {tag_m}, '...'
		l2.tags, l2.text = {tag_i}, ',,,[%s][%s]+++[/%s][/%s]' % (
			tag_p.opening, tag_s.opening, tag_s.closing, tag_p.closing)

		layer.close_layer(stack)
		self.assertEqual(expected, stack)
예제 #6
0
    def test_was_opened_AND_close_tags(self):
        stack = []
        l1, l2 = layer.Layer(stack), layer.Layer(stack)
        l1.text = "..."
        l2.tags, l2.text = {tag_i}, ",,,"

        self.assertTrue(tag.was_opened(stack, tag_i))
        self.assertFalse(tag.was_opened(stack, tag.Tag("c green", "c")))

        layer.close_tags(stack, {tag_i}, len(stack) - 1)

        expected = []
        l = layer.Layer(expected)
        l.text = "...[i],,,[/i]"
        self.assertEqual(expected, stack)
예제 #7
0
    def test_close_layer(self):
        stack = []
        l1, l2, l3 = layer.Layer(stack), layer.Layer(stack), layer.Layer(stack)
        l1.tags, l1.text = {tag_m}, "..."
        l2.tags, l2.text = {tag_i}, ",,,"
        l3.tags, l3.text = {tag_p, tag_s}, "+++"

        expected = []
        l1, l2 = layer.Layer(expected), layer.Layer(expected)
        l1.tags, l1.text = {tag_m}, "..."
        l2.tags = {tag_i}
        l2.text = f",,,[{tag_p.opening}][{tag_s.opening}]" \
         f"+++[/{tag_s.closing}][/{tag_p.closing}]"

        layer.close_layer(stack)
        self.assertEqual(expected, stack)
예제 #8
0
 def test_new_layer(self):
     stack = []
     l = layer.Layer(stack)
     self.assertEqual(1, len(stack))
     self.assertEqual(l, stack[0])