Exemplo n.º 1
0
    def testInvalidFontItalic(self):
        """
        Тест на корректную обработку некорректных настроек шрифта
        """
        hashCalculator = WikiHashCalculator(Application)
        hash_src = hashCalculator.getHash(self.testPage)

        Application.config.set(HtmlRenderConfig.HTML_SECTION, HtmlRenderConfig.FONT_ITALIC_PARAM, u"Бла-бла-бла")

        hashCalculator.getHash(self.testPage)
Exemplo n.º 2
0
    def testHashRename (self):
        hashCalculator = WikiHashCalculator (Application)
        hash_src = hashCalculator.getHash (self.testPage)

        self.testPage.title = u"Новый заголовок"
        hash2 = hashCalculator.getHash (self.testPage)
        self.assertNotEqual (hash_src, hash2)

        self.testPage.title = u"Страница 2"
        hash3 = hashCalculator.getHash (self.testPage)
        self.assertEqual (hash_src, hash3)
Exemplo n.º 3
0
    def testConfigFontNameCache(self):
        """
        Тест на то, что на кэширование влияет изменение размера превьюшки по умолчанию
        """
        hashCalculator = WikiHashCalculator(Application)
        hash_src = hashCalculator.getHash(self.testPage)

        Application.config.set(HtmlRenderConfig.HTML_SECTION, HtmlRenderConfig.FONT_FACE_NAME_PARAM, u"Бла-бла-бла")

        hash2 = hashCalculator.getHash(self.testPage)
        self.assertNotEqual(hash2, hash_src)
Exemplo n.º 4
0
    def testConfigUserStyle (self):
        """
        Тест на то, что на кэширование влияет изменение пользовательских стилей
        """
        hashCalculator = WikiHashCalculator (Application)
        hash_src = hashCalculator.getHash (self.testPage)

        self.__htmlconfig.userStyle.value = u"p {background-color: maroon; /* Цвет фона под текстом параграфа */ color: white; /* Цвет текста */ }"

        hash2 = hashCalculator.getHash (self.testPage)
        self.assertNotEqual (hash2, hash_src)
Exemplo n.º 5
0
    def testInvalidFontBold(self):
        """
        Тест на корректную обработку некорректных настроек шрифта
        """
        hashCalculator = WikiHashCalculator(self.application)
        hashCalculator.getHash(self.testPage)

        self.application.config.set(HtmlRenderConfig.HTML_SECTION,
                                    HtmlRenderConfig.FONT_BOLD_PARAM,
                                    "Бла-бла-бла")

        hashCalculator.getHash(self.testPage)
Exemplo n.º 6
0
    def testConfigFontNameCache (self):
        """
        Тест на то, что на кэширование влияет изменение размера превьюшки по умолчанию
        """
        hashCalculator = WikiHashCalculator (Application)
        hash_src = hashCalculator.getHash (self.testPage)

        Application.config.set (HtmlRenderConfig.HTML_SECTION,
                                HtmlRenderConfig.FONT_FACE_NAME_PARAM,
                                u"Бла-бла-бла")

        hash2 = hashCalculator.getHash (self.testPage)
        self.assertNotEqual (hash2, hash_src)
Exemplo n.º 7
0
    def testHash2 (self):
        # Только создали страницу, кешировать нельзя
        hashCalculator = WikiHashCalculator (Application)
        hash_src = hashCalculator.getHash (self.testPage)

        self.testPage.content = u"бла-бла-бла"
        hash2 = hashCalculator.getHash (self.testPage)

        self.assertNotEqual (hash_src, hash2)

        self.testPage.content = self.wikitext

        hash3 = hashCalculator.getHash (self.testPage)
        self.assertEqual (hash_src, hash3)
        self.assertNotEqual (hash2, hash3)
Exemplo n.º 8
0
    def testCacheSubpages (self):
        """
        Проверка кэширования при добавлении новых подстраниц
        """
        hashCalculator = WikiHashCalculator (Application)
        hash_src = hashCalculator.getHash (self.testPage)

        # Добавляем новую подстраницу
        WikiPageFactory().create (self.testPage, u"Подстраница 1", [])
        hash2 = hashCalculator.getHash (self.testPage)
        self.assertNotEqual (hash2, hash_src)

        # Удалим новую страницу
        self.testPage[u"Подстраница 1"].remove()

        hash3 = hashCalculator.getHash (self.testPage)
        self.assertEqual (hash3, hash_src)
