Example #1
0
    def testReloading (self):
        attach = Attachment (self.page)
        attach.attach (self.fullFilesPath)

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

        self.assertEqual (self.wnd.attachPanel.panel.attachList.GetItemCount(), len (self.fullFilesPath))

        # Создадим другую независимую вики
        newpath = u"../test/testwiki2"
        newwikiroot = WikiDocument.create (newpath)

        TextPageFactory.create (newwikiroot, u"Новая страница 1", [])
        TextPageFactory.create (newwikiroot, u"Новая страница 2", [])

        filesPath = u"../test/samplefiles/"
        newfiles = [u"accept.png", u"add.png", u"anchor.png"]
        newfullFilesPath = [os.path.join (filesPath, fname) for fname in newfiles]    

        newattach = Attachment (newwikiroot[u"Новая страница 1"])
        newattach.attach (newfullFilesPath)
        newwikiroot.selectedPage = newwikiroot[u"Новая страница 1"]

        Application.wikiroot = newwikiroot
        self.assertEqual (self.wnd.attachPanel.panel.attachList.GetItemCount(), len (newfullFilesPath))

        Application.wikiroot.selectedPage = None
        Application.wikiroot = None
        removeWiki (newpath)
Example #2
0
    def testInvalidWikiRoot2 (self):
        """
        Тест на обработку ошибки в файле __page.opt корня вики
        """
        def __createInvalidWiki2 ():
            # Здесь будет создаваться вики
            path = u"../test/testwiki"
            removeWiki (path)

            rootwiki = WikiDocument.create (path)

            TextPageFactory.create (rootwiki, u"Страница 1", [])
            TextPageFactory.create (rootwiki[u"Страница 1"], u"Страница 2", [])

            # Испортим файл __page.opt
            with open (os.path.join (rootwiki.path, u"__page.opt"), "w") as fp:
                fp.write (u"[General]\naaa=xxx\n<<<<<<<<wsfsdf sdf sdfasdfdsf \nasfasdsadf")

            return path

        path = __createInvalidWiki2 ()
        self.assertRaises (RootFormatError, WikiDocument.load, path)

        # Сбросим файл __page.opt
        WikiDocument.clearConfigFile (path)

        # Теперь ошибок быть не должно
        WikiDocument.load (path)

        removeWiki (path)
Example #3
0
    def __createWiki(self):
        # Здесь будет создаваться вики
        self.path = u"../test/testwiki"
        removeWiki(self.path)

        self.rootwiki = WikiDocument.create(self.path)

        WikiPageFactory.create(self.rootwiki, u"Страница 2", [])

        self.testPage = self.rootwiki[u"Страница 2"]
        self.testPage.content = self.content

        files = [
            u"accept.png", u"add.png", u"anchor.png", u"filename.tmp",
            u"файл с пробелами.tmp", u"картинка с пробелами.png", "image.jpg",
            "image.jpeg", "image.png", "image.tif", "image.tiff", "image.gif",
            "first.jpg", "first_rotate.jpg"
        ]

        fullFilesPath = [
            os.path.join(self.filesPath, fname) for fname in files
        ]

        # Прикрепим к двум страницам файлы
        Attachment(self.testPage).attach(fullFilesPath)
Example #4
0
    def testUpdateIconNoEvent (self):
        """
        Тест на НЕсрабатывание событий при обновлении иконки, если не устанолен Application.wikiroot
        """
        Application.wikiroot = None

        Application.onPageUpdate += self.pageUpdate
        Application.onTreeUpdate += self.treeUpdate

        removeWiki (self.path)

        self.assertFalse(self.isTreeUpdate)
        self.assertFalse(self.isPageUpdate)
        self.assertFalse(self.isPageCreate)

        # Создаем вики
        rootwiki = WikiDocument.create (self.path)
        TextPageFactory.create (rootwiki, u"Страница 1", [])

        Application.wikiroot = rootwiki

        # Изменим содержимое страницы
        rootwiki[u"Страница 1"].icon = "../test/images/feed.gif"
        
        self.assertTrue (self.isPageUpdate)
        self.assertEqual (self.pageUpdateSender, rootwiki[u"Страница 1"])
        
        self.assertTrue (self.isTreeUpdate)
        self.assertEqual (self.treeUpdateSender, rootwiki[u"Страница 1"])

        Application.onPageUpdate -= self.pageUpdate
        Application.onTreeUpdate -= self.treeUpdate
