def test_css_links_simple(self): css_data = b'''@import url('wow.css'); body { background: url('cool.png') } ''' reader = CSSReader() links = set() for link in reader.iter_links(io.BytesIO(css_data), encoding='ascii', context=True): links.add(link) self.assertEqual({('wow.css', 'import'), ('cool.png', 'url')}, links)
def test_css_read_links_huge(self): css_data = b'\n'.join([ 'url(blah{0});'.format(num).encode('ascii') for num in range(200000) ]) reader = CSSReader() self.assertGreater(len(css_data), reader.BUFFER_SIZE) links = set() for link in reader.iter_links(io.BytesIO(css_data), encoding='ascii'): links.add(link) self.assertEqual(len(links), 200000)
def test_css_read_links_huge(self): css_data = b'\n'.join( [ 'url(blah{0});'.format(num).encode('ascii') for num in range(200000) ] ) reader = CSSReader() self.assertGreater(len(css_data), reader.BUFFER_SIZE) links = set() for link in reader.iter_links( io.BytesIO(css_data), encoding='ascii'): links.add(link) self.assertEqual(len(links), 200000)
def test_css_links_simple(self): css_data = b'''@import url('wow.css'); body { background: url('cool.png') } ''' reader = CSSReader() links = set() for link in reader.iter_links( io.BytesIO(css_data), encoding='ascii', context=True): links.add(link) self.assertEqual( { ('wow.css', 'import'), ('cool.png', 'url') }, links )