コード例 #1
0
ファイル: test_sessions.py プロジェクト: sarutobi/outwiker
    def testSaveSession_08 (self):
        from sessions.sessionstorage import SessionStorage
        from sessions.sessioncontroller import SessionController

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

        controller = SessionController (Application)
        storage = SessionStorage(Application.config)

        storage.save (controller.getCurrentSession(), u"session1")
        storage.save (controller.getCurrentSession(), u"session2")

        otherStorage = SessionStorage(Application.config)

        sessions = otherStorage.getSessions()

        self.assertEqual (len (sessions), 2)

        self.assertEqual (len (sessions["session1"].pages), 1)
        self.assertEqual (sessions["session1"].pages[0], self._getPageLink (self.wikiroot[u"Страница 1"]))
        self.assertEqual (sessions["session1"].currentTab, 0)

        self.assertEqual (len (sessions["session2"].pages), 1)
        self.assertEqual (sessions["session2"].pages[0], self._getPageLink (self.wikiroot[u"Страница 1"]))
        self.assertEqual (sessions["session2"].currentTab, 0)
コード例 #2
0
ファイル: test_sessions.py プロジェクト: sarutobi/outwiker
    def testSaveSession_05 (self):
        from sessions.sessionstorage import SessionStorage
        from sessions.sessioncontroller import SessionController

        tabsController = Application.mainWindow.tabsController
        Application.wikiroot = self.wikiroot

        Application.selectedPage = self.wikiroot[u"Страница 1"]
        tabsController.openInTab (self.wikiroot[u"Страница 2"], True)

        sessionName = u"Имя сессии"
        controller = SessionController (Application)
        session = controller.getCurrentSession()

        # Сохраним сессию дважды под одним и тем же именем
        SessionStorage(Application.config).save (session, sessionName)
        SessionStorage(Application.config).save (session, sessionName)

        otherStorage = SessionStorage(Application.config)

        sessions = otherStorage.getSessions()

        self.assertEqual (len (sessions), 1)
        self.assertEqual (len (sessions[sessionName].pages), 2)
        self.assertEqual (sessions[sessionName].pages[0], self._getPageLink (self.wikiroot[u"Страница 1"]))
        self.assertEqual (sessions[sessionName].pages[1], self._getPageLink (self.wikiroot[u"Страница 2"]))
        self.assertEqual (sessions[sessionName].currentTab, 1)
        self.assertFalse (sessions[sessionName].readonly)
コード例 #3
0
ファイル: test_sessions.py プロジェクト: Jenyay/outwiker
    def testSaveSession_09(self):
        from sessions.sessionstorage import SessionStorage
        from sessions.sessioncontroller import SessionController

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

        controller = SessionController(self.application)
        storage = SessionStorage(self.application.config)

        storage.save(controller.getCurrentSession(), "session1")

        tabsController = self.application.mainWindow.tabsController
        tabsController.openInTab(self.wikiroot["Страница 2"], True)
        storage.save(controller.getCurrentSession(), "session2")

        otherStorage = SessionStorage(self.application.config)

        sessions = otherStorage.getSessions()

        self.assertEqual(len(sessions), 2)

        self.assertEqual(len(sessions["session1"].pages), 1)
        self.assertEqual(sessions["session1"].pages[0],
                         self._getPageLink(self.wikiroot["Страница 1"]))
        self.assertEqual(sessions["session1"].currentTab, 0)

        self.assertEqual(len(sessions["session2"].pages), 2)
        self.assertEqual(sessions["session2"].pages[0],
                         self._getPageLink(self.wikiroot["Страница 1"]))
        self.assertEqual(sessions["session2"].pages[1],
                         self._getPageLink(self.wikiroot["Страница 2"]))
        self.assertEqual(sessions["session2"].currentTab, 1)
コード例 #4
0
    def testSaveSession_09(self):
        from sessions.sessionstorage import SessionStorage
        from sessions.sessioncontroller import SessionController

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

        controller = SessionController(self.application)
        storage = SessionStorage(self.application.config)

        storage.save(controller.getCurrentSession(), "session1")

        tabsController = self.application.mainWindow.tabsController
        tabsController.openInTab(self.wikiroot["Страница 2"], True)
        storage.save(controller.getCurrentSession(), "session2")

        otherStorage = SessionStorage(self.application.config)

        sessions = otherStorage.getSessions()

        self.assertEqual(len(sessions), 2)

        self.assertEqual(len(sessions["session1"].pages), 1)
        self.assertEqual(sessions["session1"].pages[0],
                         self._getPageLink(self.wikiroot["Страница 1"]))
        self.assertEqual(sessions["session1"].currentTab, 0)

        self.assertEqual(len(sessions["session2"].pages), 2)
        self.assertEqual(sessions["session2"].pages[0],
                         self._getPageLink(self.wikiroot["Страница 1"]))
        self.assertEqual(sessions["session2"].pages[1],
                         self._getPageLink(self.wikiroot["Страница 2"]))
        self.assertEqual(sessions["session2"].currentTab, 1)