Example #5
0
    def testPageSelectLoad (self):
        Application.onPageSelect += self.pageSelect

        removeWiki (self.path)

        rootwiki = WikiDocument.create (self.path)
        TextPageFactory.create (rootwiki, u"Страница 1", [])
        TextPageFactory.create (rootwiki, u"Страница 2", [])
        TextPageFactory.create (rootwiki[u"Страница 2"], u"Страница 3", [])

        document = WikiDocument.load (self.path)
        Application.wikiroot = document

        self.assertEqual (document.selectedPage, None)

        document.selectedPage = document[u"Страница 1"]
        
        self.assertEqual (document.selectedPage, document[u"Страница 1"])
        self.assertEqual (self.isPageSelect, True)
        self.assertEqual (self.pageSelectSender, document[u"Страница 1"])
        self.assertEqual (self.pageSelectCount, 1)

        document.selectedPage = document[u"Страница 2/Страница 3"]

        self.assertEqual (document.selectedPage, document[u"Страница 2/Страница 3"])
        self.assertEqual (self.isPageSelect, True)
        self.assertEqual (self.pageSelectSender, document[u"Страница 2/Страница 3"])
        self.assertEqual (self.pageSelectCount, 2)

        Application.onPageSelect -= self.pageSelect
Example #6
0
    def testUpdateContentEvent (self):
        """
        Тест на срабатывание событий при обновлении контента
        """
        Application.onPageUpdate += self.pageUpdate

        removeWiki (self.path)

        self.assertFalse(self.isTreeUpdate)
        self.assertFalse(self.isPageUpdate)
        self.assertFalse(self.isPageCreate)

        # Создаем вики
        rootwiki = WikiDocument.create (self.path)
        TextPageFactory.create (rootwiki, u"Страница 1", [])

        Application.wikiroot = rootwiki

        # Изменим содержимое страницы
        rootwiki[u"Страница 1"].content = "1111"
        
        self.assertTrue(self.isPageUpdate)
        self.assertEqual (self.pageUpdateSender, rootwiki[u"Страница 1"])

        Application.onPageUpdate -= self.pageUpdate
        Application.wikiroot = None
Example #7
0
    def testUpdateTagsEvent (self):
        """
        Тест на срабатывание событий при обновлении меток (тегов)
        """
        Application.onPageUpdate += self.pageUpdate

        removeWiki (self.path)

        self.assertFalse(self.isTreeUpdate)
        self.assertFalse(self.isPageUpdate)
        self.assertFalse(self.isPageCreate)

        # Создаем вики
        rootwiki = WikiDocument.create (self.path)
        TextPageFactory.create (rootwiki, u"Страница 1", [])

        Application.wikiroot = rootwiki

        # Изменим содержимое страницы
        rootwiki[u"Страница 1"].tags = ["test"]
        
        self.assertTrue(self.isPageUpdate)
        self.assertEqual (self.pageUpdateSender, rootwiki[u"Страница 1"])

        Application.onPageUpdate -= self.pageUpdate
Example #8
0
    def __createWiki (self):
        # Здесь будет создаваться вики
        self.path = u"../test/testwiki"
        removeWiki (self.path)

        self.rootwiki = WikiDocument.create (self.path)
        WikiPageFactory.create (self.rootwiki, u"Страница 2", [])
