예제 #1
0
    def testCreateDate_02(self):
        page = TextPageFactory().create(self.wikiroot, "Страница 1", [])

        time.sleep(0.1)
        page.content = "Абырвалг"

        self.assertNotEqual(page.datetime, page.creationdatetime)
예제 #2
0
    def testLoadingOldVersion2(self):
        """
        Тест на чтение вики старой версии, когда еще не было параметра order
        """
        TextPageFactory().create(self.wikiroot, "Страница 1", [])
        TextPageFactory().create(self.wikiroot, "Страница 0", [])
        TextPageFactory().create(self.wikiroot, "Страница 3", [])
        TextPageFactory().create(self.wikiroot, "Страница 2", [])

        # Удалим параметры order
        IntegerOption(self.wikiroot["Страница 0"].params,
                      PageConfig.sectionName, PageConfig.orderParamName,
                      -1).remove_option()
        IntegerOption(self.wikiroot["Страница 1"].params,
                      PageConfig.sectionName, PageConfig.orderParamName,
                      -1).remove_option()
        IntegerOption(self.wikiroot["Страница 2"].params,
                      PageConfig.sectionName, PageConfig.orderParamName,
                      -1).remove_option()
        IntegerOption(self.wikiroot["Страница 3"].params,
                      PageConfig.sectionName, PageConfig.orderParamName,
                      -1).remove_option()

        wikiroot = WikiDocument.load(self.path)

        self.assertEqual(wikiroot["Страница 0"].order, 0)
        self.assertEqual(wikiroot["Страница 1"].order, 1)
        self.assertEqual(wikiroot["Страница 2"].order, 2)
        self.assertEqual(wikiroot["Страница 3"].order, 3)
예제 #3
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 = mkdtemp(prefix=u'Абыр Абырвалг')
        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
        removeDir(newpath)
예제 #4
0
    def testPageSelectLoad(self):
        Application.onPageSelect += self.pageSelect

        removeDir(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
예제 #5
0
파일: event.py 프로젝트: qyqx/outwiker
    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
예제 #6
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
예제 #7
0
파일: search.py 프로젝트: qyqx/outwiker
    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 Января. Фотографирован во время  улыбки при магнии. \
예제 #8
0
    def testChildrenEmpty (self):
        factory = TextPageFactory()
        parent = factory.create (self.wikiroot, u"Родитель", [])

        Application.wikiroot = self.wikiroot
        Application.selectedPage = parent
        Application.actionController.getAction (SortChildAlphabeticalAction.stringId).run(None)
예제 #9
0
파일: attach.py 프로젝트: qyqx/outwiker
    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)
예제 #10
0
    def testOrder1(self):
        tree = self._getTreeCtrl()

        self.application.wikiroot = self.wikiroot

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

        self.wikiroot["Страница 2"].order -= 1

        rootitem = tree.GetRootItem()
        page2Item, cookie = tree.GetFirstChild(rootitem)

        self.assertEqual(tree.GetChildrenCount(page2Item, False), 1)
        self.assertEqual(tree.GetChildrenCount(page2Item, True), 1)
        self.assertEqual(tree.GetItemData(page2Item),
                         self.wikiroot["Страница 2"])
        self.assertEqual(tree.GetItemText(page2Item), "Страница 2")

        page3Item, cookie = tree.GetFirstChild(page2Item)

        self.assertEqual(tree.GetChildrenCount(page3Item, True), 0)
        self.assertEqual(tree.GetChildrenCount(page3Item, False), 0)
        self.assertEqual(tree.GetItemData(page3Item),
                         self.wikiroot["Страница 2/Страница 3"])
        self.assertEqual(tree.GetItemText(page3Item), "Страница 3")
