def testSerialize(self): '''Test parsing the history from the state file''' uistate = ConfigDict() 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 = ConfigDict() newuistate.parse(lines) # 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 = ConfigDict() newuistate.parse(lines) 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 = ConfigDict() history = History(self.notebook, uistate) for page in self.pages: history.append(page) self.assertEqual(len(history.history), len(self.pages)) self._assertCurrent(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.assertEqual(len(uistate['History']['history']), len(history.history)) #~ self.assertEqual(len(uistate['History']['pages']), len(history.history)) self.assertEqual(uistate['History']['current'], len(history.history)-3) # clone uistate by text lines = uistate.dump() newuistate = ConfigDict() newuistate.parse(lines) # check new state self.assertEqual(len(uistate['History']['history']), len(history.history)) #~ self.assertEqual(len(newuistate['History']['pages']), len(history.history)) self.assertEqual(newuistate['History']['current'], len(history.history)-3) # and compare resulting history object newhistory = History(self.notebook, newuistate) self.assertEqual(newhistory.history, history.history) self.assertEqual(newhistory.current, history.current)