コード例 #1
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)
コード例 #2
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)
コード例 #3
0
ファイル: test_browser.py プロジェクト: kyoon3/pyrobot
class TestForms(unittest.TestCase):
    @mock_forms
    def setUp(self):
        self.browser = RoboBrowser()
        self.browser.open('http://pyrobot.com/get/')

    @mock_forms
    def test_get_forms(self):
        forms = self.browser.get_forms()
        assert_equal(len(forms), 2)

    @mock_forms
    def test_get_form_by_id(self):
        form = self.browser.get_form('bass')
        assert_equal(form._parsed.get('id'), 'bass')

    @mock_forms
    def test_submit_form(self):
        form = self.browser.get_form()
        self.browser.submit_form(form)
        assert_equal(self.browser.url, 'http://pyrobot.com/post/')
コード例 #4
0
ファイル: test_browser.py プロジェクト: AlysH/pyrobot
class TestForms(unittest.TestCase):

    @mock_forms
    def setUp(self):
        self.browser = RoboBrowser()
        self.browser.open('http://pyrobot.com/get/')

    @mock_forms
    def test_get_forms(self):
        forms = self.browser.get_forms()
        assert_equal(len(forms), 2)

    @mock_forms
    def test_get_form_by_id(self):
        form = self.browser.get_form('bass')
        assert_equal(form._parsed.get('id'), 'bass')

    @mock_forms
    def test_submit_form(self):
        form = self.browser.get_form()
        self.browser.submit_form(form)
        assert_equal(self.browser.url, 'http://pyrobot.com/post/')