Exemplo n.º 9
0
    def testCacheLoadPlugins1 (self):
        """
        Проверка на то, что при изменении списка установленных плагинов не работает кэширование
        """
        hashCalculator = WikiHashCalculator (Application)
        hash_src = hashCalculator.getHash (self.testPage)

        # Загрузили плагин. Кэш не должен сработать
        Application.plugins.load ([u"../plugins/testempty1"])
        hash2 = hashCalculator.getHash (self.testPage)
        self.assertNotEqual (hash2, hash_src)

        # Загрузили еще один плагин
        Application.plugins.load ([u"../plugins/testempty2"])
        hash3 = hashCalculator.getHash (self.testPage)
        self.assertNotEqual (hash3, hash2)
        self.assertNotEqual (hash3, hash_src)
Exemplo n.º 10
0
    def testHash1 (self):
        # Только создали страницу, кешировать нельзя
        hashCalculator = WikiHashCalculator (Application)
        hash_src = hashCalculator.getHash (self.testPage)

        self.testPage.content = u"бла-бла-бла"
        hash2 = hashCalculator.getHash (self.testPage)

        self.assertNotEqual (hash_src, hash2)

        # Добавим файл
        attach = Attachment (self.testPage)
        attach.attach ([os.path.join (self.filesPath, u"add.png")])

        hash3 = hashCalculator.getHash (self.testPage)
        self.assertNotEqual (hash_src, hash3)
        self.assertNotEqual (hash2, hash3)
Exemplo n.º 11
0
    def testCacheStyle (self):
        """
        Проверка на то, что изменение стиля страницы сбрасывает кэш
        """
        style = Style()
        hashCalculator = WikiHashCalculator (Application)
        hash_src = hashCalculator.getHash (self.testPage)

        exampleStyleDir = u"../test/styles/example_jblog/example_jblog"
        exampleStyleDir2 = u"../test/styles/example_jnet/example_jnet"

        # Изменим стиль страницы
        style.setPageStyle (self.testPage, exampleStyleDir)
        hash2 = hashCalculator.getHash (self.testPage)
        self.assertNotEqual (hash2, hash_src)

        # Еще раз изменим стиль
        style.setPageStyle (self.testPage, exampleStyleDir2)
        hash3 = hashCalculator.getHash (self.testPage)
        self.assertNotEqual (hash2, hash3)
        self.assertNotEqual (hash3, hash_src)

        # Изменим стиль на тот же
        style.setPageStyle (self.testPage, exampleStyleDir2)
        hash4 = hashCalculator.getHash (self.testPage)
        self.assertEqual (hash4, hash3)

        # Установим стиль по умолчанию
        style.setPageStyleDefault (self.testPage)
        hash5 = hashCalculator.getHash (self.testPage)
        self.assertEqual (hash5, hash_src)
Exemplo n.º 12
0
    def testConfigThumbSizeCache(self):
        """
        Тест на то, что на кэширование влияет изменение размера превьюшки по умолчанию
        """
        hashCalculator = WikiHashCalculator(Application)
        hash_src = hashCalculator.getHash(self.testPage)

        Application.config.set(
            WikiConfig.WIKI_SECTION, WikiConfig.THUMB_SIZE_PARAM, WikiConfig.THUMB_SIZE_DEFAULT + 100
        )

        hash2 = hashCalculator.getHash(self.testPage)
        self.assertNotEqual(hash2, hash_src)

        Application.config.set(WikiConfig.WIKI_SECTION, WikiConfig.THUMB_SIZE_PARAM, u"Бла-бла-бла")

        hash3 = hashCalculator.getHash(self.testPage)
        self.assertNotEqual(hash3, hash2)
        self.assertEqual(hash3, hash_src)
Exemplo n.º 13
0
    def testConfigThumbSizeCache(self):
        """
        Тест на то, что на кэширование влияет изменение размера превьюшки по умолчанию
        """
        hashCalculator = WikiHashCalculator(Application)
        hash_src = hashCalculator.getHash(self.testPage)

        Application.config.set(WikiConfig.WIKI_SECTION,
                               WikiConfig.THUMB_SIZE_PARAM,
                               WikiConfig.THUMB_SIZE_DEFAULT + 100)

        hash2 = hashCalculator.getHash(self.testPage)
        self.assertNotEqual(hash2, hash_src)

        Application.config.set(WikiConfig.WIKI_SECTION,
                               WikiConfig.THUMB_SIZE_PARAM, u"Бла-бла-бла")

        hash3 = hashCalculator.getHash(self.testPage)
        self.assertNotEqual(hash3, hash2)
        self.assertEqual(hash3, hash_src)