예제 #11
0
파일: tree.py 프로젝트: qyqx/outwiker
    def testOrder1 (self):
        tree = self._getTreeCtrl()

        Application.wikiroot = self.wikiroot

        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", [])

        # print
        # print "testOrder1"

        self.wikiroot[u"Страница 2"].order -= 1

        # tree.Update()
        # import time
        # time.sleep (5)

        rootitem = tree.GetRootItem()
        page2Item, cookie = tree.GetFirstChild (rootitem)

        self.assertEqual (tree.GetChildrenCount (page2Item, False), 1)
        self.assertEqual (tree.GetChildrenCount (page2Item, True), 1)
        self.assertEqual (tree.GetItemData(page2Item).GetData(), self.wikiroot[u"Страница 2"])
        self.assertEqual (tree.GetItemText (page2Item), u"Страница 2")

        page3Item, cookie = tree.GetFirstChild (page2Item)

        self.assertEqual (tree.GetChildrenCount (page3Item, True), 0)
        self.assertEqual (tree.GetChildrenCount (page3Item, False), 0)
        self.assertEqual (tree.GetItemData(page3Item).GetData(), self.wikiroot[u"Страница 2/Страница 3"])
        self.assertEqual (tree.GetItemText (page3Item), u"Страница 3")
예제 #12
0
    def setUp (self):
        BaseMainWndTest.setUp (self)

        factory = TextPageFactory()
        factory.create (self.wikiroot, u"Страница 1", [])
        factory.create (self.wikiroot, u"Страница 2", [])
        factory.create (self.wikiroot[u"Страница 2"], u"Страница 3", [])
예제 #13
0
파일: tree.py 프로젝트: qyqx/outwiker
    def testSelectedPage (self):
        tree = self._getTreeCtrl()
        rootitem = tree.GetRootItem()

        Application.wikiroot = self.wikiroot

        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.wikiroot.selectedPage = self.wikiroot[u"Страница 1"]

        selItem = tree.GetSelection()
        self.assertEqual (tree.GetItemData(selItem).GetData(), self.wikiroot.selectedPage)
        self.assertEqual (tree.GetItemData(selItem).GetData(), self.wikiroot[u"Страница 1"])


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

        selItem = tree.GetSelection()
        self.assertEqual (tree.GetItemData(selItem).GetData(), self.wikiroot.selectedPage)
        self.assertEqual (tree.GetItemData(selItem).GetData(), self.wikiroot[u"Страница 2/Страница 3"])
예제 #14
0
파일: tree.py 프로젝트: qyqx/outwiker
    def testRemovePage (self):
        tree = self._getTreeCtrl()

        Application.wikiroot = self.wikiroot

        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", [])
    
        rootitem = tree.GetRootItem()
        self.assertEqual (tree.GetChildrenCount (rootitem, True), 5)
        self.assertEqual (tree.GetChildrenCount (rootitem, False), 2)

        self.wikiroot[u"Страница 2/Страница 3"].remove()

        newrootitem = tree.GetRootItem()
        self.assertEqual (tree.GetChildrenCount (newrootitem, True), 3)
        self.assertEqual (tree.GetChildrenCount (newrootitem, False), 2)

        self.wikiroot[u"Страница 2"].remove()

        newrootitem2 = tree.GetRootItem()
        self.assertEqual (tree.GetChildrenCount (newrootitem2, True), 2)
        self.assertEqual (tree.GetChildrenCount (newrootitem2, False), 1)
예제 #15
0
파일: tree.py 프로젝트: qyqx/outwiker
    def testAddMorePages (self):
        tree = self._getTreeCtrl()

        Application.wikiroot = self.wikiroot

        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", [])
    
        rootitem = tree.GetRootItem()
        self.assertEqual (tree.GetChildrenCount (rootitem, True), 5)
        self.assertEqual (tree.GetChildrenCount (rootitem, False), 2)

        firstItem, cookie = tree.GetFirstChild (rootitem)
        page2Item = tree.GetNextSibling (firstItem)

        self.assertEqual (tree.GetChildrenCount (page2Item, True), 2)
        self.assertEqual (tree.GetChildrenCount (page2Item, False), 1)
        self.assertEqual (tree.GetItemData(page2Item).GetData(), self.wikiroot[u"Страница 2"])
        self.assertEqual (tree.GetItemText (page2Item), u"Страница 2")

        page3Item, cookie = tree.GetFirstChild (page2Item)

        self.assertEqual (tree.GetChildrenCount (page3Item, True), 1)
        self.assertEqual (tree.GetChildrenCount (page3Item, False), 1)
        self.assertEqual (tree.GetItemData(page3Item).GetData(), self.wikiroot[u"Страница 2/Страница 3"])
        self.assertEqual (tree.GetItemText (page3Item), u"Страница 3")
