def test_reload_read_incomplete(self): import mechanize from mechanize._response import test_response class Browser(TestBrowser): def __init__(self): TestBrowser.__init__(self) self.reloaded = False def reload(self): self.reloaded = True TestBrowser.reload(self) br = Browser() data = "<html><head><title></title></head><body>%s</body></html>" data = data % ("The quick brown fox jumps over the lazy dog." * 100) class Handler(mechanize.BaseHandler): def http_open(self, requst): return test_response(data, [("content-type", "text/html")]) br.add_handler(Handler()) # .reload() on .back() if the whole response hasn't already been read # (.read_incomplete is True) r = br.open("http://example.com") r.read(10) br.open('http://www.example.com/blah') self.assertFalse(br.reloaded) br.back() self.assertTrue(br.reloaded) # don't reload if already read br.reloaded = False br.response().read() br.open('http://www.example.com/blah') br.back() self.assertFalse(br.reloaded)