Example #1
0
    def test_can_get_violation_definitions(self):
        reviewer = Mock()
        validator = ImageRequestsValidator(reviewer)

        definitions = validator.get_violation_definitions()

        expect(definitions).to_length(4)
        expect('broken.img' in definitions).to_be_true()
        expect('single.size.img' in definitions).to_be_true()
        expect('total.requests.img' in definitions).to_be_true()
        expect('total.size.img' in definitions).to_be_true()

        val = set(['http://globo.com/some_image.jpg'])
        expect(validator.get_broken_images_parsed_values(val)).to_equal({
            'images': ('<a href="http://globo.com/some_image.jpg" '
                       'target="_blank">Link #0</a>')
        })

        single_image_size_parsed_value = validator.get_single_image_size_parsed_value(
            {
                'over_max_size': [('http://a.com', 100), ('http://b.com', 30)],
                'limit': 20
            })
        expect(single_image_size_parsed_value).to_equal({
            'limit':
            20,
            'images':
            ('<a href="http://a.com" target="_blank">a.com</a> (100kb)'
             ', <a href="http://b.com" target="_blank">b.com</a> (30kb)')
        })
    def test_can_get_violation_definitions(self):
        reviewer = Mock()
        validator = ImageRequestsValidator(reviewer)

        definitions = validator.get_violation_definitions()

        expect(definitions).to_length(4)
        expect('broken.img' in definitions).to_be_true()
        expect('single.size.img' in definitions).to_be_true()
        expect('total.requests.img' in definitions).to_be_true()
        expect('total.size.img' in definitions).to_be_true()

        val = set(['http://globo.com/some_image.jpg'])
        expect(validator.get_broken_images_parsed_values(val)).to_equal({
            'images': (
                '<a href="http://globo.com/some_image.jpg" '
                'target="_blank">Link #0</a>')
        })

        single_image_size_parsed_value = validator.get_single_image_size_parsed_value(
            {'over_max_size': [('http://a.com', 100), ('http://b.com', 30)],
             'limit': 20}
        )
        expect(single_image_size_parsed_value).to_equal({
            'limit': 20,
            'images': (
                '<a href="http://a.com" target="_blank">a.com</a> (100kb)'
                ', <a href="http://b.com" target="_blank">b.com</a> (30kb)'
            )
        })