コード例 #5
0
ファイル: test_sessions.py プロジェクト: Jenyay/outwiker
    def testRename_08(self):
        from sessions.sessionstorage import SessionStorage
        from sessions.sessioncontroller import SessionController

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

        controller = SessionController(self.application)
        storage = SessionStorage(self.application.config)

        storage.save(controller.getCurrentSession(), "session1")
        storage.save(controller.getCurrentSession(), "session2")
        storage.rename("session1", "Абырвалг   ")

        otherStorage = SessionStorage(self.application.config)

        sessions = otherStorage.getSessions()
        self.assertEqual(len(sessions), 2)
        self.assertEqual(sorted(sessions.keys())[0], "session2")
        self.assertEqual(sorted(sessions.keys())[1], "Абырвалг")

        sessions = storage.getSessions()
        self.assertEqual(len(sessions), 2)
        self.assertEqual(sorted(sessions.keys())[0], "session2")
        self.assertEqual(sorted(sessions.keys())[1], "Абырвалг")
コード例 #6
0
ファイル: test_sessions.py プロジェクト: Jenyay/outwiker
    def testRestoreReadonly_02(self):
        from sessions.sessioncontroller import SessionController

        wiki = WikiDocument.load(self.wikiroot.path, readonly=True)
        self.application.wikiroot = wiki
        self.application.selectedPage = wiki["Страница 1"]

        tabsController = self.application.mainWindow.tabsController
        tabsController.openInTab(wiki["Страница 2"], True)
        tabsController.openInTab(wiki["Страница 1/Страница 3/Страница 4"],
                                 True)
        tabsController.openInTab(wiki["Страница 1/Страница 3"], False)

        controller = SessionController(self.application)
        session = controller.getCurrentSession()

        tabsController.closeTab(1)
        tabsController.closeTab(1)
        tabsController.closeTab(1)

        controller.restore(session)

        self.assertEqual(os.path.abspath(self.application.wikiroot.path),
                         os.path.abspath(self.wikiroot.path))
        self.assertTrue(self.application.wikiroot.readonly)

        self.assertEqual(os.path.abspath(self.application.wikiroot.path),
                         os.path.abspath(self.wikiroot.path))
        self.assertEqual(tabsController.getTabsCount(), 4)
        self.assertEqual(tabsController.getSelection(), 2)

        self.assertEqual(tabsController.getPage(0).title, "Страница 1")
        self.assertEqual(tabsController.getPage(1).title, "Страница 2")
        self.assertEqual(tabsController.getPage(2).title, "Страница 4")
        self.assertEqual(tabsController.getPage(3).title, "Страница 3")
コード例 #7
0
ファイル: test_sessions.py プロジェクト: sarutobi/outwiker
    def testSaveSession_04 (self):
        from sessions.sessionstorage import SessionStorage
        from sessions.sessioncontroller import SessionController

        sessionName1 = u"Имя сессии 1"
        sessionName2 = u"Имя сессии 2"

        tabsController = Application.mainWindow.tabsController
        Application.wikiroot = self.wikiroot

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

        controller = SessionController (Application)

        # Сохраним сессию с одной страницей
        SessionStorage(Application.config).save (controller.getCurrentSession(), sessionName1)

        # Сохраним сессию с двумя страницами
        tabsController.openInTab (self.wikiroot[u"Страница 2"], True)
        SessionStorage(Application.config).save (controller.getCurrentSession(), sessionName2)

        otherStorage = SessionStorage(Application.config)

        sessions = otherStorage.getSessions()

        self.assertEqual (len (sessions), 2)

        self.assertEqual (len (sessions[sessionName1].pages), 1)
        self.assertEqual (sessions[sessionName1].pages[0], self._getPageLink (self.wikiroot[u"Страница 1"]))
        self.assertEqual (sessions[sessionName1].currentTab, 0)

        self.assertEqual (len (sessions[sessionName2].pages), 2)
        self.assertEqual (sessions[sessionName2].pages[0], self._getPageLink (self.wikiroot[u"Страница 1"]))
        self.assertEqual (sessions[sessionName2].pages[1], self._getPageLink (self.wikiroot[u"Страница 2"]))
        self.assertEqual (sessions[sessionName2].currentTab, 1)