Example #9
0
    def testUpdateIcon (self):
        """
        Тест на срабатывание событий при обновлении иконки
        """
        Application.onPageUpdate += self.pageUpdate
        Application.onTreeUpdate += self.treeUpdate

        removeWiki (self.path)

        self.assertFalse(self.isTreeUpdate)
        self.assertFalse(self.isPageUpdate)
        self.assertFalse(self.isPageCreate)

        # Создаем вики
        rootwiki = WikiDocument.create (self.path)
        TextPageFactory.create (rootwiki, u"Страница 1", [])

        Application.wikiroot = rootwiki

        # Изменим содержимое страницы
        rootwiki[u"Страница 1"].icon = "../test/images/feed.gif"
        
        self.assertTrue (self.isPageUpdate)
        self.assertEqual (self.pageUpdateSender, rootwiki[u"Страница 1"])
        self.assertEqual (self.prev_kwargs["change"], PAGE_UPDATE_ICON)
        
        self.assertFalse (self.isTreeUpdate)

        Application.onPageUpdate -= self.pageUpdate
        Application.onTreeUpdate -= self.treeUpdate
Example #10
0
    def setUp(self):
        # Количество срабатываний особытий при обновлении страницы
        self.treeUpdateCount = 0
        self.treeUpdateSender = None
        Application.wikiroot = None

        # Здесь будет создаваться вики
        self.path = u"../test/testwiki"
        removeWiki (self.path)

        self.rootwiki = WikiDocument.create (self.path)

        TextPageFactory.create (self.rootwiki, u"Страница 8", [])
        TextPageFactory.create (self.rootwiki, u"Страница 2", [])
        TextPageFactory.create (self.rootwiki, u"Страница 5", [])
        TextPageFactory.create (self.rootwiki, u"Страница 4", [])
        TextPageFactory.create (self.rootwiki, u"Страница 6", [])
        TextPageFactory.create (self.rootwiki, u"Страница 1", [])
        TextPageFactory.create (self.rootwiki, u"Страница 3", [])
        TextPageFactory.create (self.rootwiki, u"Страница 7", [])

        self.rootwiki[u"Страница 8"].order = 0
        self.rootwiki[u"Страница 2"].order = 1
        self.rootwiki[u"Страница 5"].order = 2
        self.rootwiki[u"Страница 4"].order = 3
        self.rootwiki[u"Страница 6"].order = 4
        self.rootwiki[u"Страница 1"].order = 5
        self.rootwiki[u"Страница 3"].order = 6
        self.rootwiki[u"Страница 7"].order = 7
Example #11
0
    def setUp(self):
        # Здесь будет создаваться вики
        self.path = os.path.realpath (u"../test/testwiki")
        removeWiki (self.path)

        self.rootwiki = WikiDocument.create (self.path)

        # - Страница 1
        #   - # Страница 5
        #   - Страница 6
        # - Страница 2
        #   - Страница 3
        #     - # Страница 4
        WikiPageFactory.create (self.rootwiki, u"Страница 1", [])
        WikiPageFactory.create (self.rootwiki, u"Страница 2", [])
        WikiPageFactory.create (self.rootwiki[u"Страница 2"], u"Страница 3", [])
        WikiPageFactory.create (self.rootwiki[u"Страница 2/Страница 3"], u"# Страница 4", [])
        WikiPageFactory.create (self.rootwiki[u"Страница 1"], u"# Страница 5", [])
        WikiPageFactory.create (self.rootwiki[u"Страница 1"], u"Страница 6", [])
        WikiPageFactory.create (self.rootwiki[u"Страница 1/# Страница 5"], u"Страница 7", [])

        filesPath = u"../test/samplefiles/"
        self.files = [u"accept.png", u"add.png", u"anchor.png", u"файл с пробелами.tmp", u"dir"]
        self.fullFilesPath = [os.path.join (filesPath, fname) for fname in self.files]

        Attachment (self.rootwiki[u"Страница 1"]).attach (self.fullFilesPath)
        Attachment (self.rootwiki[u"Страница 1/# Страница 5"]).attach (self.fullFilesPath)

        Application.wikiroot = None
