def testGoto_02 (self): history = History() history.goto (self.wiki[u"Страница 1"]) self.assertEqual (history.backLength, 0) self.assertEqual (history.forwardLength, 0) # Если пытаемся добавить ту же самую страницу, что уже была до этого, ничего не делаем history.goto (self.wiki[u"Страница 1"]) self.assertEqual (history.backLength, 0) self.assertEqual (history.forwardLength, 0)
def testMove_04 (self): history = History() history.goto (self.wiki[u"Страница 1"]) history.goto (self.wiki[u"Страница 2"]) history.goto (self.wiki[u"Страница 2/Страница 3"]) history.goto (self.wiki[u"Страница 2/Страница 3/Страница 4"]) self.wiki[u"Страница 2/Страница 3/Страница 4"].moveTo (self.wiki[u"Страница 1"]) history.back() page = history.forward() self.assertEqual (page, self.wiki[u"Страница 1/Страница 4"])
def testRemove_03 (self): history = History() history.goto (self.wiki[u"Страница 1"]) history.goto (self.wiki[u"Страница 2"]) history.goto (self.wiki[u"Страница 2/Страница 3"]) history.goto (self.wiki[u"Страница 2/Страница 3/Страница 4"]) self.wiki[u"Страница 2/Страница 3/Страница 4"].remove() history.back() page = history.forward() self.assertEqual (page, None)
def testRename_02 (self): history = History() history.goto (self.wiki[u"Страница 1"]) history.goto (self.wiki[u"Страница 2"]) history.goto (self.wiki[u"Страница 2/Страница 3"]) history.goto (self.wiki[u"Страница 2/Страница 3/Страница 4"]) self.wiki[u"Страница 2/Страница 3/Страница 4"].title = u"Новый заголовок" history.goto (None) page = history.back() self.assertEqual (page, self.wiki[u"Страница 2/Страница 3/Новый заголовок"])
def testBackForward_01 (self): history = History() history.goto (self.wiki[u"Страница 1"]) history.goto (self.wiki[u"Страница 2"]) oldpage = history.back() self.assertEqual (history.backLength, 0) self.assertEqual (history.forwardLength, 1) self.assertEqual (oldpage, self.wiki[u"Страница 1"]) self.assertEqual (history.currentPage, self.wiki[u"Страница 1"]) oldpage = history.forward() self.assertEqual (history.backLength, 1) self.assertEqual (history.forwardLength, 0) self.assertEqual (oldpage, self.wiki[u"Страница 2"]) self.assertEqual (history.currentPage, self.wiki[u"Страница 2"])
class TabWindow(wx.Window): """ Класс окна, хранимого внутри владки с дополнительной информацией (текущая страница, история) """ def __init__(self, parent, page): super(TabWindow, self).__init__(parent, size=(1, 1)) self._history = History() self._history.goto(page) @property def page(self): return self._history.currentPage @page.setter def page(self, page): self._history.goto(page) @property def history(self): return self._history
def testGoto_01 (self): history = History() history.goto (self.wiki[u"Страница 1"]) self.assertEqual (history.backLength, 0) self.assertEqual (history.forwardLength, 0) self.assertEqual (history.currentPage, self.wiki[u"Страница 1"]) history.goto (self.wiki[u"Страница 2"]) self.assertEqual (history.backLength, 1) self.assertEqual (history.forwardLength, 0) self.assertEqual (history.currentPage, self.wiki[u"Страница 2"]) history.goto (self.wiki[u"Страница 2"]) self.assertEqual (history.backLength, 1) self.assertEqual (history.forwardLength, 0) self.assertEqual (history.currentPage, self.wiki[u"Страница 2"])
def testBackForward_03(self): history = History() history.goto(self.wiki["Страница 1"]) history.goto(self.wiki["Страница 2"]) history.goto(self.wiki["Страница 2/Страница 3"]) history.goto(self.wiki["Страница 2/Страница 3/Страница 4"]) history.back() page = history.back() self.assertEqual(history.backLength, 1) self.assertEqual(history.forwardLength, 2) self.assertEqual(page, self.wiki["Страница 2"]) history.goto(self.wiki["Страница 1/Страница 5"]) self.assertEqual(history.backLength, 2) self.assertEqual(history.forwardLength, 0) page = history.back() self.assertEqual(page, self.wiki["Страница 2"])
def __init__(self, parent, page): super(TabWindow, self).__init__(parent, size=(1, 1)) self._history = History() self._history.goto(page)
def testBackForward_04 (self): history = History() history.goto (self.wiki[u"Страница 1"]) history.goto (self.wiki[u"Страница 2"]) history.goto (None) history.goto (self.wiki[u"Страница 2/Страница 3/Страница 4"]) history.goto (self.wiki[u"Страница 2/Страница 3"]) page = history.back() self.assertEqual (page, self.wiki[u"Страница 2/Страница 3/Страница 4"]) page = history.back() self.assertEqual (page, None) page = history.back() self.assertEqual (page, self.wiki[u"Страница 2"]) page = history.back() self.assertEqual (page, self.wiki[u"Страница 1"])
def testBackForward_04(self): history = History() history.goto(self.wiki[u"Страница 1"]) history.goto(self.wiki[u"Страница 2"]) history.goto(None) history.goto(self.wiki[u"Страница 2/Страница 3/Страница 4"]) history.goto(self.wiki[u"Страница 2/Страница 3"]) page = history.back() self.assertEqual(page, self.wiki[u"Страница 2/Страница 3/Страница 4"]) page = history.back() self.assertEqual(page, None) page = history.back() self.assertEqual(page, self.wiki[u"Страница 2"]) page = history.back() self.assertEqual(page, self.wiki[u"Страница 1"])
def testBackForward_02(self): history = History() history.goto(self.wiki["Страница 1"]) history.goto(self.wiki["Страница 2"]) history.goto(self.wiki["Страница 2/Страница 3"]) history.goto(self.wiki["Страница 2/Страница 3/Страница 4"]) self.assertEqual(history.backLength, 3) self.assertEqual(history.forwardLength, 0) page = history.back() self.assertEqual(history.backLength, 2) self.assertEqual(history.forwardLength, 1) self.assertEqual(page, self.wiki["Страница 2/Страница 3"]) self.assertEqual(history.currentPage, self.wiki["Страница 2/Страница 3"]) page = history.back() self.assertEqual(history.backLength, 1) self.assertEqual(history.forwardLength, 2) self.assertEqual(page, self.wiki["Страница 2"]) self.assertEqual(history.currentPage, self.wiki["Страница 2"]) page = history.back() self.assertEqual(history.backLength, 0) self.assertEqual(history.forwardLength, 3) self.assertEqual(page, self.wiki["Страница 1"]) self.assertEqual(history.currentPage, self.wiki["Страница 1"]) page = history.forward() self.assertEqual(history.backLength, 1) self.assertEqual(history.forwardLength, 2) self.assertEqual(page, self.wiki["Страница 2"]) self.assertEqual(history.currentPage, self.wiki["Страница 2"]) page = history.forward() self.assertEqual(history.backLength, 2) self.assertEqual(history.forwardLength, 1) self.assertEqual(page, self.wiki["Страница 2/Страница 3"]) self.assertEqual(history.currentPage, self.wiki["Страница 2/Страница 3"]) page = history.forward() self.assertEqual(history.backLength, 3) self.assertEqual(history.forwardLength, 0) self.assertEqual(page, self.wiki["Страница 2/Страница 3/Страница 4"]) self.assertEqual(history.currentPage, self.wiki["Страница 2/Страница 3/Страница 4"])
def testBackForward_03 (self): history = History() history.goto (self.wiki[u"Страница 1"]) history.goto (self.wiki[u"Страница 2"]) history.goto (self.wiki[u"Страница 2/Страница 3"]) history.goto (self.wiki[u"Страница 2/Страница 3/Страница 4"]) history.back() page = history.back() self.assertEqual (history.backLength, 1) self.assertEqual (history.forwardLength, 2) self.assertEqual (page, self.wiki[u"Страница 2"]) history.goto (self.wiki[u"Страница 1/Страница 5"]) self.assertEqual (history.backLength, 2) self.assertEqual (history.forwardLength, 0) page = history.back() self.assertEqual (page, self.wiki[u"Страница 2"])
def testRename_02(self): history = History() history.goto(self.wiki[u"Страница 1"]) history.goto(self.wiki[u"Страница 2"]) history.goto(self.wiki[u"Страница 2/Страница 3"]) history.goto(self.wiki[u"Страница 2/Страница 3/Страница 4"]) self.wiki[ u"Страница 2/Страница 3/Страница 4"].title = u"Новый заголовок" history.goto(None) page = history.back() self.assertEqual(page, self.wiki[u"Страница 2/Страница 3/Новый заголовок"])
def testBackForward_02(self): history = History() history.goto(self.wiki[u"Страница 1"]) history.goto(self.wiki[u"Страница 2"]) history.goto(self.wiki[u"Страница 2/Страница 3"]) history.goto(self.wiki[u"Страница 2/Страница 3/Страница 4"]) self.assertEqual(history.backLength, 3) self.assertEqual(history.forwardLength, 0) page = history.back() self.assertEqual(history.backLength, 2) self.assertEqual(history.forwardLength, 1) self.assertEqual(page, self.wiki[u"Страница 2/Страница 3"]) self.assertEqual(history.currentPage, self.wiki[u"Страница 2/Страница 3"]) page = history.back() self.assertEqual(history.backLength, 1) self.assertEqual(history.forwardLength, 2) self.assertEqual(page, self.wiki[u"Страница 2"]) self.assertEqual(history.currentPage, self.wiki[u"Страница 2"]) page = history.back() self.assertEqual(history.backLength, 0) self.assertEqual(history.forwardLength, 3) self.assertEqual(page, self.wiki[u"Страница 1"]) self.assertEqual(history.currentPage, self.wiki[u"Страница 1"]) page = history.forward() self.assertEqual(history.backLength, 1) self.assertEqual(history.forwardLength, 2) self.assertEqual(page, self.wiki[u"Страница 2"]) self.assertEqual(history.currentPage, self.wiki[u"Страница 2"]) page = history.forward() self.assertEqual(history.backLength, 2) self.assertEqual(history.forwardLength, 1) self.assertEqual(page, self.wiki[u"Страница 2/Страница 3"]) self.assertEqual(history.currentPage, self.wiki[u"Страница 2/Страница 3"]) page = history.forward() self.assertEqual(history.backLength, 3) self.assertEqual(history.forwardLength, 0) self.assertEqual(page, self.wiki[u"Страница 2/Страница 3/Страница 4"]) self.assertEqual(history.currentPage, self.wiki[u"Страница 2/Страница 3/Страница 4"])
def testMove_04(self): history = History() history.goto(self.wiki[u"Страница 1"]) history.goto(self.wiki[u"Страница 2"]) history.goto(self.wiki[u"Страница 2/Страница 3"]) history.goto(self.wiki[u"Страница 2/Страница 3/Страница 4"]) self.wiki[u"Страница 2/Страница 3/Страница 4"].moveTo( self.wiki[u"Страница 1"]) history.back() page = history.forward() self.assertEqual(page, self.wiki[u"Страница 1/Страница 4"])
def testRemove_03(self): history = History() history.goto(self.wiki[u"Страница 1"]) history.goto(self.wiki[u"Страница 2"]) history.goto(self.wiki[u"Страница 2/Страница 3"]) history.goto(self.wiki[u"Страница 2/Страница 3/Страница 4"]) self.wiki[u"Страница 2/Страница 3/Страница 4"].remove() history.back() page = history.forward() self.assertEqual(page, None)