예제 #16
0
    def testCreateDate_02(self):
        page = TextPageFactory().create(self.wikiroot, u"Страница 1", [])

        time.sleep(0.1)
        page.content = u"Абырвалг"

        self.assertNotEqual(page.datetime, page.creationdatetime)
예제 #17
0
    def testSelectedPage(self):
        tree = self._getTreeCtrl()

        self.application.wikiroot = self.wikiroot

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

        self.wikiroot.selectedPage = self.wikiroot["Страница 1"]

        selItem = tree.GetSelection()
        self.assertEqual(tree.GetItemData(selItem), self.wikiroot.selectedPage)
        self.assertEqual(tree.GetItemData(selItem),
                         self.wikiroot["Страница 1"])

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

        selItem = tree.GetSelection()
        self.assertEqual(tree.GetItemData(selItem), self.wikiroot.selectedPage)
        self.assertEqual(tree.GetItemData(selItem),
                         self.wikiroot["Страница 2/Страница 3"])
예제 #18
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
예제 #19
0
    def testAddMorePages(self):
        tree = self._getTreeCtrl()

        self.application.wikiroot = self.wikiroot

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

        rootitem = tree.GetRootItem()
        self.assertEqual(tree.GetChildrenCount(rootitem, True), 5)
        self.assertEqual(tree.GetChildrenCount(rootitem, False), 2)

        firstItem, cookie = tree.GetFirstChild(rootitem)
        page2Item = tree.GetNextSibling(firstItem)

        self.assertEqual(tree.GetChildrenCount(page2Item, True), 2)
        self.assertEqual(tree.GetChildrenCount(page2Item, False), 1)
        self.assertEqual(tree.GetItemData(page2Item),
                         self.wikiroot["Страница 2"])
        self.assertEqual(tree.GetItemText(page2Item), "Страница 2")

        page3Item, cookie = tree.GetFirstChild(page2Item)

        self.assertEqual(tree.GetChildrenCount(page3Item, True), 1)
        self.assertEqual(tree.GetChildrenCount(page3Item, False), 1)
        self.assertEqual(tree.GetItemData(page3Item),
                         self.wikiroot["Страница 2/Страница 3"])
        self.assertEqual(tree.GetItemText(page3Item), "Страница 3")
예제 #20
0
    def testLoadWiki (self):
        TextPageFactory.create (self.rootwiki, u"Страница 1", [])
        newdate = datetime.datetime (2012, 8, 24)
        self.rootwiki[u"Страница 1"].datetime = newdate

        newroot = WikiDocument.load (self.path)
        self.assertEqual (newroot[u"Страница 1"].datetime, newdate)
예제 #21
0
    def setUp(self):
        self.initApplication()
        self.wikiroot = self.createWiki()

        factory = TextPageFactory()
        factory.create(self.wikiroot, "Страница", [])
        factory.create(self.wikiroot, "Страница 2", [])
예제 #22
0
    def testPageSelectCreate(self):
        Application.onPageSelect += self.pageSelect

        removeDir(self.path)

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

        Application.wikiroot = rootwiki

        self.assertEqual(rootwiki.selectedPage, None)

        rootwiki.selectedPage = rootwiki["Страница 1"]

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

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

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

        Application.onPageSelect -= self.pageSelect
예제 #23
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
예제 #24
0
    def testSortChildrenNoEvent(self):
        """
        Сортировка заметок, находящихся на более глубоком уровне вложения
        """
        factory = TextPageFactory()
        factory.create(self.wikiroot["Страница 1"], "Вложенная страница 8", [])
        factory.create(self.wikiroot["Страница 1"], "Вложенная страница 2", [])
        factory.create(self.wikiroot["Страница 1"], "Вложенная страница 5", [])
        factory.create(self.wikiroot["Страница 1"], "Вложенная страница 4", [])
        factory.create(self.wikiroot["Страница 1"], "Вложенная страница 6", [])
        factory.create(self.wikiroot["Страница 1"], "Вложенная страница 1", [])
        factory.create(self.wikiroot["Страница 1"], "Вложенная страница 3", [])
        factory.create(self.wikiroot["Страница 1"], "Вложенная страница 7", [])

        self.wikiroot["Страница 1/Вложенная страница 8"].order = 0
        self.wikiroot["Страница 1/Вложенная страница 2"].order = 1
        self.wikiroot["Страница 1/Вложенная страница 5"].order = 2
        self.wikiroot["Страница 1/Вложенная страница 4"].order = 3
        self.wikiroot["Страница 1/Вложенная страница 6"].order = 4
        self.wikiroot["Страница 1/Вложенная страница 1"].order = 5
        self.wikiroot["Страница 1/Вложенная страница 3"].order = 6
        self.wikiroot["Страница 1/Вложенная страница 7"].order = 7

        Application.onEndTreeUpdate += self.onEndTreeUpdate

        self.wikiroot["Страница 1"].sortChildrenAlphabetical()

        Application.onEndTreeUpdate -= self.onEndTreeUpdate

        self.assertEqual(0, self.treeUpdateCount)
        self.assertEqual(None, self.treeUpdateSender)