コード例 #8
0
ファイル: test_sessions.py プロジェクト: Jenyay/outwiker
    def testRemoveSession_02(self):
        from sessions.sessionstorage import SessionStorage
        from sessions.sessioncontroller import SessionController

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

        controller = SessionController(self.application)
        storage = SessionStorage(self.application.config)

        storage.save(controller.getCurrentSession(), "session1")
        storage.save(controller.getCurrentSession(), "session2")

        otherStorage = SessionStorage(self.application.config)
        sessions = otherStorage.getSessions()
        self.assertEqual(len(sessions), 2)

        # Удалим несуществующую сессию. При этом ничего не должно происходить
        storage.remove("session1")

        otherStorage = SessionStorage(self.application.config)
        sessions = otherStorage.getSessions()
        self.assertEqual(len(sessions), 1)
        self.assertEqual(list(sessions.keys())[0], "session2")

        sessions = storage.getSessions()
        self.assertEqual(len(sessions), 1)
        self.assertEqual(list(sessions.keys())[0], "session2")
コード例 #9
0
    def testRename_08(self):
        from sessions.sessionstorage import SessionStorage
        from sessions.sessioncontroller import SessionController

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

        controller = SessionController(self.application)
        storage = SessionStorage(self.application.config)

        storage.save(controller.getCurrentSession(), "session1")
        storage.save(controller.getCurrentSession(), "session2")
        storage.rename("session1", "Абырвалг   ")

        otherStorage = SessionStorage(self.application.config)

        sessions = otherStorage.getSessions()
        self.assertEqual(len(sessions), 2)
        self.assertEqual(sorted(sessions.keys())[0], "session2")
        self.assertEqual(sorted(sessions.keys())[1], "Абырвалг")

        sessions = storage.getSessions()
        self.assertEqual(len(sessions), 2)
        self.assertEqual(sorted(sessions.keys())[0], "session2")
        self.assertEqual(sorted(sessions.keys())[1], "Абырвалг")
コード例 #10
0
    def testRemoveSession_02(self):
        from sessions.sessionstorage import SessionStorage
        from sessions.sessioncontroller import SessionController

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

        controller = SessionController(self.application)
        storage = SessionStorage(self.application.config)

        storage.save(controller.getCurrentSession(), "session1")
        storage.save(controller.getCurrentSession(), "session2")

        otherStorage = SessionStorage(self.application.config)
        sessions = otherStorage.getSessions()
        self.assertEqual(len(sessions), 2)

        # Удалим несуществующую сессию. При этом ничего не должно происходить
        storage.remove("session1")

        otherStorage = SessionStorage(self.application.config)
        sessions = otherStorage.getSessions()
        self.assertEqual(len(sessions), 1)
        self.assertEqual(list(sessions.keys())[0], "session2")

        sessions = storage.getSessions()
        self.assertEqual(len(sessions), 1)
        self.assertEqual(list(sessions.keys())[0], "session2")
コード例 #11
0
ファイル: test_sessions.py プロジェクト: Jenyay/outwiker
    def testSaveSession_02(self):
        from sessions.sessionstorage import SessionStorage
        from sessions.sessioncontroller import SessionController

        tabsController = self.application.mainWindow.tabsController
        self.application.wikiroot = self.wikiroot

        self.application.selectedPage = self.wikiroot["Страница 1"]
        tabsController.openInTab(self.wikiroot["Страница 2"], False)

        sessionName = "Имя сессии"

        controller = SessionController(self.application)
        SessionStorage(self.application.config).save(controller.getCurrentSession(),
                                                     sessionName)

        otherStorage = SessionStorage(self.application.config)

        sessions = otherStorage.getSessions()

        self.assertEqual(len(sessions), 1)
        self.assertEqual(len(sessions[sessionName].pages), 2)
        self.assertEqual(sessions[sessionName].pages[0],
                         self._getPageLink(self.wikiroot["Страница 1"]))
        self.assertEqual(sessions[sessionName].pages[1],
                         self._getPageLink(self.wikiroot["Страница 2"]))
        self.assertEqual(sessions[sessionName].currentTab, 0)
