示例#1
0
class TestQuery(TestCase):
    def setUp(self):
        super().setUp()
        set_server_type("tornado")
        _tornado.connections.append(MagicMock())
        self.elm = WebElement("tag")
        self.elm.js_exec = MagicMock()
        self.msg = {"type": "response", "id": self.elm.rimo_id}

    def test_query(self):
        fut = self.elm.js_query("test")
        self.elm.js_exec.assert_called_once_with("test", 0)
        self.msg["reqid"] = 0
        self.msg["data"] = 1
        self.elm.on_response(self.msg)
        self.assertEqual(fut.result(), 1)

    @sync
    @asyncio.coroutine
    def test_scroll(self):
        fut = self.elm.scrollX()
        self.assertFalse(fut.done())
        self.msg["reqid"] = 0
        self.msg["data"] = {"x": 1}
        self.elm.on_response(self.msg)
        x = yield from fut
        self.assertEqual(x, {"x": 1})