예제 #25
0
    def testRemovePage(self):
        tree = self._getTreeCtrl()

        self.application.wikiroot = self.wikiroot

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

        rootitem = tree.GetRootItem()
        self.assertEqual(tree.GetChildrenCount(rootitem, True), 5)
        self.assertEqual(tree.GetChildrenCount(rootitem, False), 2)

        self.wikiroot["Страница 2/Страница 3"].remove()

        newrootitem = tree.GetRootItem()
        self.assertEqual(tree.GetChildrenCount(newrootitem, True), 3)
        self.assertEqual(tree.GetChildrenCount(newrootitem, False), 2)

        self.wikiroot["Страница 2"].remove()

        newrootitem2 = tree.GetRootItem()
        self.assertEqual(tree.GetChildrenCount(newrootitem2, True), 2)
        self.assertEqual(tree.GetChildrenCount(newrootitem2, False), 1)
예제 #26
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
예제 #27
0
    def setUp(self):
        # Здесь будет создаваться вики
        self.path = mkdtemp(prefix=u'Абырвалг абыр')

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

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

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

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

        self.wikiroot[
            u"Страница 2/Страница 3/Страница 4"].icon = "../test/images/feed.gif"
예제 #28
0
    def setUp(self):
        # Количество срабатываний особытий при обновлении страницы
        self.treeUpdateCount = 0
        self.treeUpdateSender = None
        Application.wikiroot = None

        # Здесь будет создаваться вики
        self.path = mkdtemp(prefix='Абырвалг абыр')

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

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

        self.wikiroot["Страница 8"].order = 0
        self.wikiroot["Страница 2"].order = 1
        self.wikiroot["Страница 5"].order = 2
        self.wikiroot["Страница 4"].order = 3
        self.wikiroot["Страница 6"].order = 4
        self.wikiroot["Страница 1"].order = 5
        self.wikiroot["Страница 3"].order = 6
        self.wikiroot["Страница 7"].order = 7
예제 #29
0
    def testRename(self):
        tree = self._getTreeCtrl()
        Application.wikiroot = self.wikiroot

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

        self.wikiroot[u"Страница 2"].title = u"Переименованная страница"

        rootitem = tree.GetRootItem()
        firstItem, cookie = tree.GetFirstChild(rootitem)
        newPageItem = tree.GetNextSibling(firstItem)

        self.assertEqual(tree.GetChildrenCount(newPageItem, False), 1)
        self.assertEqual(tree.GetChildrenCount(newPageItem, True), 1)
        self.assertEqual(
            tree.GetItemData(newPageItem).GetData(),
            self.wikiroot[u"Переименованная страница"])
        self.assertEqual(tree.GetItemText(newPageItem),
                         u"Переименованная страница")
예제 #30
0
    def testSymbolsNotWhiteSpacesText (self):
        TextPageFactory.create (self.rootwiki, u"Страница 1", [])
        testPage = self.rootwiki[u"Страница 1"]

        testPage.content = u"Бла бла бла\r\n\t\t\tАбырвалг  "
        pageStat = self.loader[self.__pluginname].getPageStat (testPage)

        self.assertEqual (pageStat.symbolsNotWhiteSpaces, 17)
예제 #31
0
    def testInvalidPageName2(self):
        self.assertRaises(DublicateTitle,
                          TextPageFactory().create, self.wikiroot,
                          u"страНица 1", [])

        self.assertRaises(DublicateTitle,
                          TextPageFactory().create,
                          self.wikiroot[u"Страница 1"], u"страНица 5", [])
