Example #1
0
    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)
Example #2
0
    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)