Esempio n. 1
0
 def test_merge(self):
     DATA0 = ['one', 'two', 'three', 'four']
     DATA1 = ['one', 'three', 'five', 'seven']
     c = Classes(DATA0)
     c.merge(DATA1)
     assert len(c) == 6
     assert c[:4] == DATA0
     assert c[4] == DATA1[2]
     assert c[5] == DATA1[3]
Esempio n. 2
0
    def _populate_with_class_mappings(self, nodename):
        if not self._class_mappings:
            return Entity(name="empty")
        c = Classes()
        for mapping in self._class_mappings:
            matched = False
            key, klasses = Core._shlex_split(mapping)
            if key[0] == ("/"):
                matched = Core._match_regexp(key[1:-1], nodename)
                if matched:
                    for klass in klasses:
                        c.append_if_new(matched.expand(klass))

            else:
                if Core._match_glob(key, nodename):
                    for klass in klasses:
                        c.append_if_new(klass)

        return Entity(classes=c, name="class mappings for node {0}".format(nodename))
Esempio n. 3
0
    def _get_class_mappings_entity(self, nodename):
        if not self._class_mappings:
            return Entity(name='empty (class mappings)')
        c = Classes()
        for mapping in self._class_mappings:
            matched = False
            key, klasses = Core._shlex_split(mapping)
            if key[0] == ('/'):
                matched = Core._match_regexp(key[1:-1], nodename)
                if matched:
                    for klass in klasses:
                        c.append_if_new(matched.expand(klass))

            else:
                if Core._match_glob(key, nodename):
                    for klass in klasses:
                        c.append_if_new(klass)

        return Entity(classes=c,
                      name='class mappings for node {0}'.format(nodename))
Esempio n. 4
0
    def _get_class_mappings_entity(self, entity):
        if not self._class_mappings:
            return Entity(self._settings, name='empty (class mappings)')
        c = Classes()
        if self._settings.class_mappings_match_path:
            matchname = entity.pathname
        else:
            matchname = entity.name
        for mapping in self._class_mappings:
            matched = False
            key, klasses = Core._shlex_split(mapping)
            if key[0] == ('/'):
                matched = Core._match_regexp(key[1:-1], matchname)
                if matched:
                    for klass in klasses:
                        c.append_if_new(matched.expand(klass))

            else:
                if Core._match_glob(key, matchname):
                    for klass in klasses:
                        c.append_if_new(klass)

        return Entity(self._settings,
                      classes=c,
                      name='class mappings for node {0}'.format(entity.name))
Esempio n. 5
0
    def _populate_with_class_mappings(self, nodename):
        if not self._class_mappings:
            return Entity(name='empty')
        c = Classes()
        for mapping in self._class_mappings:
            matched = False
            key, klasses = Core._shlex_split(mapping)
            if key[0] == ('/'):
                matched = Core._match_regexp(key[1:-1], nodename)
                if matched:
                    for klass in klasses:
                        c.append_if_new(matched.expand(klass))

            else:
                if Core._match_glob(key, nodename):
                    for klass in klasses:
                        c.append_if_new(klass)

        return Entity(classes=c,
                      name='class mappings for node {0}'.format(nodename))
Esempio n. 6
0
 def test_constructor(self):
     with mock.patch.object(Classes, 'merge_unique') as m:
         c = Classes(TESTLIST1)
         m.assert_called_once_with(TESTLIST1)
Esempio n. 7
0
 def test_append_if_new_nonstring(self):
     c = Classes()
     with self.assertRaises(TypeError):
         c.append_if_new(0)
Esempio n. 8
0
 def test_as_list(self):
     c = Classes(TESTLIST1)
     self.assertListEqual(c.as_list(), TESTLIST1)
Esempio n. 9
0
 def test_append_if_new_duplicate(self):
     c = Classes(TESTLIST1)
     c.append_if_new(TESTLIST1[0])
     self.assertEqual(len(c), len(TESTLIST1))
     self.assertSequenceEqual(c, TESTLIST1)
Esempio n. 10
0
 def test_merge_unique_nonstring(self):
     c = Classes()
     with self.assertRaises(TypeError):
         c.merge_unique([0, 1, 2])
Esempio n. 11
0
 def test_inequality(self):
     self.assertNotEqual(Classes(TESTLIST1), Classes(TESTLIST2))
Esempio n. 12
0
 def test_append_if_new(self):
     c = Classes()
     c.append_if_new(TESTLIST1[0])
     self.assertEqual(len(c), 1)
     self.assertSequenceEqual(c, TESTLIST1[:1])
Esempio n. 13
0
 def test_equality_list_empty(self):
     self.assertEqual(Classes(), [])
