diff options
Diffstat (limited to 'spec')
| -rw-r--r-- | spec/KeymapEvaluatorSpec.cpp | 35 | ||||
| -rw-r--r-- | spec/LuaRuntimeApiSpec.cpp | 67 |
2 files changed, 76 insertions, 26 deletions
diff --git a/spec/KeymapEvaluatorSpec.cpp b/spec/KeymapEvaluatorSpec.cpp index 0483e99..37f7ec8 100644 --- a/spec/KeymapEvaluatorSpec.cpp +++ b/spec/KeymapEvaluatorSpec.cpp @@ -13,9 +13,7 @@ private slots: it("calls mapping") { auto keymap_was_called = false; KeymapEvaluator evaluator; - evaluator.add_keymap(KeyMode::Normal, "<c-t>", [&keymap_was_called]() { - keymap_was_called = true; - }); + evaluator.add_keymap("n", "<c-t>", [&keymap_was_called]() { keymap_was_called = true; }); evaluator.evaluate(Qt::ControlModifier, Qt::Key_T); @@ -26,9 +24,7 @@ private slots: it("does not call mapping") { auto keymap_was_called = false; KeymapEvaluator evaluator; - evaluator.add_keymap(KeyMode::Normal, "<c-t>", [&keymap_was_called]() { - keymap_was_called = true; - }); + evaluator.add_keymap("n", "<c-t>", [&keymap_was_called]() { keymap_was_called = true; }); evaluator.evaluate(Qt::ControlModifier, Qt::Key_K); @@ -41,9 +37,7 @@ private slots: it("calls mapping") { auto keymap_was_called = false; KeymapEvaluator evaluator; - evaluator.add_keymap(KeyMode::Normal, "<c-t>a", [&keymap_was_called]() { - keymap_was_called = true; - }); + evaluator.add_keymap("n", "<c-t>a", [&keymap_was_called]() { keymap_was_called = true; }); evaluator.evaluate(Qt::ControlModifier, Qt::Key_T); evaluator.evaluate(Qt::NoModifier, Qt::Key_A); @@ -55,9 +49,7 @@ private slots: it("does not call mapping") { auto keymap_was_called = false; KeymapEvaluator evaluator; - evaluator.add_keymap(KeyMode::Normal, "<c-t>a", [&keymap_was_called]() { - keymap_was_called = true; - }); + evaluator.add_keymap("n", "<c-t>a", [&keymap_was_called]() { keymap_was_called = true; }); evaluator.evaluate(Qt::ControlModifier, Qt::Key_T); @@ -68,9 +60,7 @@ private slots: it("does not call mapping") { auto keymap_was_called = false; KeymapEvaluator evaluator; - evaluator.add_keymap(KeyMode::Normal, "<c-t>a", [&keymap_was_called]() { - keymap_was_called = true; - }); + evaluator.add_keymap("n", "<c-t>a", [&keymap_was_called]() { keymap_was_called = true; }); evaluator.evaluate(Qt::ControlModifier, Qt::Key_K); @@ -81,9 +71,7 @@ private slots: it("does not call mapping") { auto keymap_was_called = false; KeymapEvaluator evaluator; - evaluator.add_keymap(KeyMode::Normal, "<c-t>a", [&keymap_was_called]() { - keymap_was_called = true; - }); + evaluator.add_keymap("n", "<c-t>a", [&keymap_was_called]() { keymap_was_called = true; }); evaluator.evaluate(Qt::ControlModifier, Qt::Key_T); evaluator.evaluate(Qt::NoModifier, Qt::Key_B); @@ -95,9 +83,7 @@ private slots: it("calls mapping") { auto keymap_was_called = false; KeymapEvaluator evaluator; - evaluator.add_keymap(KeyMode::Normal, "<c-t>a", [&keymap_was_called]() { - keymap_was_called = true; - }); + evaluator.add_keymap("n", "<c-t>a", [&keymap_was_called]() { keymap_was_called = true; }); evaluator.evaluate(Qt::ControlModifier, Qt::Key_T); evaluator.evaluate(Qt::NoModifier, Qt::Key_B); @@ -108,14 +94,11 @@ private slots: } // TODO: maybe fix this behavior - context( - "when partial mapped sequence is entered before an entire sequence"); + context("when partial mapped sequence is entered before an entire sequence"); it("does not call mapping") { auto keymap_was_called = false; KeymapEvaluator evaluator; - evaluator.add_keymap(KeyMode::Normal, "<c-t>a", [&keymap_was_called]() { - keymap_was_called = true; - }); + evaluator.add_keymap("n", "<c-t>a", [&keymap_was_called]() { keymap_was_called = true; }); evaluator.evaluate(Qt::ControlModifier, Qt::Key_T); evaluator.evaluate(Qt::ControlModifier, Qt::Key_T); diff --git a/spec/LuaRuntimeApiSpec.cpp b/spec/LuaRuntimeApiSpec.cpp index b7424ea..936244f 100644 --- a/spec/LuaRuntimeApiSpec.cpp +++ b/spec/LuaRuntimeApiSpec.cpp @@ -144,6 +144,73 @@ private slots: QVERIFY(wait_for_lua_to_be_true("return not _G.event2_called")); } } + + void lua_api_view_set_url() { + context("when called with a url and view id"); + it("emits url_opened for the given view id") { + auto &lua = LuaRuntime::instance(); + QSignalSpy url_opened(&lua, &LuaRuntime::url_opened); + + lua.evaluate(R"( + web.view.set_url("https://updated-url.com", 42) + )"); + + QVERIFY(url_opened.wait()); + QCOMPARE(url_opened.first()[0], "https://updated-url.com"); + QCOMPARE(url_opened.first()[1], OpenType::OpenUrl); + QCOMPARE(url_opened.first()[2], 42); + } + + context("when called with a url"); + it("emits url_opened with the url and view id = 0") { + auto &lua = LuaRuntime::instance(); + QSignalSpy url_opened(&lua, &LuaRuntime::url_opened); + + lua.evaluate(R"( + web.view.set_url("https://updated-url.com") + )"); + + QVERIFY(url_opened.wait()); + QCOMPARE(url_opened.first()[0], "https://updated-url.com"); + QCOMPARE(url_opened.first()[1], OpenType::OpenUrl); + QCOMPARE(url_opened.first()[2], 0); + } + + context("when called without a url"); + it("emits url_opened with empty url and view id = 0") { + auto &lua = LuaRuntime::instance(); + QSignalSpy url_opened(&lua, &LuaRuntime::url_opened); + + lua.evaluate(R"( + web.view.set_url() + )"); + + QVERIFY(url_opened.wait()); + QCOMPARE(url_opened.first()[0], ""); + QCOMPARE(url_opened.first()[1], OpenType::OpenUrl); + QCOMPARE(url_opened.first()[2], 0); + } + } + + void lua_api_view_current() { + context("when called without a window id"); + it("emits url_opened for the given view id") { + auto &lua = LuaRuntime::instance(); + QSignalSpy evaluation_completed_spy(&lua, &LuaRuntime::evaluation_completed); + + lua.evaluate(R"( + return web.view.current() + )"); + QVERIFY(evaluation_completed_spy.wait()); + + qDebug() << evaluation_completed_spy.first().first(); + + // QCOMPARE(evaluation_completed_spy.first().first(), 1); + // QCOMPARE(url_opened.first()[0], "https://updated-url.com"); + // QCOMPARE(url_opened.first()[1], OpenType::OpenUrl); + // QCOMPARE(url_opened.first()[2], 42); + } + } }; QTEST_REGISTER(LuaRuntimeApiSpec) |