Example #12
0
    def setUp(self):
        # Здесь будет создаваться вики
        self.path = u"../test/testwiki"
        removeWiki (self.path)

        self.rootwiki = WikiDocument.create (self.path)

        TextPageFactory.create (self.rootwiki, u"page 1", [u"Метка 1", u"Метка 2"])
        TextPageFactory.create (self.rootwiki, u"Страница 2", [u"Метка 1", u"Метка 3"])
        TextPageFactory.create (self.rootwiki[u"Страница 2"], u"Страница 3", [u"Метка 2"])
        TextPageFactory.create (self.rootwiki[u"Страница 2/Страница 3"], u"Страница 4", [u"Метка 1"])
        TextPageFactory.create (self.rootwiki[u"page 1"], u"page 5", [u"Метка 4"])

        self.rootwiki[u"page 1"].content = ur"1  декабря. (Перечеркнуто, поправлено) 1 января 1925 г. Фотографирован \
            утром. Счастливо лает 'абыр', повторяя это слово громко и как бы радостно."

        self.rootwiki[u"page 1/page 5"].content = ur"Сегодня после того, как у него отвалился хвост, он  произнес совершенно\
            отчетливо слово 'пивная'"

        self.rootwiki[u"Страница 2"].content = ur"30  Декабря. Выпадение  шерсти  приняло  характер  общего  облысения.\
            Взвешивание  дало неожиданный  результат - 30 кг  за счет роста (удлинение)\
            костей. Пес по-прежнему лежит."

        self.rootwiki[u"Страница 2/Страница 3"].content = ur"29 Декабря. Внезапно обнаружено выпадение  шерсти на лбу  \
            и на боках туловища."

        self.rootwiki[u"Страница 2/Страница 3/Страница 4"].content = ur"2 Января. Фотографирован во время  улыбки при магнии. \
Example #13
0
    def setUp (self):
        # Здесь будет создаваться вики
        self.path = u"../test/testwiki"
        removeWiki (self.path)

        self._exampleStyleDir = u"../styles/example_jblog"
        self._exampleStyleDir2 = u"../styles/example_jnet"

        wiki = WikiDocument.create (self.path)

        TextPageFactory.create (wiki, u"Страница 1", [])
        TextPageFactory.create (wiki, u"Страница 2", [])
        TextPageFactory.create (wiki[u"Страница 2"], u"Страница 3", [])
        TextPageFactory.create (wiki[u"Страница 2/Страница 3"], u"Страница 4", [])
        TextPageFactory.create (wiki[u"Страница 1"], u"Страница 5", [])
        TextPageFactory.create (wiki, u"страница 4", [])

        filesPath = u"../test/samplefiles/"
        files = [u"accept.png", u"add.png", u"anchor.png"]

        fullFilesPath = [os.path.join (filesPath, fname) for fname in files]

        Attachment (wiki[u"Страница 4"]).attach (fullFilesPath)
        Attachment (wiki[u"Страница 1/Страница 5"]).attach (fullFilesPath)

        self.wiki = WikiDocument.load (self.path, readonly=True)
Example #14
0
    def setUp (self):
        BaseMainWndTest.setUp (self)

        self.path = u"../test/testwiki"
        removeWiki (self.path)

        self.wikiroot = WikiDocument.create (self.path)