Esempio n. 14
0
 def test_equality_instance_empty(self):
     self.assertEqual(Classes(), Classes())
Esempio n. 15
0
 def test_append_invalid_characters(self):
     c = Classes()
     invalid_name = ' '.join(('foo', 'bar'))
     with self.assertRaises(InvalidClassnameError) as e:
         c.append_if_new(invalid_name)
     self.assertEqual(e.exception.message, "Invalid character ' ' in class name 'foo bar'.")
Esempio n. 16
0
 def test_merge_unique_duplicate2_instance(self):
     c = Classes(TESTLIST1)
     c.merge_unique(Classes(TESTLIST2 + TESTLIST2))
     self.assertSequenceEqual(c, TESTLIST1 + TESTLIST2)
Esempio n. 17
0
 def test_merge_unique_duplicate1_list(self):
     c = Classes(TESTLIST1)
     c.merge_unique(TESTLIST1)
     self.assertSequenceEqual(c, TESTLIST1)
Esempio n. 18
0
 def test_merge_unique(self):
     c = Classes(TESTLIST1)
     c.merge_unique(TESTLIST2)
     self.assertSequenceEqual(c, TESTLIST1 + TESTLIST2)
Esempio n. 19
0
 def test_append_invalid_characters(self):
     c = Classes()
     invalid_name = ' '.join(('foo', 'bar'))
     with self.assertRaises(InvalidClassnameError):
         c.append_if_new(invalid_name)
Esempio n. 20
0
 def test_equality_list(self):
     self.assertEqual(Classes(TESTLIST1), TESTLIST1)
Esempio n. 21
0
 def test_append_invalid_characters(self):
     c = Classes()
     invalid_name = ' '.join(('foo', 'bar'))
     with self.assertRaises(InvalidClassnameError):
         c.append_if_new(invalid_name)
Esempio n. 22
0
 def test_equality_instance(self):
     self.assertEqual(Classes(TESTLIST1), Classes(TESTLIST1))
Esempio n. 23
0
 def test_append_if_new_nonstring(self):
     c = Classes()
     with self.assertRaises(TypeError):
         c.append_if_new(0)
Esempio n. 24
0
 def test_construct_duplicates(self):
     c = Classes(TESTLIST1 + TESTLIST1)
     self.assertSequenceEqual(c, TESTLIST1)
Esempio n. 25
0
 def test_merge_unique_duplicate1_list(self):
     c = Classes(TESTLIST1)
     c.merge_unique(TESTLIST1)
     self.assertSequenceEqual(c, TESTLIST1)
Esempio n. 26
0
 def test_append_if_new_duplicate(self):
     c = Classes(TESTLIST1)
     c.append_if_new(TESTLIST1[0])
     self.assertEqual(len(c), len(TESTLIST1))
     self.assertSequenceEqual(c, TESTLIST1)
Esempio n. 27
0
 def test_append_if_new(self):
     c = Classes()
     c.append_if_new(TESTLIST1[0])
     self.assertEqual(len(c), 1)
     self.assertSequenceEqual(c, TESTLIST1[:1])
Esempio n. 28
0
 def test_merge_unique(self):
     c = Classes(TESTLIST1)
     c.merge_unique(TESTLIST2)
     self.assertSequenceEqual(c, TESTLIST1 + TESTLIST2)
Esempio n. 29
0
 def test_repr_contents(self):
     c = Classes(TESTLIST1)
     self.assertEqual('%r' % c,
                      '%s(%r)' % (c.__class__.__name__, TESTLIST1))
Esempio n. 30
0
 def test_merge_unique_duplicate2_instance(self):
     c = Classes(TESTLIST1)
     c.merge_unique(Classes(TESTLIST2 + TESTLIST2))
     self.assertSequenceEqual(c, TESTLIST1 + TESTLIST2)
Esempio n. 31
0
 def test_as_list(self):
     c = Classes(TESTLIST1)
     self.assertListEqual(c.as_list(), TESTLIST1)
Esempio n. 32
0
 def test_repr_empty(self):
     c = Classes()
     self.assertEqual('%r' % c, '%s(%r)' % (c.__class__.__name__, []))
Esempio n. 33
0
 def test_len_empty(self):
     with mock.patch.object(Classes, 'merge_unique') as m:
         c = Classes()
         self.assertEqual(len(c), 0)
         self.assertFalse(m.called)
Esempio n. 34
0
 def _make_instances(self, Classes, Applications, Parameters, Exports):
     return Classes(), Applications(), Parameters(), Exports()
Esempio n. 35
0
 def test_merge_unique_nonstring(self):
     c = Classes()
     with self.assertRaises(TypeError):
         c.merge_unique([0,1,2])