Example #1
0
    def __test_add_uri(self, uri, expected_type):

        from cocktail.html.element import Element

        e = Element()
        e.add_resource(uri)
        self.assertEqual(len(e.resources), 1)

        resource = e.resources[0]
        self.assertEqual(resource.uri, uri)
        self.assertTrue(isinstance(resource, expected_type))
Example #2
0
    def test_resource_set(self):

        from cocktail.html.element import Element
        from cocktail.html.resources import Resource, Script

        e = Element()
        r1 = Resource("foo.js")

        # Adding the same resource object twice only adds the resource once
        e.add_resource(r1)
        e.add_resource(r1)
        self.assertEqual(e.resources, [r1])

        # Adding a different resource object with the same resource URI adds a
        # single resource
        e.add_resource(Resource("foo.js"))
        self.assertEqual(e.resources, [r1])

        # A different resource object with the same URI counts as a different
        # resource
        r2 = Script("foo.js")
        e.add_resource(r2)
        self.assertEqual(e.resources, [r1, r2])

        # Adding the same URI using a string is also ignored
        e.add_resource("foo.js")
        self.assertEqual(e.resources, [r1, r2])
Example #3
0
    def test_add_resource(self):

        from cocktail.html.element import Element
        from cocktail.html.resources import Resource

        e = Element()

        r1 = Resource("foo.js")
        e.add_resource(r1)
        self.assertEqual(e.resources, [r1])

        r2 = Resource("bar.js")
        e.add_resource(r2)
        self.assertEqual(e.resources, [r1, r2])
Example #4
0
    def test_remove_resource(self):

        from cocktail.html.element import Element
        from cocktail.html.resources import Resource

        e = Element()

        r1 = Resource("foo.js")
        e.add_resource(r1)

        r2 = Resource("bar.js")
        e.add_resource(r2)

        r3 = Resource("spam.js")
        e.add_resource(r3)

        # Elements are correctly removed
        e.remove_resource(r2)
        self.assertEqual(e.resources, [r1, r3])

        # Removing an undefined resource raises an exception
        def remove_undefined():
            e.remove_resource(r2)

        self.assertRaises(ValueError, remove_undefined)

        # Removing the remaining resources works ok
        e.remove_resource(r1)
        self.assertEqual(e.resources, [r3])

        e.remove_resource(r3)
        self.assertEqual(e.resources, [])
Example #5
0
 def add_resources(event):
     child = Element()
     child.add_resource("foo.js")
     e.append(child)