Esempio n. 1
0
    def test_sort_items(self):
        n = node.List()

        sub_a = n.add('a', sort=3)
        sub_b = n.add('b', sort=0)
        sub_c = n.add('c', sort=5)
        sub_d = n.add('d', sort=1)
        sub_e = n.add('e', sort=2)
        sub_f = n.add('f', sort=4)

        n.sort_items()

        self.assertEqual(sub_a.id, n.items[0].id)
        self.assertEqual(sub_b.id, n.items[1].id)
        self.assertEqual(sub_c.id, n.items[2].id)
        self.assertEqual(sub_d.id, n.items[3].id)
        self.assertEqual(sub_e.id, n.items[4].id)
        self.assertEqual(sub_f.id, n.items[5].id)

        n = node.List()

        sub_a = n.add('a', sort=3)
        sub_ba = sub_a.add('ba', sort=3)
        sub_aa = sub_a.add('aa', sort=2)
        sub_b = n.add('b', sort=4)
        sub_bd = sub_b.add('bd', sort=4)
        sub_bc = sub_b.add('bc', sort=3)

        n.sort_items()

        self.assertEqual(sub_a.id, n.items[0].id)
        self.assertEqual(sub_aa.id, n.items[1].id)
        self.assertEqual(sub_ba.id, n.items[2].id)
        self.assertEqual(sub_b.id, n.items[3].id)
        self.assertEqual(sub_bc.id, n.items[4].id)
        self.assertEqual(sub_bd.id, n.items[5].id)

        n = node.List()

        time_1 = n.add('test1')
        time_2 = n.add('test2')
        time_3 = n.add('test3')

        n.sort_items(key=attrgetter('timestamps.created'), reverse=True)

        self.assertEqual(time_3.id, n.items[0].id)
        self.assertEqual(time_2.id, n.items[1].id)
        self.assertEqual(time_1.id, n.items[2].id)
Esempio n. 2
0
    def test_indent(self):
        n = node.List()

        TEXT = 'Test'

        clean_node(n)
        sub_a = node.ListItem()
        clean_node(sub_a)

        sub_b = n.add(TEXT)
        clean_node(sub_b)

        with self.assertRaises(exception.InvalidException):
            sub_a.add(sub_b)

        sub_c = sub_b.add(TEXT)
        self.assertIsInstance(sub_c, node.ListItem)

        clean_node(sub_b)
        sub_a.indent(sub_b)
        self.assertFalse(sub_b.dirty)

        clean_node(sub_b)
        sub_a.dedent(sub_b)
        self.assertFalse(sub_b.dirty)

        clean_node(sub_c)
        sub_b.dedent(sub_c)
        self.assertTrue(sub_c.dirty)
Esempio n. 3
0
    def test_fields(self):
        n = node.List()

        TEXT = 'Text'

        clean_node(n)
        n.add('Text')
        self.assertTrue(n.dirty)
        self.assertEqual(u'☐ %s' % TEXT, n.text)
Esempio n. 4
0
    def test_fields(self):
        n = node.List()

        TEXT = 'Text'

        clean_node(n)
        sub_a = n.add(TEXT, sort=1)
        sub_b = n.add(TEXT, True, sort=2)
        self.assertTrue(n.dirty)

        self.assertEqual([sub_b], n.checked)
        self.assertEqual([sub_a], n.unchecked)
Esempio n. 5
0
    def test_str(self):
        n = node.List()

        TITLE = 'Title'

        n.title = TITLE
        sub_a = n.add('a', sort=0)
        sub_b = n.add('b', sort=0)
        sub_c = n.add('c', sort=1)
        sub_d = n.add('d', sort=2)
        sub_e = n.add('e', sort=3)
        sub_f = n.add('f', sort=4)
        sub_g = n.add('g', sort=node.NewListItemPlacementValue.Bottom)

        sub_c.indent(sub_d)
        sub_f.indent(sub_e)

        self.assertEqual('%s\n☐ f\n  ☐ e\n☐ c\n  ☐ d\n☐ a\n☐ b\n☐ g' % TITLE,
                         str(n))
        self.assertEqual('☐ f\n  ☐ e\n☐ c\n  ☐ d\n☐ a\n☐ b\n☐ g', n.text)
Esempio n. 6
0
    def test_dirty(self):
        n = node.List()

        clean_node(n)
        n.add('')
        self.assertTrue(n.dirty)