Example #15
0
    def setUp(self):
        # Здесь будет создаваться вики
        self.path = u"../test/testwiki"
        removeWiki (self.path)
        self.eventcount = 0

        self.rootwiki = WikiDocument.create (self.path)

        TextPageFactory.create (self.rootwiki, u"Страница 1", [])
        TextPageFactory.create (self.rootwiki, u"Страница 2", [])
        TextPageFactory.create (self.rootwiki[u"Страница 2"], u"Страница 3", [])
        TextPageFactory.create (self.rootwiki[u"Страница 2/Страница 3"], u"Страница 4", [])
        TextPageFactory.create (self.rootwiki[u"Страница 1"], u"Страница 5", [])

        self.rootwiki[u"Страница 1"].content = u"1234567"
        self.rootwiki[u"Страница 2/Страница 3"].content = u"Абырвалг"
        self.rootwiki[u"Страница 2/Страница 3/Страница 4"].content = u"Тарам-пам-пам"
        self.rootwiki[u"Страница 1/Страница 5"].content = u"111111"

        self.rootwiki[u"Страница 1"].tags = [u"метка 1"]
        self.rootwiki[u"Страница 2/Страница 3"].tags = [u"метка 2", u"метка 3"]
        self.rootwiki[u"Страница 2/Страница 3/Страница 4"].tags = [u"метка 1", u"метка 2", u"метка 4"]

        self.rootwiki[u"Страница 2/Страница 3/Страница 4"].icon = "../test/images/feed.gif"

        self.icons = ["../test/images/icon.gif", 
                "../test/images/icon.png",
                "../test/images/icon.jpg",
                "../test/images/icon.ico"]

        Application.wikiroot = None
Example #16
0
 def testAttachment (self):
     self.__createWiki()
     testtoken = AttachFactory.make (self.parser).setParseAction(lambda s, l, t: None)
     text = u"бла-бла-бла Attach:файл с пробелами.tmp ыфваыфвафв"
     validname = u"attach"
     
     self._checkToken (testtoken, text, validname)
     removeWiki (self.path)
Example #17
0
 def testImageAttachment (self):
     self.__createWiki()
     testtoken = AttachImagesFactory.make (self.parser).setParseAction(lambda s, l, t: None)
     text = u"бла-бла-бла Attach:image.jpg ыфваыфвафв"
     validname = u"attach"
     
     self._checkToken (testtoken, text, validname)
     removeWiki (self.path)
Example #18
0
    def __createWiki (self):
        # Здесь будет создаваться вики
        self.path = u"../test/testwiki"
        removeWiki (self.path)

        self.rootwiki = WikiDocument.create (self.path)

        WikiPageFactory.create (self.rootwiki, u"Страница 1", [])
        self.testPage = self.rootwiki[u"Страница 1"]
Example #19
0
    def setUp (self):
        # Здесь будет создаваться вики
        self.path = u"../test/testwiki"
        removeWiki (self.path)

        # Максимальная погрешность при расчете времени
        self._maxDelta = datetime.timedelta (seconds=30)

        self.rootwiki = WikiDocument.create (self.path)
Example #20
0
    def setUp (self):
        BaseMainWndTest.setUp (self)

        self.path = u"../test/testwiki"
        removeWiki (self.path)

        self.wikiroot = WikiDocument.create (self.path)

        HtmlPageFactory.create (self.wikiroot, u"HTML-страница", [])
        HtmlPageFactory.create (self.wikiroot, u"HTML-страница 2", [])
Example #21
0
    def setUp (self):
        self.path = u"../test/testwiki"
        removeWiki (self.path)

        self.wikiroot = WikiDocument.create (self.path)

        TextPageFactory.create (self.wikiroot, u"Страница 1", [u"тег 1"])
        TextPageFactory.create (self.wikiroot, u"Страница 2", [u"тег 1", u"тег 2"])
        TextPageFactory.create (self.wikiroot[u"Страница 2"], u"Страница 3", [u"тег 3"])
        TextPageFactory.create (self.wikiroot[u"Страница 2/Страница 3"], u"Страница 4", [])
        TextPageFactory.create (self.wikiroot[u"Страница 1"], u"Страница 5", [u"тег 4", u"тег 1"])
Example #22
0
    def setUp (self):
        # Количество срабатываний особытий при изменении порядка страниц
        self.orderUpdateCount = 0
        self.orderUpdateSender = None

        # Здесь будет создаваться вики
        self.path = u"../test/testwiki"
        removeWiki (self.path)

        self.rootwiki = WikiDocument.create (self.path)
        Application.onPageOrderChange += self.onPageOrder
        Application.wikiroot = None
