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))
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])
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])
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, [])
def add_resources(event): child = Element() child.add_resource("foo.js") e.append(child)