Beispiel #1
0
    def testPreprocessing_01(self):
        """
        Тест на работу препроцессинга
        """
        config = WikiConfig(self.application.config)
        config.showHtmlCodeOptions.value = True

        self.application.wikiroot = self.wikiroot
        self.application.selectedPage = self.wikiroot["Викистраница"]
        self.application.onPreprocessing += self._onPreProcessing

        pageView = self.application.mainWindow.pagePanel.pageView

        # В начале по умолчанию выбирается вкладка с просмотром
        wx.GetApp().Yield()

        # Переключимся на вкладку с кодом
        pageView.SetPageMode(PAGE_MODE_TEXT)
        wx.GetApp().Yield()

        pageView.codeEditor.SetText("Абырвалг")

        # Переключимся на результирующий HTML
        pageView.SetPageMode(PAGE_MODE_HTML)
        wx.GetApp().Yield()

        self.application.onPreprocessing -= self._onPreProcessing

        result = pageView.htmlCodeWindow.GetText()

        self.assertIn("Абырвалг 000", result)
Beispiel #2
0
    def test_11(self):
        from tableofcontents.tocwikimaker import TocWikiMaker

        WikiConfig(self.application.config).linkStyleOptions.value = 1
        text = '''ывп ыфвп ваы

[=
ывп ывап ыва
=]

!!!! Абырвалг 123 [[#якорь1]]

[=
!! Это не заголовок
=]

ывапыва ывп выап
выапывп ываап ывап

[[#якорь2]]
!!!!! Абырвалг 234'''

        maker = TocWikiMaker(self.application.config)
        result = maker.make(text)

        result_valid = '''* [[#якорь1 | Абырвалг 123]]
** [[#якорь2 | Абырвалг 234]]'''

        self.assertEqual(result, result_valid)
 def linkResult(self):
     """
     Возвращает строку, представляющую собой оформленную ссылку
     в нужном представлении (HTML, wiki и т.п.)
     """
     linkCreator = LinkCreator(WikiConfig(self._application.config))
     return linkCreator.create(self.link, self.comment)
Beispiel #4
0
    def testPostprocessing_02(self):
        """
        Тест на работу постпроцессинга
        """
        config = WikiConfig(Application.config)
        config.showHtmlCodeOptions.value = True

        Application.wikiroot = self.wikiroot
        Application.selectedPage = self.wikiroot[u"Викистраница"]

        Application.onPostprocessing += self._onPostProcessing
        Application.onPostprocessing += self._onPostProcessing2

        pageView = Application.mainWindow.pagePanel.pageView

        # В начале по умолчанию выбирается вкладка с просмотром
        wx.GetApp().Yield()

        # Переключимся на вкладку с кодом
        pageView.selectedPageIndex = WikiPageView.CODE_PAGE_INDEX
        wx.GetApp().Yield()

        pageView.codeEditor.SetText(u"Абырвалг")

        # Переключимся на результирующий HTML
        pageView.selectedPageIndex = WikiPageView.HTML_RESULT_PAGE_INDEX
        wx.GetApp().Yield()

        Application.onPostprocessing -= self._onPostProcessing
        Application.onPostprocessing -= self._onPostProcessing2

        result = pageView.htmlCodeWindow.GetText()

        self.assertTrue(result.endswith(u" 111 222"))
Beispiel #5
0
    def __init__(self, parent):
        super(type(self), self).__init__(parent)

        self._config = WikiConfig(Application.config)
        self.__createGui()
        self.__layout()
        self._setScrolling()
Beispiel #6
0
    def setUp(self):
        BaseMainWndTest.setUp(self)
        Application.onPostprocessing.clear()
        Application.onPreprocessing.clear()

        WikiConfig(Application.config).showHtmlCodeOptions.value = False

        WikiPageFactory().create(self.wikiroot, u"Викистраница", [])
        WikiPageFactory().create(self.wikiroot, u"Викистраница 2", [])
Beispiel #7
0
 def _parseThumbSize (self, thumbsize):
     """
     Возвращает размер превьюшки. Если thumbsize (строка) не удается преобразовать в int, возвращает значение по умолчанию из настроек
     """
     try:
         return int (thumbsize)
     except ValueError:
         # Получим значение из настроек
         config = WikiConfig (self._parser.config)
         return config.thumbSizeOptions.value
Beispiel #8
0
    def setUp(self):
        self.initApplication()
        self.wikiroot = self.createWiki()

        self.application.onPostprocessing.clear()
        self.application.onPreprocessing.clear()

        WikiConfig(self.application.config).showHtmlCodeOptions.value = False

        WikiPageFactory().create(self.wikiroot, "Викистраница", [])
        WikiPageFactory().create(self.wikiroot, "Викистраница 2", [])
    def setUp (self):
        super (LinkDialogControllerTest, self).setUp()
        copyTextToClipboard (u'')
        self._config = WikiConfig (Application.config)
        self._config.linkStyleOptions.value = 0

        self.files = [u'../test/samplefiles/accept.png',
                      u'../test/samplefiles/add.png',
                      u'../test/samplefiles/html.txt',
                      ]

        factory = WikiPageFactory()
        self._testpage = factory.create (self.wikiroot, u"Страница 1", [])