Example #23
0
    def setUp (self):
        BaseMainWndTest.setUp (self)

        self.path = u"../test/testwiki"
        removeWiki (self.path)

        self.rootwiki = WikiDocument.create (self.path)

        TextPageFactory.create (self.rootwiki, u"Страница 1", [])
        TextPageFactory.create (self.rootwiki, u"Страница 2", [])
        TextPageFactory.create (self.rootwiki[u"Страница 2"], u"Страница 3", [])
        TextPageFactory.create (self.rootwiki[u"Страница 2/Страница 3"], u"Страница 4", [])
        TextPageFactory.create (self.rootwiki[u"Страница 1"], u"Страница 5", [])
Example #24
0
    def setUp(self):
        # Здесь будет создаваться вики
        self.path = u"../test/testwiki"
        removeWiki (self.path)

        self.__eventcount = 0
        self.__eventSender = None

        self.rootwiki = WikiDocument.create (self.path)

        HtmlPageFactory.create (self.rootwiki, u"Страница 1", [])
        HtmlPageFactory.create (self.rootwiki, u"Страница 2", [])

        self.rootwiki.onPageUpdate += self.__onPageUpdate
Example #25
0
    def setUp (self):
        BaseMainWndTest.setUp (self)

        self._turnSyntax = [
                (BOLD_STR_ID, "<b>", "</b>"),
                (ITALIC_STR_ID, "<i>", "</i>"),
                (BOLD_ITALIC_STR_ID, "<b><i>", "</i></b>"),
                (UNDERLINE_STR_ID, "<u>", "</u>"),
                (STRIKE_STR_ID, "<strike>", "</strike>"),
                (SUBSCRIPT_STR_ID, "<sub>", "</sub>"),
                (SUPERSCRIPT_STR_ID, "<sup>", "</sup>"),
                (ALIGN_LEFT_STR_ID, '<div align="left">', '</div>'),
                (ALIGN_CENTER_STR_ID, '<div align="center">', '</div>'),
                (ALIGN_RIGHT_STR_ID, '<div align="right">', '</div>'),
                (ALIGN_JUSTIFY_STR_ID, '<div align="justify">', '</div>'),
                (HEADING_1_STR_ID, "<h1>", "</h1>"),
                (HEADING_2_STR_ID, "<h2>", "</h2>"),
                (HEADING_3_STR_ID, "<h3>", "</h3>"),
                (HEADING_4_STR_ID, "<h4>", "</h4>"),
                (HEADING_5_STR_ID, "<h5>", "</h5>"),
                (HEADING_6_STR_ID, "<h6>", "</h6>"),
                (PREFORMAT_STR_ID, "<pre>", "</pre>"),
                (CODE_STR_ID, "<code>", "</code>"),
                (ANCHOR_STR_ID, u'<a name="', u'"></a>'),
                (TABLE_STR_ID, u'<table>', u'</table>'),
                (TABLE_ROW_STR_ID, u'<tr>', u'</tr>'),
                (TABLE_CELL_STR_ID, u'<td>', u'</td>'),
                (QUOTE_STR_ID, u'<blockquote>', u'</blockquote>'),
                (IMAGE_STR_ID, u'<img src="', u'"/>'),
                ]

        self._replaceSyntax = [
                (HORLINE_STR_ID, u"<hr>"),
                ]

        self.path = u"../test/testwiki"
        removeWiki (self.path)

        self.wikiroot = WikiDocument.create (self.path)
        HtmlPageFactory.create (self.wikiroot, u"HTML-страница", [])
        HtmlPageFactory.create (self.wikiroot, u"temp", [])

        # Страница, куда будем переключаться перед изменением содержимого основной страницы
        # Можно было бы вместо temppage использовать None, но тогда программе 
        # пришлось бы каждый раз удалять и создавать панели инструментов, что медленно
        self.temppage = self.wikiroot[u"temp"]
        self.testpage = self.wikiroot[u"HTML-страница"]

        Application.wikiroot = self.wikiroot
        Application.selectedPage = self.testpage