コード例 #12
0
ファイル: test_sessions.py プロジェクト: Jenyay/outwiker
    def testSaveSession_06(self):
        from sessions.sessionstorage import SessionStorage
        from sessions.sessioncontroller import SessionController

        tabsController = self.application.mainWindow.tabsController

        uid1 = self._getPageLink(self.wikiroot["Страница 1"])
        uid2 = self._getPageLink(self.wikiroot["Страница 2"])

        wiki = WikiDocument.load(self.wikiroot.path, True)
        self.application.wikiroot = wiki

        self.application.selectedPage = wiki["Страница 1"]
        tabsController.openInTab(wiki["Страница 2"], True)

        sessionName = "Имя сессии"
        controller = SessionController(self.application)
        session = controller.getCurrentSession()

        # Сохраним сессию дважды под одним и тем же именем
        SessionStorage(self.application.config).save(session, sessionName)
        SessionStorage(self.application.config).save(session, sessionName)

        otherStorage = SessionStorage(self.application.config)

        sessions = otherStorage.getSessions()

        self.assertEqual(len(sessions), 1)
        self.assertEqual(len(sessions[sessionName].pages), 2)
        self.assertEqual(sessions[sessionName].pages[0], uid1)
        self.assertEqual(sessions[sessionName].pages[1], uid2)
        self.assertEqual(sessions[sessionName].currentTab, 1)
        self.assertTrue(sessions[sessionName].readonly)
コード例 #13
0
    def testSaveSession_02(self):
        from sessions.sessionstorage import SessionStorage
        from sessions.sessioncontroller import SessionController

        tabsController = self.application.mainWindow.tabsController
        self.application.wikiroot = self.wikiroot

        self.application.selectedPage = self.wikiroot["Страница 1"]
        tabsController.openInTab(self.wikiroot["Страница 2"], False)

        sessionName = "Имя сессии"

        controller = SessionController(self.application)
        SessionStorage(self.application.config).save(
            controller.getCurrentSession(), sessionName)

        otherStorage = SessionStorage(self.application.config)

        sessions = otherStorage.getSessions()

        self.assertEqual(len(sessions), 1)
        self.assertEqual(len(sessions[sessionName].pages), 2)
        self.assertEqual(sessions[sessionName].pages[0],
                         self._getPageLink(self.wikiroot["Страница 1"]))
        self.assertEqual(sessions[sessionName].pages[1],
                         self._getPageLink(self.wikiroot["Страница 2"]))
        self.assertEqual(sessions[sessionName].currentTab, 0)
コード例 #14
0
    def testSaveSession_06(self):
        from sessions.sessionstorage import SessionStorage
        from sessions.sessioncontroller import SessionController

        tabsController = self.application.mainWindow.tabsController

        uid1 = self._getPageLink(self.wikiroot["Страница 1"])
        uid2 = self._getPageLink(self.wikiroot["Страница 2"])

        wiki = WikiDocument.load(self.wikiroot.path, True)
        self.application.wikiroot = wiki

        self.application.selectedPage = wiki["Страница 1"]
        tabsController.openInTab(wiki["Страница 2"], True)

        sessionName = "Имя сессии"
        controller = SessionController(self.application)
        session = controller.getCurrentSession()

        # Сохраним сессию дважды под одним и тем же именем
        SessionStorage(self.application.config).save(session, sessionName)
        SessionStorage(self.application.config).save(session, sessionName)

        otherStorage = SessionStorage(self.application.config)

        sessions = otherStorage.getSessions()

        self.assertEqual(len(sessions), 1)
        self.assertEqual(len(sessions[sessionName].pages), 2)
        self.assertEqual(sessions[sessionName].pages[0], uid1)
        self.assertEqual(sessions[sessionName].pages[1], uid2)
        self.assertEqual(sessions[sessionName].currentTab, 1)
        self.assertTrue(sessions[sessionName].readonly)