예제 #32
0
    def testSymbolsCountText (self):
        TextPageFactory.create (self.rootwiki, u"Страница 1", [])
        testPage = self.rootwiki[u"Страница 1"]

        testPage.content = u"Бла бла бла"
        pageStat = self.loader[self.__pluginname].getPageStat (testPage)

        self.assertEqual (pageStat.symbols, 11)
예제 #33
0
    def testChildrenEmpty(self):
        factory = TextPageFactory()
        parent = factory.create(self.wikiroot, "Родитель", [])

        self.application.wikiroot = self.wikiroot
        self.application.selectedPage = parent
        self.application.actionController.getAction(
            SortChildAlphabeticalAction.stringId).run(None)
예제 #34
0
    def testCreateDate (self):
        now = datetime.datetime.now()
        TextPageFactory.create (self.rootwiki, u"Страница 1", [])

        self.assertNotEqual (self.rootwiki[u"Страница 1"].datetime, None)

        delta = now - self.rootwiki[u"Страница 1"].datetime
        self.assertLess (delta, self._maxDelta)
예제 #35
0
    def testsavePage (self):
        newdate = datetime.datetime (2012, 8, 24)

        TextPageFactory.create (self.rootwiki, u"Страница 1", [])
        self.rootwiki[u"Страница 1"].content = u"Бла-бла-бла"
        self.rootwiki[u"Страница 1"].datetime = newdate

        self.rootwiki[u"Страница 1"].save()
        self.assertEqual (self.rootwiki[u"Страница 1"].datetime, newdate)
예제 #36
0
class FactorySelector (object):
    """
    Класс, который выбирает нужную фабрику для каждой страницы
    """
    _defaultFactory = TextPageFactory()

    _factories = {factory.getTypeString(): factory
                  for factory
                  in [WikiPageFactory(),
                      HtmlPageFactory(),
                      TextPageFactory(),
                      SearchPageFactory()]}


    @staticmethod
    def getFactories ():
        return sorted (FactorySelector._factories.values(),
                       cmp = lambda x, y: cmp (x.title, y.title))


    @staticmethod
    def getFactory (pageType):
        """
        Найти фабрику, которая работает с переданным типом страницы (со страницей данного типа).
        Или вернуть фабрику по умолчанию
        """
        return FactorySelector._factories.get (pageType, FactorySelector._defaultFactory)


    @staticmethod
    def reset ():
        """
        Установить словарь фабрик в первоначальное состояние. Используется для тестирования.
        Это не конструктор. В случае изменения списка фабрик, установленных по умолчанию, нужно изменять этот метод.
        """
        FactorySelector._factories = {factory.getTypeString(): factory
                                      for factory
                                      in [WikiPageFactory(),
                                          HtmlPageFactory(),
                                          TextPageFactory(),
                                          SearchPageFactory()]}


    @staticmethod
    def addFactory (newFactory):
        """
        Добавить новую фабрику. При этом у фабрики может быть новый создаваемый тип страниц, в то же время фабрика может заменить существующую фабрику.
        """
        FactorySelector._factories[newFactory.getTypeString()] = newFactory


    @staticmethod
    def removeFactory (typeString):
        """
        Удаляет фабрику из словаря
        """
        FactorySelector._factories.pop (typeString, None)
예제 #37
0
    def setUp(self):
        self.path = mkdtemp(prefix='Абырвалг абыр')
        self.eventcount = 0

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

        factory = TextPageFactory()
        self._page = factory.create(self.wikiroot, "Страница 1", [])
        self._page.root.onPageUpdate += self._onPageUpdate
예제 #38
0
    def test_registry_remove_page_01(self):
        factory = TextPageFactory()
        page1 = factory.create(self.wikiroot, "Страница 1", [])
        self.wikiroot.registry.get_page_registry(page1)

        self.assertTrue(self.wikiroot.registry.has_section_for_page(page1))

        page1.remove()
        self.assertFalse(self.wikiroot.registry.has_section_for_page(page1))
예제 #39
0
    def setUp(self):
        self.path = mkdtemp(prefix=u'Абырвалг абыр')
        self.eventcount = 0

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

        factory = TextPageFactory()
        self._page = factory.create(self.wikiroot, u"Страница 1", [])
        self._page.root.onPageUpdate += self._onPageUpdate