Example #26
0
    def setUp (self):
        BaseMainWndTest.setUp (self)

        self.path = u"../test/testwiki"
        removeWiki (self.path)

        self.wikiroot = WikiDocument.create (self.path)

        TextPageFactory.create (self.wikiroot, u"Страница 1", [])
        TextPageFactory.create (self.wikiroot, u"Страница 2", [])
        TextPageFactory.create (self.wikiroot[u"Страница 2"], u"Страница 3", [])
        TextPageFactory.create (self.wikiroot[u"Страница 2/Страница 3"], u"Страница 4", [])
        TextPageFactory.create (self.wikiroot[u"Страница 1"], u"Страница 5", [])

        self._tabsController = Application.mainWindow.tabsController
Example #27
0
        def __createInvalidWiki2 ():
            # Здесь будет создаваться вики
            path = u"../test/testwiki"
            removeWiki (path)

            rootwiki = WikiDocument.create (path)

            TextPageFactory.create (rootwiki, u"Страница 1", [])
            TextPageFactory.create (rootwiki[u"Страница 1"], u"Страница 2", [])

            # Испортим файл __page.opt
            with open (os.path.join (rootwiki.path, u"__page.opt"), "w") as fp:
                fp.write (u"[General]\naaa=xxx\n<<<<<<<<wsfsdf sdf sdfasdfdsf \nasfasdsadf")

            return path
Example #28
0
    def setUp(self):
        self.path = u"../test/testwiki"
        removeWiki(self.path)
        Application.wikiroot = None

        self.rootwiki = WikiDocument.create(self.path)

        TextPageFactory.create(self.rootwiki, u"Страница 1", [])
        TextPageFactory.create(self.rootwiki, u"Страница 2", [])
        TextPageFactory.create(self.rootwiki[u"Страница 2"], u"Страница 3", [])
        TextPageFactory.create(self.rootwiki[u"Страница 2/Страница 3"], u"Страница 4", [])
        TextPageFactory.create(self.rootwiki[u"Страница 1"], u"Страница 5", [])
        TextPageFactory.create(self.rootwiki, u"Страница 6", [])

        self.pageRemoveCount = 0
        Application.wikiroot = None
Example #29
0
    def setUp(self):
        # Здесь будет создаваться вики
        self.path = u"../test/testwiki"
        removeWiki (self.path)

        self.rootwiki = WikiDocument.create (self.path)

        TextPageFactory.create (self.rootwiki, u"Страница 1", [])
        TextPageFactory.create (self.rootwiki, u"Страница 2", [])
        TextPageFactory.create (self.rootwiki[u"Страница 2"], u"Страница 3", [])
        TextPageFactory.create (self.rootwiki[u"Страница 2/Страница 3"], u"Страница 4", [])
        TextPageFactory.create (self.rootwiki[u"Страница 1"], u"Страница 5", [])

        self.bookmarkCount = 0
        self.bookmarkSender = None
        Application.wikiroot = None
Example #30
0
    def testCreateEvent (self):
        Application.onTreeUpdate += self.treeUpdate
        Application.onPageCreate += self.pageCreate

        removeWiki (self.path)

        self.assertFalse(self.isTreeUpdate)
        self.assertFalse(self.isPageUpdate)
        self.assertFalse(self.isPageCreate)

        # Создаем вики
        rootwiki = WikiDocument.create (self.path)

        self.assertFalse(self.isTreeUpdate)
        self.assertEqual (self.treeUpdateSender, None)

        Application.wikiroot = rootwiki

        # Создаем страницу верхнего уровня (не считая корня)
        self.isPageCreate = False
        self.pageCreateSender = None

        TextPageFactory.create (rootwiki, u"Страница 1", [])
        
        self.assertTrue(self.isPageCreate)
        self.assertEqual (self.pageCreateSender, rootwiki[u"Страница 1"])

        # Создаем еще одну страницу
        self.isPageCreate = False
        self.pageCreateSender = None

        TextPageFactory.create (rootwiki, u"Страница 2", [])

        self.assertTrue(self.isPageCreate)
        self.assertEqual (self.pageCreateSender, rootwiki[u"Страница 2"])

        # Создаем подстраницу
        self.isPageCreate = False
        self.pageCreateSender = None

        TextPageFactory.create (rootwiki[u"Страница 2"], u"Страница 3", [])

        self.assertTrue(self.isPageCreate)
        self.assertEqual (self.pageCreateSender, rootwiki[u"Страница 2/Страница 3"])

        Application.onTreeUpdate -= self.treeUpdate
        Application.onPageCreate -= self.pageCreate