コード例 #15
0
ファイル: test_sessions.py プロジェクト: Jenyay/outwiker
    def testRestore_05(self):
        from sessions.sessioncontroller import SessionController

        self.__createWiki2()
        wiki2 = WikiDocument.load(self.path2, True)

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

        tabsController = self.application.mainWindow.tabsController
        tabsController.openInTab(self.wikiroot["Страница 2"], True)

        controller = SessionController(self.application)
        session = controller.getCurrentSession()

        uid1 = self._getPageLink(self.wikiroot["Страница 1"])
        uid2 = self._getPageLink(self.wikiroot["Страница 2"])

        self.application.wikiroot = wiki2
        self.assertEqual(tabsController.getTabsCount(), 1)

        controller.restore(session)

        self.assertEqual(os.path.abspath(self.application.wikiroot.path),
                         os.path.abspath(self.wikiroot.path))
        self.assertEqual(tabsController.getTabsCount(), 2)
        self.assertEqual(tabsController.getSelection(), 1)

        newsession = controller.getCurrentSession()
        self.assertEqual(newsession.pages[0], uid1)
        self.assertEqual(newsession.pages[1], uid2)
コード例 #16
0
    def testRestoreReadonly_02(self):
        from sessions.sessioncontroller import SessionController

        wiki = WikiDocument.load(self.wikiroot.path, readonly=True)
        self.application.wikiroot = wiki
        self.application.selectedPage = wiki["Страница 1"]

        tabsController = self.application.mainWindow.tabsController
        tabsController.openInTab(wiki["Страница 2"], True)
        tabsController.openInTab(wiki["Страница 1/Страница 3/Страница 4"],
                                 True)
        tabsController.openInTab(wiki["Страница 1/Страница 3"], False)

        controller = SessionController(self.application)
        session = controller.getCurrentSession()

        tabsController.closeTab(1)
        tabsController.closeTab(1)
        tabsController.closeTab(1)

        controller.restore(session)

        self.assertEqual(os.path.abspath(self.application.wikiroot.path),
                         os.path.abspath(self.wikiroot.path))
        self.assertTrue(self.application.wikiroot.readonly)

        self.assertEqual(os.path.abspath(self.application.wikiroot.path),
                         os.path.abspath(self.wikiroot.path))
        self.assertEqual(tabsController.getTabsCount(), 4)
        self.assertEqual(tabsController.getSelection(), 2)

        self.assertEqual(tabsController.getPage(0).title, "Страница 1")
        self.assertEqual(tabsController.getPage(1).title, "Страница 2")
        self.assertEqual(tabsController.getPage(2).title, "Страница 4")
        self.assertEqual(tabsController.getPage(3).title, "Страница 3")
コード例 #17
0
ファイル: test_sessions.py プロジェクト: Jenyay/outwiker
    def testInvalidSession_01(self):
        """
        Если нет открытых вики
        """
        from sessions.sessioncontroller import SessionController

        self.application.wikiroot = None
        controller = SessionController(self.application)

        session = controller.getCurrentSession()

        self.assertEqual(session.path, "")
        self.assertEqual(len(session.pages), 0)
        self.assertEqual(session.currentTab, 0)
コード例 #18
0
ファイル: test_sessions.py プロジェクト: sarutobi/outwiker
    def testGetSessionInfo_01 (self):
        from sessions.sessioncontroller import SessionController

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

        controller = SessionController(Application)

        session = controller.getCurrentSession()

        self.assertEqual (session.path, os.path.abspath (self.wikiroot.path))
        self.assertEqual (len (session.pages), 1)
        self.assertEqual (session.pages[0], self._getPageLink (self.wikiroot[u"Страница 1"]))
        self.assertEqual (session.currentTab, 0)
コード例 #19
0
    def testInvalidSession_01(self):
        """
        Если нет открытых вики
        """
        from sessions.sessioncontroller import SessionController

        self.application.wikiroot = None
        controller = SessionController(self.application)

        session = controller.getCurrentSession()

        self.assertEqual(session.path, "")
        self.assertEqual(len(session.pages), 0)
        self.assertEqual(session.currentTab, 0)
コード例 #20
0
ファイル: test_sessions.py プロジェクト: Jenyay/outwiker
    def testRename_07(self):
        from sessions.sessionstorage import SessionStorage
        from sessions.sessioncontroller import SessionController

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

        controller = SessionController(self.application)
        storage = SessionStorage(self.application.config)

        storage.save(controller.getCurrentSession(), "session1")
        storage.save(controller.getCurrentSession(), "session2")

        self.assertRaises(ValueError, storage.rename, "session1", "   ")
コード例 #21
0
ファイル: test_sessions.py プロジェクト: sarutobi/outwiker
    def testRename_01 (self):
        from sessions.sessionstorage import SessionStorage
        from sessions.sessioncontroller import SessionController

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

        controller = SessionController (Application)
        storage = SessionStorage(Application.config)

        storage.save (controller.getCurrentSession(), u"session1")
        storage.save (controller.getCurrentSession(), u"session2")

        self.assertRaises (KeyError, storage.rename, u"invalid", u"Абырвалг")