예제 #40
0
    def setUp (self):
        BaseMainWndTest.setUp (self)

        factory = TextPageFactory()
        factory.create (self.wikiroot, u"Страница 1", [])
        factory.create (self.wikiroot, u"Страница 2", [])
        factory.create (self.wikiroot[u"Страница 2"], u"Страница 3", [])
        factory.create (self.wikiroot[u"Страница 2/Страница 3"], u"Страница 4", [])
        factory.create (self.wikiroot[u"Страница 1"], u"Страница 5", [])
예제 #41
0
    def testInvalidIcon(self):
        tree = self._getTreeCtrl()
        self.application.wikiroot = self.wikiroot

        factory = TextPageFactory()
        page = factory.create(self.wikiroot, "Страница 1", [])
        icon_name = '../test/images/invalid.png'
        assert os.path.exists(icon_name)

        page.icon = icon_name
예제 #42
0
파일: pageorder.py 프로젝트: qyqx/outwiker
    def testCreateOrder3 (self):
        TextPageFactory.create (self.rootwiki, u"Страница 2", [])
        TextPageFactory.create (self.rootwiki, u"Страница 1", [])

        self.assertEqual (self.rootwiki[u"Страница 1"].order, 0)
        self.assertEqual (self.rootwiki[u"Страница 2"].order, 1)

        self.assertEqual (len (self.rootwiki.children), 2)
        self.assertEqual (self.rootwiki.children[0], self.rootwiki[u"Страница 1"])
        self.assertEqual (self.rootwiki.children[1], self.rootwiki[u"Страница 2"])
예제 #43
0
    def testInvalidIcon(self):
        tree = self._getTreeCtrl()
        self.application.wikiroot = self.wikiroot

        factory = TextPageFactory()
        page = factory.create(self.wikiroot, "Страница 1", [])
        icon_name = 'testdata/images/invalid.png'
        assert os.path.exists(icon_name)

        page.icon = icon_name
예제 #44
0
파일: treesort.py 프로젝트: LihMeh/outwiker
    def setUp(self):
        # Количество срабатываний особытий при обновлении страницы
        self.treeUpdateCount = 0
        self.treeUpdateSender = None
        Application.wikiroot = None

        # Здесь будет создаваться вики
        self.path = mkdtemp (prefix=u'Абырвалг абыр')

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

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

        self.wikiroot[u"Страница 8"].order = 0
        self.wikiroot[u"Страница 2"].order = 1
        self.wikiroot[u"Страница 5"].order = 2
        self.wikiroot[u"Страница 4"].order = 3
        self.wikiroot[u"Страница 6"].order = 4
        self.wikiroot[u"Страница 1"].order = 5
        self.wikiroot[u"Страница 3"].order = 6
        self.wikiroot[u"Страница 7"].order = 7