Example #31
0
    def setUp (self):
        BaseMainWndTest.setUp (self)

        self._turnSyntax = [
                (BOLD_STR_ID, "'''", "'''"),
                (ITALIC_STR_ID, "''", "''"),
                (BOLD_ITALIC_STR_ID, "''''", "''''"),
                (UNDERLINE_STR_ID, "{+", "+}"),
                (STRIKE_STR_ID, "{-", "-}"),
                (SUBSCRIPT_STR_ID, "'_", "_'"),
                (SUPERSCRIPT_STR_ID, "'^", "^'"),
                (ALIGN_LEFT_STR_ID, "%left%", ""),
                (ALIGN_CENTER_STR_ID, "%center%", ""),
                (ALIGN_RIGHT_STR_ID, "%right%", ""),
                (ALIGN_JUSTIFY_STR_ID, "%justify%", ""),
                (HEADING_1_STR_ID, "!! ", ""),
                (HEADING_2_STR_ID, "!!! ", ""),
                (HEADING_3_STR_ID, "!!!! ", ""),
                (HEADING_4_STR_ID, "!!!!! ", ""),
                (HEADING_5_STR_ID, "!!!!!! ", ""),
                (HEADING_6_STR_ID, "!!!!!!! ", ""),
                (PREFORMAT_STR_ID, "[@", "@]"),
                (CODE_STR_ID, "@@", "@@"),
                (ANCHOR_STR_ID, "[[#", "]]"),
                (QUOTE_STR_ID, "[>", "<]"),
                ]

        self._replaceSyntax = [
                (HORLINE_STR_ID, u"----"),
                ]


        self.path = u"../test/testwiki"
        removeWiki (self.path)

        self.wikiroot = WikiDocument.create (self.path)
        WikiPageFactory.create (self.wikiroot, u"Викистраница", [])
        WikiPageFactory.create (self.wikiroot, u"temp", [])

        # Страница, куда будем переключаться перед изменением содержимого основной страницы
        # Можно было бы вместо temppage использовать None, но тогда программе 
        # пришлось бы каждый раз удалять и создавать панели инструментов, что медленно
        self.temppage = self.wikiroot[u"temp"]
        self.testpage = self.wikiroot[u"Викистраница"]

        Application.wikiroot = self.wikiroot
        Application.selectedPage = self.testpage
Example #32
0
    def setUp (self):
        BaseMainWndTest.setUp (self)

        self.path = u"../test/testwiki"
        removeWiki (self.path)

        self.wikiroot = WikiDocument.create (self.path)

        TextPageFactory.create (self.wikiroot, u"Страница 1", [])
        TextPageFactory.create (self.wikiroot, u"Страница 2", [])
        TextPageFactory.create (self.wikiroot[u"Страница 2"], u"Страница 3", [])

        self.page = self.wikiroot[u"Страница 2/Страница 3"]

        filesPath = u"../test/samplefiles/"
        self.files = [u"accept.png", u"add.png", u"anchor.png", u"файл с пробелами.tmp", u"dir"]
        self.fullFilesPath = [os.path.join (filesPath, fname) for fname in self.files]
Example #33
0
    def run(self):
        self.parser.toHtml(self.testPage.content)

        removeWiki(self.path)
Example #34
0
 def tearDown(self):
     removeWiki (self.path)