コード例 #22
0
    def testRename_07(self):
        from sessions.sessionstorage import SessionStorage
        from sessions.sessioncontroller import SessionController

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

        controller = SessionController(self.application)
        storage = SessionStorage(self.application.config)

        storage.save(controller.getCurrentSession(), "session1")
        storage.save(controller.getCurrentSession(), "session2")

        self.assertRaises(ValueError, storage.rename, "session1", "   ")
コード例 #23
0
ファイル: test_sessions.py プロジェクト: sarutobi/outwiker
    def testGetSessionInfo_03 (self):
        from sessions.sessioncontroller import SessionController

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

        tabsController = Application.mainWindow.tabsController
        tabsController.openInTab (self.wikiroot[u"Страница 2"], True)

        controller = SessionController(Application)

        session = controller.getCurrentSession()

        self.assertEqual (session.path, os.path.abspath (self.wikiroot.path))
        self.assertEqual (len (session.pages), 2)
        self.assertEqual (session.pages[0], self._getPageLink (self.wikiroot[u"Страница 1"]))
        self.assertEqual (session.pages[1], self._getPageLink (self.wikiroot[u"Страница 2"]))
        self.assertEqual (session.currentTab, 1)
コード例 #24
0
ファイル: test_sessions.py プロジェクト: sarutobi/outwiker
    def testSessionSingleTab (self):
        from sessions.sessionstorage import SessionStorage
        from sessions.sessioncontroller import SessionController

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

        sessionName = u"Имя сессии"

        controller = SessionController(Application)
        storage = SessionStorage(Application.config)

        storage.save (controller.getCurrentSession(), sessionName)
        sessions = storage.getSessions()

        self.assertEqual (len (sessions), 1)
        self.assertEqual (len (sessions[sessionName].pages), 1)
        self.assertEqual (sessions[sessionName].pages[0], self._getPageLink (self.wikiroot[u"Страница 1"]))
        self.assertEqual (sessions[sessionName].currentTab, 0)
コード例 #25
0
ファイル: test_sessions.py プロジェクト: Jenyay/outwiker
    def testRestore_02(self):
        from sessions.sessioncontroller import SessionController

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

        tabsController = self.application.mainWindow.tabsController
        tabsController.openInTab(self.wikiroot["Страница 2"], True)
        tabsController.openInTab(
            self.wikiroot["Страница 1/Страница 3/Страница 4"], True)
        tabsController.openInTab(self.wikiroot["Страница 1/Страница 3"], False)

        controller = SessionController(self.application)
        session = controller.getCurrentSession()

        uid1 = self._getPageLink(self.wikiroot["Страница 1"])
        uid2 = self._getPageLink(self.wikiroot["Страница 2"])
        uid3 = self._getPageLink(
            self.wikiroot["Страница 1/Страница 3/Страница 4"])
        uid4 = self._getPageLink(self.wikiroot["Страница 1/Страница 3"])

        self.application.wikiroot = None
        self.assertEqual(tabsController.getTabsCount(), 0)

        controller.restore(session)

        self.assertEqual(os.path.abspath(self.application.wikiroot.path),
                         os.path.abspath(self.wikiroot.path))
        self.assertEqual(tabsController.getTabsCount(), 4)
        self.assertEqual(tabsController.getSelection(), 2)

        newsession = controller.getCurrentSession()
        self.assertEqual(newsession.pages[0], uid1)
        self.assertEqual(newsession.pages[1], uid2)
        self.assertEqual(newsession.pages[2], uid3)
        self.assertEqual(newsession.pages[3], uid4)

        self.assertEqual(tabsController.getPage(0).title, "Страница 1")
        self.assertEqual(tabsController.getPage(1).title, "Страница 2")
        self.assertEqual(tabsController.getPage(2).title, "Страница 4")
        self.assertEqual(tabsController.getPage(3).title, "Страница 3")
コード例 #26
0
ファイル: test_sessions.py プロジェクト: Jenyay/outwiker
    def testGetSessionInfo_04(self):
        from sessions.sessioncontroller import SessionController

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

        tabsController = self.application.mainWindow.tabsController
        tabsController.openInTab(self.wikiroot["Страница 2"], True)

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

        controller = SessionController(self.application)

        session = controller.getCurrentSession()

        self.assertEqual(session.path, os.path.abspath(self.wikiroot.path))
        self.assertEqual(len(session.pages), 2)
        self.assertEqual(session.pages[0], self.wikiroot["Страница 1"].subpath)
        self.assertEqual(session.pages[1], self.wikiroot["Страница 2"].subpath)
        self.assertEqual(session.currentTab, 1)