예제 #45
0
    def setUp(self):
        # Здесь будет создаваться вики
        self.path = mkdtemp (prefix=u'Абырвалг абыр')
        self.eventcount = 0

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

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

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

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

        self.wikiroot[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
예제 #46
0
파일: tree.py 프로젝트: theoden-dd/outwiker
    def testOrder1(self):
        tree = self._getTreeCtrl()

        Application.wikiroot = self.wikiroot

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

        self.wikiroot[u"Страница 2"].order -= 1

        rootitem = tree.GetRootItem()
        page2Item, cookie = tree.GetFirstChild(rootitem)

        self.assertEqual(tree.GetChildrenCount(page2Item, False), 1)
        self.assertEqual(tree.GetChildrenCount(page2Item, True), 1)
        self.assertEqual(tree.GetItemData(page2Item).GetData(), self.wikiroot[u"Страница 2"])
        self.assertEqual(tree.GetItemText(page2Item), u"Страница 2")

        page3Item, cookie = tree.GetFirstChild(page2Item)

        self.assertEqual(tree.GetChildrenCount(page3Item, True), 0)
        self.assertEqual(tree.GetChildrenCount(page3Item, False), 0)
        self.assertEqual(tree.GetItemData(page3Item).GetData(), self.wikiroot[u"Страница 2/Страница 3"])
        self.assertEqual(tree.GetItemText(page3Item), u"Страница 3")
예제 #47
0
파일: treesort.py 프로젝트: LihMeh/outwiker
    def testSortChildrenNoEvent (self):
        """
        Сортировка заметок, находящихся на более глубоком уровне вложения
        """
        factory = TextPageFactory()
        factory.create (self.wikiroot[u"Страница 1"], u"Вложенная страница 8", [])
        factory.create (self.wikiroot[u"Страница 1"], u"Вложенная страница 2", [])
        factory.create (self.wikiroot[u"Страница 1"], u"Вложенная страница 5", [])
        factory.create (self.wikiroot[u"Страница 1"], u"Вложенная страница 4", [])
        factory.create (self.wikiroot[u"Страница 1"], u"Вложенная страница 6", [])
        factory.create (self.wikiroot[u"Страница 1"], u"Вложенная страница 1", [])
        factory.create (self.wikiroot[u"Страница 1"], u"Вложенная страница 3", [])
        factory.create (self.wikiroot[u"Страница 1"], u"Вложенная страница 7", [])

        self.wikiroot[u"Страница 1/Вложенная страница 8"].order = 0
        self.wikiroot[u"Страница 1/Вложенная страница 2"].order = 1
        self.wikiroot[u"Страница 1/Вложенная страница 5"].order = 2
        self.wikiroot[u"Страница 1/Вложенная страница 4"].order = 3
        self.wikiroot[u"Страница 1/Вложенная страница 6"].order = 4
        self.wikiroot[u"Страница 1/Вложенная страница 1"].order = 5
        self.wikiroot[u"Страница 1/Вложенная страница 3"].order = 6
        self.wikiroot[u"Страница 1/Вложенная страница 7"].order = 7

        Application.onEndTreeUpdate += self.onEndTreeUpdate

        self.wikiroot[u"Страница 1"].sortChildrenAlphabetical ()

        Application.onEndTreeUpdate -= self.onEndTreeUpdate

        self.assertEqual (0, self.treeUpdateCount)
        self.assertEqual (None, self.treeUpdateSender)
예제 #48
0
파일: openwiki.py 프로젝트: LihMeh/outwiker
    def setUp (self):
        BaseMainWndTest.setUp (self)

        self.path2 = mkdtemp (prefix=u'Абырвалг абырвалг')

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

        Tester.dialogTester.clear()
예제 #49
0
    def testNoEventOrder5(self):
        TextPageFactory().create(self.wikiroot, "Страница 1", [])
        TextPageFactory().create(self.wikiroot, "Страница 2", [])
        TextPageFactory().create(self.wikiroot, "Страница 3", [])
        TextPageFactory().create(self.wikiroot, "Страница 4", [])

        # Перемещаем вниз,хотя страница и так в самом низу
        self.wikiroot["Страница 1"].order = 2

        self.assertEqual(self.orderUpdateCount, 0)
        self.assertEqual(self.orderUpdateSender, None)
예제 #50
0
파일: tagspanel.py 프로젝트: qyqx/outwiker
    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"])
예제 #51
0
    def testNoEventOrder2(self):
        TextPageFactory().create(self.wikiroot, u"Страница 1", [])
        TextPageFactory().create(self.wikiroot, u"Страница 2", [])
        TextPageFactory().create(self.wikiroot, u"Страница 3", [])
        TextPageFactory().create(self.wikiroot, u"Страница 4", [])

        # Перемещаем вверх,хотя страница и так в самом верху
        self.wikiroot[u"Страница 1"].order -= 1

        self.assertEqual(self.orderUpdateCount, 0)
        self.assertEqual(self.orderUpdateSender, None)
예제 #52
0
    def testCreateDate_05(self):
        page = TextPageFactory().create(self.wikiroot, u"Страница 1", [])
        creationDateTime = page.creationdatetime

        time.sleep(0.1)
        page.content = u"111"

        newwiki = WikiDocument.load(self.path, False)
        newwiki[u"Страница 1"].content = u"Абырвалг"

        self.assertEqual(creationDateTime, newwiki[u"Страница 1"].creationdatetime)
예제 #53
0
    def setUp(self):
        self.initApplication()
        self.wikiroot = self.createWiki()

        factory = TextPageFactory()
        factory.create(self.wikiroot, "Страница 1", [])
        factory.create(self.wikiroot, "Страница 2", [])
        factory.create(self.wikiroot["Страница 2"], "Страница 3", [])
        factory.create(self.wikiroot["Страница 2/Страница 3"], "Страница 4",
                       [])
        factory.create(self.wikiroot["Страница 1"], "Страница 5", [])
예제 #54
0
    def testCreateDate_05(self):
        page = TextPageFactory().create(self.wikiroot, "Страница 1", [])
        creationDateTime = page.creationdatetime

        time.sleep(0.1)
        page.content = "111"

        newwiki = WikiDocument.load(self.path, False)
        newwiki["Страница 1"].content = "Абырвалг"

        self.assertEqual(creationDateTime,
                         newwiki["Страница 1"].creationdatetime)
예제 #55
0
    def testEventOrder2(self):
        TextPageFactory().create(self.wikiroot, "Страница 1", [])
        TextPageFactory().create(self.wikiroot, "Страница 2", [])
        TextPageFactory().create(self.wikiroot, "Страница 3", [])
        TextPageFactory().create(self.wikiroot, "Страница 4", [])

        Application.wikiroot = self.wikiroot

        # Перемещаем вверх,хотя страница и так в самом верху
        self.wikiroot["Страница 1"].order -= 1

        self.assertEqual(self.orderUpdateCount, 0)
예제 #56
0
    def testChangeOrder9(self):
        TextPageFactory().create(self.wikiroot, "Страница 1", [])
        TextPageFactory().create(self.wikiroot, "Страница 2", [])
        TextPageFactory().create(self.wikiroot, "Страница 3", [])
        TextPageFactory().create(self.wikiroot, "Страница 4", [])

        self.wikiroot["Страница 4"].order = -100

        self.assertEqual(self.wikiroot["Страница 4"].order, 0)
        self.assertEqual(self.wikiroot["Страница 1"].order, 1)
        self.assertEqual(self.wikiroot["Страница 2"].order, 2)
        self.assertEqual(self.wikiroot["Страница 3"].order, 3)
예제 #57
0
    def testCreateOrder3(self):
        TextPageFactory().create(self.wikiroot, u"Страница 2", [])
        TextPageFactory().create(self.wikiroot, u"Страница 1", [])

        self.assertEqual(self.wikiroot[u"Страница 1"].order, 0)
        self.assertEqual(self.wikiroot[u"Страница 2"].order, 1)

        self.assertEqual(len(self.wikiroot.children), 2)
        self.assertEqual(self.wikiroot.children[0],
                         self.wikiroot[u"Страница 1"])
        self.assertEqual(self.wikiroot.children[1],
                         self.wikiroot[u"Страница 2"])
예제 #58
0
    def setUp(self):
        self.updateCount = 0
        self.updateSender = None

        # Здесь будет создаваться вики
        self.path = mkdtemp(prefix=u'Абырвалг абыр')

        self.wikiroot = WikiDocument.create(self.path)
        self.page = TextPageFactory().create(self.wikiroot, u'Страница 1', [])
        Application.wikiroot = self.wikiroot

        Application.onTreeUpdate += self._onTreeUpdate
예제 #59
0
    def testLoading1(self):
        TextPageFactory().create(self.wikiroot, "Страница 0", [])
        TextPageFactory().create(self.wikiroot, "Страница 1", [])
        TextPageFactory().create(self.wikiroot, "Страница 2", [])
        TextPageFactory().create(self.wikiroot, "Страница 3", [])

        wikiroot = WikiDocument.load(self.path)

        self.assertEqual(wikiroot["Страница 0"].order, 0)
        self.assertEqual(wikiroot["Страница 1"].order, 1)
        self.assertEqual(wikiroot["Страница 2"].order, 2)
        self.assertEqual(wikiroot["Страница 3"].order, 3)
예제 #60
0
    def setUp(self):
        self.initApplication()
        self.wikiroot = self.createWiki()
        self.page_1 = TextPageFactory().create(self.wikiroot, "Страница 1", [])
        self.page_2 = TextPageFactory().create(self.wikiroot, "Страница 2", [])
        self.page_1_1 = TextPageFactory().create(self.page_1, "Подстраница 1", [])

        self.page_1_uid = self.application.pageUidDepot.createUid(self.page_1)
        self.page_2_uid = self.application.pageUidDepot.createUid(self.page_2)

        self.application.wikiroot = self.wikiroot
        self.application.selectedPage = self.page_1