Exemplo n.º 14
0
    def testCacheSubdir (self):
        attach = Attachment (self.testPage)
        hashCalculator = WikiHashCalculator (Application)
        hash_src = hashCalculator.getHash (self.testPage)

        # Добавим файл в dir
        with open (os.path.join (attach.getAttachPath(), "dir", "temp.tmp"), "w") as fp:
            fp.write ("bla-bla-bla")

        hash2 = hashCalculator.getHash (self.testPage)
        self.assertNotEqual (hash_src, hash2)

        # Добавим еще одну вложенную директорию
        subdir = os.path.join (attach.getAttachPath(), "dir", "subdir_2")
        os.mkdir (subdir)

        hash3 = hashCalculator.getHash (self.testPage)
        self.assertNotEqual (hash2, hash3)
        self.assertNotEqual (hash_src, hash3)

        # Добавим файл в dir/subdir_2
        with open (os.path.join (subdir, "temp2.tmp"), "w") as fp:
            fp.write ("bla-bla-bla")

        hash4 = hashCalculator.getHash (self.testPage)
        self.assertNotEqual (hash3, hash4)
        self.assertNotEqual (hash2, hash4)
        self.assertNotEqual (hash_src, hash4)
Exemplo n.º 15
0
    def testCacheLoadPlugins2 (self):
        """
        Проверка на то, что при изменении списка установленных плагинов не работает кэширование
        """
        Application.plugins.clear()
        Application.plugins.load ([u"../plugins/testempty1"])
        Application.plugins.load ([u"../plugins/testempty2"])

        hashCalculator = WikiHashCalculator (Application)
        hash_src = hashCalculator.getHash (self.testPage)

        Application.plugins.clear()
        hash2 = hashCalculator.getHash (self.testPage)
        self.assertNotEqual (hash2, hash_src)

        # Перезагрузим плагины в другом порядке
        Application.plugins.load ([u"../plugins/testempty1"])
        Application.plugins.load ([u"../plugins/testempty2"])

        hash3 = hashCalculator.getHash (self.testPage)
        self.assertNotEqual (hash3, hash2)
        self.assertEqual (hash3, hash_src)

        Application.plugins.clear()
Exemplo n.º 16
0
    def testInvalidFontItalic (self):
        """
        Тест на корректную обработку некорректных настроек шрифта
        """
        hashCalculator = WikiHashCalculator (Application)
        hashCalculator.getHash (self.testPage)

        Application.config.set (HtmlRenderConfig.HTML_SECTION,
                                HtmlRenderConfig.FONT_ITALIC_PARAM,
                                u"Бла-бла-бла")

        hashCalculator.getHash (self.testPage)
Exemplo n.º 17
0
    def testInvalidFontSize(self):
        """
        Тест на корректную обработку некорректных настроек размера шрифта
        """
        hashCalculator = WikiHashCalculator(self.application)
        hashCalculator.getHash(self.testPage)

        self.application.config.set(HtmlRenderConfig.HTML_SECTION,
                                    HtmlRenderConfig.FONT_SIZE_PARAM,
                                    "Бла-бла-бла")

        hashCalculator.getHash(self.testPage)
Exemplo n.º 18
0
    def testCacheEmpty (self):
        emptycontent = EmptyContent (Application.config)
        self.testPage.content = u""

        hashCalculator = WikiHashCalculator (Application)
        hash_src = hashCalculator.getHash (self.testPage)

        # Страница пустая, изменился шаблон для путой записи
        emptycontent.content = u"1111"
        hash2 = hashCalculator.getHash (self.testPage)
        self.assertNotEqual (hash_src, hash2)

        # Изменилось содержимое страницы
        self.testPage.content = u"Бла-бла-бла"
        hash3 = hashCalculator.getHash (self.testPage)
        self.assertNotEqual (hash2, hash3)
        self.assertNotEqual (hash_src, hash3)

        # Изменился шаблон страницы, но страница уже не пустая
        emptycontent.content = u"2222"
        hash4 = hashCalculator.getHash (self.testPage)
        self.assertEqual (hash4, hash3)