コード例 #27
0
    def testGetSessionInfo_04(self):
        from sessions.sessioncontroller import SessionController

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

        tabsController = self.application.mainWindow.tabsController
        tabsController.openInTab(self.wikiroot["Страница 2"], True)

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

        controller = SessionController(self.application)

        session = controller.getCurrentSession()

        self.assertEqual(session.path, os.path.abspath(self.wikiroot.path))
        self.assertEqual(len(session.pages), 2)
        self.assertEqual(session.pages[0], self.wikiroot["Страница 1"].subpath)
        self.assertEqual(session.pages[1], self.wikiroot["Страница 2"].subpath)
        self.assertEqual(session.currentTab, 1)
コード例 #28
0
ファイル: test_sessions.py プロジェクト: Jenyay/outwiker
    def testSaveSession_root(self):
        from sessions.sessionstorage import SessionStorage
        from sessions.sessioncontroller import SessionController

        self.application.wikiroot = self.wikiroot
        self.application.selectedPage = None

        sessionName = "Имя сессии"

        controller = SessionController(self.application)
        SessionStorage(self.application.config).save(
            controller.getCurrentSession(), sessionName)

        otherStorage = SessionStorage(self.application.config)

        sessions = otherStorage.getSessions()

        self.assertEqual(len(sessions), 1)
        self.assertEqual(len(sessions[sessionName].pages), 1)
        self.assertEqual(sessions[sessionName].pages[0], None)
        self.assertEqual(sessions[sessionName].currentTab, 0)
コード例 #29
0
    def testRestore_05(self):
        from sessions.sessioncontroller import SessionController

        self.__createWiki2()
        wiki2 = WikiDocument.load(self.path2, True)

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

        tabsController = self.application.mainWindow.tabsController
        tabsController.openInTab(self.wikiroot["Страница 2"], True)

        controller = SessionController(self.application)
        session = controller.getCurrentSession()

        uid1 = self._getPageLink(self.wikiroot["Страница 1"])
        uid2 = self._getPageLink(self.wikiroot["Страница 2"])

        self.application.wikiroot = wiki2
        self.assertEqual(tabsController.getTabsCount(), 1)

        controller.restore(session)

        self.assertEqual(os.path.abspath(self.application.wikiroot.path),
                         os.path.abspath(self.wikiroot.path))
        self.assertEqual(tabsController.getTabsCount(), 2)
        self.assertEqual(tabsController.getSelection(), 1)

        newsession = controller.getCurrentSession()
        self.assertEqual(newsession.pages[0], uid1)
        self.assertEqual(newsession.pages[1], uid2)
コード例 #30
0
ファイル: test_sessions.py プロジェクト: sarutobi/outwiker
    def testRestore_01 (self):
        from sessions.sessioncontroller import SessionController

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

        tabsController = Application.mainWindow.tabsController
        tabsController.openInTab (self.wikiroot[u"Страница 2"], True)

        controller = SessionController(Application)
        session = controller.getCurrentSession()

        uid1 = self._getPageLink (self.wikiroot[u"Страница 1"])
        uid2 = self._getPageLink (self.wikiroot[u"Страница 2"])

        Application.wikiroot = None
        self.assertEqual (tabsController.getTabsCount(), 0)

        controller.restore (session)

        self.assertEqual (os.path.abspath (Application.wikiroot.path), os.path.abspath (self.path))
        self.assertEqual (tabsController.getTabsCount(), 2)
        self.assertEqual (tabsController.getSelection(), 1)

        newsession = controller.getCurrentSession()
        self.assertEqual (newsession.pages[0], uid1)
        self.assertEqual (newsession.pages[1], uid2)