Beispiel #10
0
    def _getThumbSize(self, paramsDict):
        sizeParamName1 = "px"
        sizeParamName2 = "maxsize"

        if sizeParamName1 in paramsDict.keys():
            thumbsize = paramsDict[sizeParamName1]
        elif sizeParamName2 in paramsDict.keys():
            thumbsize = paramsDict[sizeParamName2]
        else:
            config = WikiConfig(self.parser.config)
            thumbsize = config.thumbSizeOptions.value

        return thumbsize
Beispiel #11
0
    def testSavePageIndex1(self):
        """
        Тест на сохранение текущей вкладки страницы
        """
        config = WikiConfig(self.application.config)
        config.showHtmlCodeOptions.value = True

        self.wikiroot["Викистраница"].content = "Бла-бла-бла"
        self.wikiroot["Викистраница 2"].content = "Бла-бла-бла 2"
        self.application.wikiroot = self.wikiroot
        self.application.selectedPage = self.wikiroot["Викистраница"]
        wx.GetApp().Yield()

        # В начале по умолчанию выбирается вкладка с просмотром
        self.assertEqual(
            self.application.mainWindow.pagePanel.pageView.GetPageMode(),
            PAGE_MODE_PREVIEW)

        # Переключимся на вкладку с кодом
        self.application.mainWindow.pagePanel.pageView.SetPageMode(
            PAGE_MODE_TEXT)
        wx.GetApp().Yield()

        # Переключимся на другую страницу. Опять должна быть выбрана вкладка с просмотром
        self.application.selectedPage = self.wikiroot["Викистраница 2"]

        wx.GetApp().Yield()
        self.assertEqual(
            self.application.mainWindow.pagePanel.pageView.GetPageMode(),
            PAGE_MODE_PREVIEW)

        # Переключимся на результирующий HTML
        self.application.mainWindow.pagePanel.pageView.SetPageMode(
            PAGE_MODE_HTML)
        wx.GetApp().Yield()

        # А при возврате на предыдущую страницу, должна быть выбана страница с кодом
        self.application.selectedPage = self.wikiroot["Викистраница"]

        wx.GetApp().Yield()
        self.assertEqual(
            self.application.mainWindow.pagePanel.pageView.GetPageMode(),
            PAGE_MODE_TEXT)

        # При переключении на другую страницу, выбиается вкладка с результирующим HTML
        self.application.selectedPage = self.wikiroot["Викистраница 2"]

        wx.GetApp().Yield()
        self.assertEqual(
            self.application.mainWindow.pagePanel.pageView.GetPageMode(),
            PAGE_MODE_HTML)
    def setUp(self):
        self.initApplication()
        self.wikiroot = self.createWiki()

        copyTextToClipboard('')
        self._config = WikiConfig(self.application.config)
        self._config.linkStyleOptions.value = 0

        self.files = ['../test/samplefiles/accept.png',
                      '../test/samplefiles/add.png',
                      '../test/samplefiles/html.txt',
                      ]

        factory = WikiPageFactory()
        self._testpage = factory.create(self.wikiroot, "Страница 1", [])
Beispiel #13
0
    def testSwitch(self):
        WikiConfig(self.application.config).showHtmlCodeOptions.value = True

        self.application.wikiroot = self.wikiroot
        self.assertEqual(None, self.application.mainWindow.pagePanel.pageView)

        self.application.selectedPage = self.wikiroot["Викистраница"]
        self.assertEqual(WikiPageView,
                         type(self.application.mainWindow.pagePanel.pageView))

        self.application.selectedPage = self.wikiroot["Викистраница 2"]
        self.assertEqual(WikiPageView,
                         type(self.application.mainWindow.pagePanel.pageView))

        self.application.selectedPage = None
        self.assertEqual(None, self.application.mainWindow.pagePanel.pageView)
Beispiel #14
0
    def setUp(self):
        self.encoding = "utf8"

        self.filesPath = u"../test/samplefiles/"

        self.pagelinks = [
            u"Страница 1", u"/Страница 1", u"/Страница 2/Страница 3"
        ]
        self.pageComments = [u"Страницо 1", u"Страницо 1", u"Страницо 3"]

        self.__createWiki()

        factory = ParserFactory()
        self.__wikiconfig = WikiConfig(Application.config)
        self.__wikiconfig.thumbSizeOptions.value = WikiConfig.THUMB_SIZE_DEFAULT

        self.parser = factory.make(self.testPage, Application.config)
