コード例 #1
0
ファイル: test_browser.py プロジェクト: kyoon3/pyrobot
class TestHistory(unittest.TestCase):
    @mock_urls
    def setUp(self):
        self.browser = RoboBrowser(history=True)
        self.browser.open('http://pyrobot.com/page1/')
        self.browser.open('http://pyrobot.com/page2/')
        self.browser.open('http://pyrobot.com/page3/')

    def test_back(self):
        self.browser.back()
        assert_equal(self.browser.url, 'http://pyrobot.com/page2/')

    def test_back_n(self):
        self.browser.back(n=2)
        assert_equal(self.browser.url, 'http://pyrobot.com/page1/')

    def test_forward(self):
        self.browser.back()
        self.browser.forward()
        assert_equal(self.browser.url, 'http://pyrobot.com/page3/')

    def test_forward_n(self):
        self.browser.back(n=2)
        self.browser.forward(n=2)
        assert_equal(self.browser.url, 'http://pyrobot.com/page3/')

    @mock_urls
    def test_open_clears_forward(self):
        self.browser.back(n=2)
        self.browser.open('http://pyrobot.com/page4/')
        assert_equal(self.browser._cursor, len(self.browser._states) - 1)
        assert_raises(RoboError, self.browser.forward)

    def test_back_error(self):
        assert_raises(RoboError, self.browser.back, 5)
コード例 #2
0
ファイル: test_browser.py プロジェクト: AlysH/pyrobot
class TestHistory(unittest.TestCase):

    @mock_urls
    def setUp(self):
        self.browser = RoboBrowser(history=True)
        self.browser.open('http://pyrobot.com/page1/')
        self.browser.open('http://pyrobot.com/page2/')
        self.browser.open('http://pyrobot.com/page3/')

    def test_back(self):
        self.browser.back()
        assert_equal(
            self.browser.url,
            'http://pyrobot.com/page2/'
        )

    def test_back_n(self):
        self.browser.back(n=2)
        assert_equal(
            self.browser.url,
            'http://pyrobot.com/page1/'
        )

    def test_forward(self):
        self.browser.back()
        self.browser.forward()
        assert_equal(
            self.browser.url,
            'http://pyrobot.com/page3/'
        )

    def test_forward_n(self):
        self.browser.back(n=2)
        self.browser.forward(n=2)
        assert_equal(
            self.browser.url,
            'http://pyrobot.com/page3/'
        )

    @mock_urls
    def test_open_clears_forward(self):
        self.browser.back(n=2)
        self.browser.open('http://pyrobot.com/page4/')
        assert_equal(
            self.browser._cursor,
            len(self.browser._states) - 1
        )
        assert_raises(
            RoboError,
            self.browser.forward
        )

    def test_back_error(self):
        assert_raises(
            RoboError,
            self.browser.back,
            5
        )
コード例 #3
0
ファイル: test_browser.py プロジェクト: AlysH/pyrobot
class TestHistoryInternals(unittest.TestCase):

    def setUp(self):
        self.browser = RoboBrowser(history=True)

    @mock_urls
    def test_open_appends_to_history(self):
        assert_equal(len(self.browser._states), 0)
        assert_equal(self.browser._cursor, -1)
        self.browser.open('http://pyrobot.com/page1/')
        assert_equal(len(self.browser._states), 1)
        assert_equal(self.browser._cursor, 0)

    @mock_forms
    def test_submit_appends_to_history(self):
        self.browser.open('http://pyrobot.com/get/')
        form = self.browser.get_form()
        self.browser.submit_form(form)

        assert_equal(len(self.browser._states), 2)
        assert_equal(self.browser._cursor, 1)

    @mock_urls
    def test_open_clears_history_after_back(self):
        self.browser.open('http://pyrobot.com/page1/')
        self.browser.open('http://pyrobot.com/page2/')
        self.browser.back()
        self.browser.open('http://pyrobot.com/page3/')
        assert_equal(len(self.browser._states), 2)
        assert_equal(self.browser._cursor, 1)

    @mock_urls
    def test_state_deque_max_length(self):
        browser = RoboBrowser(history=5)
        for _ in range(5):
            browser.open('http://pyrobot.com/page1/')
        assert_equal(len(browser._states), 5)
        browser.open('http://pyrobot.com/page2/')
        assert_equal(len(browser._states), 5)

    @mock_urls
    def test_state_deque_no_history(self):
        browser = RoboBrowser(history=False)
        for _ in range(5):
            browser.open('http://pyrobot.com/page1/')
            assert_equal(len(browser._states), 1)
            assert_equal(browser._cursor, 0)
コード例 #4
0
ファイル: test_browser.py プロジェクト: kyoon3/pyrobot
class TestHistoryInternals(unittest.TestCase):
    def setUp(self):
        self.browser = RoboBrowser(history=True)

    @mock_urls
    def test_open_appends_to_history(self):
        assert_equal(len(self.browser._states), 0)
        assert_equal(self.browser._cursor, -1)
        self.browser.open('http://pyrobot.com/page1/')
        assert_equal(len(self.browser._states), 1)
        assert_equal(self.browser._cursor, 0)

    @mock_forms
    def test_submit_appends_to_history(self):
        self.browser.open('http://pyrobot.com/get/')
        form = self.browser.get_form()
        self.browser.submit_form(form)

        assert_equal(len(self.browser._states), 2)
        assert_equal(self.browser._cursor, 1)

    @mock_urls
    def test_open_clears_history_after_back(self):
        self.browser.open('http://pyrobot.com/page1/')
        self.browser.open('http://pyrobot.com/page2/')
        self.browser.back()
        self.browser.open('http://pyrobot.com/page3/')
        assert_equal(len(self.browser._states), 2)
        assert_equal(self.browser._cursor, 1)

    @mock_urls
    def test_state_deque_max_length(self):
        browser = RoboBrowser(history=5)
        for _ in range(5):
            browser.open('http://pyrobot.com/page1/')
        assert_equal(len(browser._states), 5)
        browser.open('http://pyrobot.com/page2/')
        assert_equal(len(browser._states), 5)

    @mock_urls
    def test_state_deque_no_history(self):
        browser = RoboBrowser(history=False)
        for _ in range(5):
            browser.open('http://pyrobot.com/page1/')
            assert_equal(len(browser._states), 1)
            assert_equal(browser._cursor, 0)