コード例 #31
0
ファイル: test_sessions.py プロジェクト: Jenyay/outwiker
    def testSaveSession_07(self):
        from sessions.sessionstorage import SessionStorage
        from sessions.sessioncontroller import SessionController

        tabsController = self.application.mainWindow.tabsController

        # Создадим UID, а потом проверим, что они нормально прочитаются в
        # режиме только для чтения
        self._getPageLink(self.wikiroot["Страница 1"])
        self._getPageLink(self.wikiroot["Страница 2"])

        wiki = WikiDocument.load(self.wikiroot.path, True)
        self.application.wikiroot = wiki

        self.application.selectedPage = wiki["Страница 1"]
        tabsController.openInTab(wiki["Страница 2"], True)

        sessionName = "Имя сессии"
        controller = SessionController(self.application)
        session = controller.getCurrentSession()

        # Сохраним сессию дважды под одним и тем же именем
        storage = SessionStorage(self.application.config)

        storage.save(session, sessionName)
        storage.save(session, sessionName)

        otherStorage = SessionStorage(self.application.config)

        sessions = otherStorage.getSessions()

        self.assertEqual(len(sessions), 1)
        self.assertEqual(len(sessions[sessionName].pages), 2)
        self.assertEqual(sessions[sessionName].pages[0],
                         self._getPageLink(wiki["Страница 1"]))
        self.assertEqual(sessions[sessionName].pages[1],
                         self._getPageLink(wiki["Страница 2"]))
        self.assertEqual(sessions[sessionName].currentTab, 1)
        self.assertTrue(sessions[sessionName].readonly)
コード例 #32
0
    def testSaveSession_07(self):
        from sessions.sessionstorage import SessionStorage
        from sessions.sessioncontroller import SessionController

        tabsController = self.application.mainWindow.tabsController

        # Создадим UID, а потом проверим, что они нормально прочитаются в
        # режиме только для чтения
        self._getPageLink(self.wikiroot["Страница 1"])
        self._getPageLink(self.wikiroot["Страница 2"])

        wiki = WikiDocument.load(self.wikiroot.path, True)
        self.application.wikiroot = wiki

        self.application.selectedPage = wiki["Страница 1"]
        tabsController.openInTab(wiki["Страница 2"], True)

        sessionName = "Имя сессии"
        controller = SessionController(self.application)
        session = controller.getCurrentSession()

        # Сохраним сессию дважды под одним и тем же именем
        storage = SessionStorage(self.application.config)

        storage.save(session, sessionName)
        storage.save(session, sessionName)

        otherStorage = SessionStorage(self.application.config)

        sessions = otherStorage.getSessions()

        self.assertEqual(len(sessions), 1)
        self.assertEqual(len(sessions[sessionName].pages), 2)
        self.assertEqual(sessions[sessionName].pages[0],
                         self._getPageLink(wiki["Страница 1"]))
        self.assertEqual(sessions[sessionName].pages[1],
                         self._getPageLink(wiki["Страница 2"]))
        self.assertEqual(sessions[sessionName].currentTab, 1)
        self.assertTrue(sessions[sessionName].readonly)
コード例 #33
0
    def testRestore_02(self):
        from sessions.sessioncontroller import SessionController

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

        tabsController = self.application.mainWindow.tabsController
        tabsController.openInTab(self.wikiroot["Страница 2"], True)
        tabsController.openInTab(
            self.wikiroot["Страница 1/Страница 3/Страница 4"], True)
        tabsController.openInTab(self.wikiroot["Страница 1/Страница 3"], False)

        controller = SessionController(self.application)
        session = controller.getCurrentSession()

        uid1 = self._getPageLink(self.wikiroot["Страница 1"])
        uid2 = self._getPageLink(self.wikiroot["Страница 2"])
        uid3 = self._getPageLink(
            self.wikiroot["Страница 1/Страница 3/Страница 4"])
        uid4 = self._getPageLink(self.wikiroot["Страница 1/Страница 3"])

        self.application.wikiroot = None
        self.assertEqual(tabsController.getTabsCount(), 0)

        controller.restore(session)

        self.assertEqual(os.path.abspath(self.application.wikiroot.path),
                         os.path.abspath(self.wikiroot.path))
        self.assertEqual(tabsController.getTabsCount(), 4)
        self.assertEqual(tabsController.getSelection(), 2)

        newsession = controller.getCurrentSession()
        self.assertEqual(newsession.pages[0], uid1)
        self.assertEqual(newsession.pages[1], uid2)
        self.assertEqual(newsession.pages[2], uid3)
        self.assertEqual(newsession.pages[3], uid4)

        self.assertEqual(tabsController.getPage(0).title, "Страница 1")
        self.assertEqual(tabsController.getPage(1).title, "Страница 2")
        self.assertEqual(tabsController.getPage(2).title, "Страница 4")
        self.assertEqual(tabsController.getPage(3).title, "Страница 3")