def testSerialize(self): '''Test parsing the history from the state file''' uistate = INIConfigFile(VirtualFile([])) history = History(self.notebook, uistate) for page in self.pages: history.append(page) self.assertHistoryEquals(history, self.pages) self.assertCurrentEquals(history, self.pages[-1]) # rewind 2 for i in range(2): prev = history.get_previous() history.set_current(prev) # check state #~ import pprint #~ pprint.pprint(uistate) self.assertHistoryEquals(history, uistate['History']['list']) self.assertRecentEquals(history, uistate['History']['recent']) self.assertEqual(uistate['History']['current'], len(self.pages) - 3) # clone uistate by text lines = uistate.dump() newuistate = INIConfigFile(VirtualFile(lines)) newuistate['History'].setdefault('list', []) newuistate['History'].setdefault('recent', []) newuistate['History'].setdefault('current', 0) # check new state self.assertHistoryEquals( history, [Path(t[0]) for t in newuistate['History']['list']]) self.assertRecentEquals( history, [Path(t[0]) for t in newuistate['History']['recent']]) self.assertEqual(newuistate['History']['current'], len(self.pages) - 3) # and compare resulting history object newhistory = History(self.notebook, newuistate) self.assertEqual(list(newhistory.get_history()), list(history.get_history())) self.assertEqual(list(newhistory.get_recent()), list(history.get_recent())) self.assertEqual(newhistory.get_current(), history.get_current()) # Check recent is initialized if needed newuistate = INIConfigFile(VirtualFile(lines)) newuistate['History'].setdefault('recent', []) newuistate['History'].pop('recent') newhistory = History(self.notebook, newuistate) self.assertEqual(list(newhistory.get_history()), list(history.get_history())) self.assertEqual(list(newhistory.get_recent()), list(history.get_recent())) self.assertEqual(newhistory.get_current(), history.get_current())
def testSerialize(self): '''Test parsing the history from the state file''' uistate = INIConfigFile(VirtualFile([])) history = History(self.notebook, uistate) for page in self.pages: history.append(page) self.assertHistoryEquals(history, self.pages) self.assertCurrentEquals(history, self.pages[-1]) # rewind 2 for i in range(2): prev = history.get_previous() history.set_current(prev) # check state #~ import pprint #~ pprint.pprint(uistate) self.assertHistoryEquals(history, uistate['History']['list']) self.assertRecentEquals(history, uistate['History']['recent']) self.assertEqual(uistate['History']['current'], len(self.pages) - 3) # clone uistate by text lines = uistate.dump() newuistate = INIConfigFile(VirtualFile(lines)) newuistate['History'].setdefault('list', []) newuistate['History'].setdefault('recent', []) newuistate['History'].setdefault('current', 0) # check new state self.assertHistoryEquals(history, [Path(t[0]) for t in newuistate['History']['list']]) self.assertRecentEquals(history, [Path(t[0]) for t in newuistate['History']['recent']]) self.assertEqual(newuistate['History']['current'], len(self.pages) - 3) # and compare resulting history object newhistory = History(self.notebook, newuistate) self.assertEqual(list(newhistory.get_history()), list(history.get_history())) self.assertEqual(list(newhistory.get_recent()), list(history.get_recent())) self.assertEqual(newhistory.get_current(), history.get_current()) # Check recent is initialized if needed newuistate = INIConfigFile(VirtualFile(lines)) newuistate['History'].setdefault('recent', []) newuistate['History'].pop('recent') newhistory = History(self.notebook, newuistate) self.assertEqual(list(newhistory.get_history()), list(history.get_history())) self.assertEqual(list(newhistory.get_recent()), list(history.get_recent())) self.assertEqual(newhistory.get_current(), history.get_current())
def runTest(self): notebook = self.setUpNotebook(content=('A', 'B', 'C', 'D')) history = History(notebook) pathbar = RecentPathBar(history, notebook, None) for name in ('A', 'A', 'B', 'A', 'D', 'D'): history.append(Path(name)) pathbar.set_page(Path(name)) self.assertEqual([ button.zim_path for button in pathbar.get_children() if not isinstance(button, ScrollButton) ], list(reversed(list(history.get_recent()))))