Beispiel #15
0
    def testPostprocessing_03(self):
        """
        Тест на работу постпроцессинга
        """
        config = WikiConfig(self.application.config)
        config.showHtmlCodeOptions.value = True

        self.application.wikiroot = self.wikiroot
        self.application.selectedPage = self.wikiroot["Викистраница"]
        self.application.onPostprocessing += self._onPostProcessing

        pageView = self.application.mainWindow.pagePanel.pageView

        # В начале по умолчанию выбирается вкладка с просмотром
        wx.GetApp().Yield()

        # Переключимся на вкладку с кодом
        pageView.SetPageMode(PAGE_MODE_TEXT)
        wx.GetApp().Yield()

        pageView.codeEditor.SetText("Абырвалг")

        # Попереключаемся по вкладкам и проверим, что результат
        # постпроцессинга применен однократно
        pageView.SetPageMode(PAGE_MODE_HTML)
        wx.GetApp().Yield()

        pageView.SetPageMode(PAGE_MODE_TEXT)
        wx.GetApp().Yield()

        pageView.SetPageMode(PAGE_MODE_HTML)
        wx.GetApp().Yield()

        pageView.SetPageMode(PAGE_MODE_TEXT)
        wx.GetApp().Yield()

        pageView.SetPageMode(PAGE_MODE_HTML)
        wx.GetApp().Yield()

        self.application.onPostprocessing -= self._onPostProcessing

        result = pageView.htmlCodeWindow.GetText()

        self.assertTrue(result.endswith(" 111"))
        self.assertFalse(result.endswith(" 111 111"))
Beispiel #16
0
    def testAnchors_03 (self):
        from tableofcontents.contentsparser import Section
        from tableofcontents.tocwikigenerator import TOCWikiGenerator

        WikiConfig (Application.config).linkStyleOptions.value = 2

        generator = TOCWikiGenerator(Application.config)
        items = [
            Section (u"Абырвалг 1", 1, u"якорь1"),
            Section (u"Абырвалг 2", 2, u"якорь2"),
        ]

        result = generator.make (items)

        result_valid = u'''* [[Абырвалг 1 -> #якорь1]]
** [[Абырвалг 2 -> #якорь2]]'''

        self.assertEqual (result, result_valid)
Beispiel #17
0
    def testResultHtmlPage1(self):
        """
        Тест на наличие / отсутствие вкладки с результирующим HTML-кодом
        """
        config = WikiConfig(self.application.config)
        config.showHtmlCodeOptions.value = False

        self.application.wikiroot = self.wikiroot

        self.application.selectedPage = self.wikiroot["Викистраница"]
        self.assertEqual(
            self.application.mainWindow.pagePanel.pageView.pageCount, 2)

        self.application.selectedPage = None
        config.showHtmlCodeOptions.value = True

        self.application.selectedPage = self.wikiroot["Викистраница"]
        self.assertEqual(
            self.application.mainWindow.pagePanel.pageView.pageCount, 3)
Beispiel #18
0
    def testSave_02(self):
        config = WikiConfig(Application.config)
        config.showHtmlCodeOptions.value = True

        page = self.wikiroot[u"Викистраница"]
        page.content = u""

        Application.wikiroot = self.wikiroot
        Application.selectedPage = page

        pageView = Application.mainWindow.pagePanel.pageView

        # В начале по умолчанию выбирается вкладка с просмотром
        wx.GetApp().Yield()

        pageView.codeEditor.SetText(u"Абырвалг")

        # Переключимся на результирующий HTML
        pageView.selectedPageIndex = WikiPageView.RESULT_PAGE_INDEX
        wx.GetApp().Yield()

        self.assertEqual(page.content, u"Абырвалг")
Beispiel #19
0
    def testSave_02(self):
        config = WikiConfig(self.application.config)
        config.showHtmlCodeOptions.value = True

        page = self.wikiroot["Викистраница"]
        page.content = ""

        self.application.wikiroot = self.wikiroot
        self.application.selectedPage = page

        pageView = self.application.mainWindow.pagePanel.pageView

        # В начале по умолчанию выбирается вкладка с просмотром
        wx.GetApp().Yield()

        pageView.codeEditor.SetText("Абырвалг")

        # Переключимся на просмотр
        pageView.SetPageMode(PAGE_MODE_PREVIEW)
        wx.GetApp().Yield()

        self.assertEqual(page.content, "Абырвалг")
Beispiel #20
0
 def __init__(self, config):
     self._config = WikiConfig(config)
Beispiel #21
0
 def setUp(self):
     self.initApplication()
     self.config = WikiConfig(self.application.config)
     self.config.linkStyleOptions.value = 0