def test_image_list(self):
        splitter, joiner = headline._create_splitter(u"br")
        klass = HEADLINE_CLASSES["class_name"]

        images = headline._image_list("Test test", klass, splitter, object=False)

        # Image creating and html representation
        i = 0
        for image in images:
            i += 1
            self.assertEqual(
                image,
                """<img alt="Test test" src="./headline-91cafd03cea08d1cd558f849e530da18.png" />""",
                "(Template want work or hash algorythm changed)",
            )

        self.assertEqual(i, 1)

        splitter, joiner = headline._create_splitter(u"all")
        images = headline._image_list("test test", klass, splitter, object=True)

        # Image creating and dict representation
        for image in images:
            i += 1
            self.assert_(path.isfile(image["url"]), "File is not created")
            self.assert_(image["width"], "There is no returned width")
            self.assert_(image["height"], "There is no returned height")
            self.assert_(image["text"], "There is no returned text")
            self.assertEqual(image["text"], "test", "Returned text is not normal")

            real_image = Image.open(image["url"])
            size = real_image.size
            self.assertEqual(
                Image.open(image["url"]).size, (image["width"], image["height"]), "Real image size is not normal"
            )

            colors = real_image.getcolors()
            color_count = len(colors)

            self.assert_(8 < color_count < 150, "Color count on image is not normal normal is 8..64")

        self.assertEqual(i, 3)
    def test_create_splitter(self):
        splitter, joiner = headline._create_splitter(u"br")
        # Br splitter
        self.assertEqual(splitter.split("<br /><br/><br><br    />"), ["", "", "", "", ""], "Br splitter failed")
        self.assertEqual(
            splitter.split("br br br<br />br br<br> br br"), ["br br br", "br br", " br br"], "Br splitter failed"
        )
        self.assertEqual(splitter.split("br"), ["br"], "Br splitter failed: single")
        self.assertEqual(joiner.join(("", "")), "<br />", "Br joiner failed")
        self.assertEqual(joiner.join(("",)), "", "Br joiner failed: single")

        # All splitter
        splitter, joiner = headline._create_splitter(u"all")
        self.assertEqual(splitter.split("test test<br />test"), ["test", "test", "test"], "All splitter failed: ")
        self.assertEqual(splitter.split("test test<br /> test"), ["test", "test", "", "test"], "All splitter failed: ")
        self.assertEqual(splitter.split("testtesttest"), ["testtesttest"], "All splitter failed: single")

        # None splitter
        self.assertEqual(headline._create_splitter(u"none"), (False, ""), "None splitter failed: none")
        self.assertEqual(headline._create_splitter(u"other"), (False, ""), "None splitter failed: other")
        self.assertEqual(headline._create_splitter(u""), (False, ""), "None splitter failed: ''")