summaryrefslogtreecommitdiffstats
path: root/sigcore/test/TestScript.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sigcore/test/TestScript.cpp')
-rw-r--r--sigcore/test/TestScript.cpp173
1 files changed, 166 insertions, 7 deletions
diff --git a/sigcore/test/TestScript.cpp b/sigcore/test/TestScript.cpp
index ccb340c5..5c9d1f0b 100644
--- a/sigcore/test/TestScript.cpp
+++ b/sigcore/test/TestScript.cpp
@@ -44,10 +44,17 @@ void TestScript::slot2()
m_bar = true;
}
-void TestScript::initTestCase()
+void TestScript::init()
{
m_foo = false;
m_bar = false;
+ m_value = "";
+ m_action = NULL;
+}
+
+void TestScript::cleanup()
+{
+ delete m_action;
}
void TestScript::setInterpreter()
@@ -98,7 +105,84 @@ void TestScript::equality()
QVERIFY(script1 == script2);
}
-void TestScript::running()
+void TestScript::python()
+{
+ Sigcore::Script script("python", "import object\n\
+\n\
+object.value = \"set\"\n\
+def slot():\n\
+ object.slot1()\n\
+object.connect(\"signal1()\", slot)\n\
+object.connect(\"signal2()\", \"slot2()\")\n\
+");
+
+ m_action = new Kross::Action(this, "test-script");
+ m_action->setInterpreter(script.interpreter());
+ m_action->setCode(script.script().toUtf8());
+ m_action->addObject(this, "object");
+ m_action->trigger();
+
+ emit(signal1());
+ emit(signal2());
+
+ QCOMPARE(m_foo, true);
+ QCOMPARE(m_bar, true);
+ QCOMPARE(m_value, QString("set"));
+}
+
+/*
+void TestScript::falcon()
+{
+ Sigcore::Script script("falcon", "import object\n\
+\n\
+object.value = \"set\"\n\
+function slot()\n\
+ object.slot1()\n\
+end\n\
+object.connect(\"signal1()\", slot)\n\
+object.connect(\"signal2()\", \"slot2()\")\n\
+");
+
+ m_action = new Kross::Action(this, "test-script");
+ m_action->setInterpreter(script.interpreter());
+ m_action->setCode(script.script().toUtf8());
+ m_action->addObject(this, "object");
+ m_action->trigger();
+
+ emit(signal1());
+ emit(signal2());
+
+ QCOMPARE(m_foo, true);
+ QCOMPARE(m_bar, true);
+ QCOMPARE(m_value, QString("set"));
+}
+
+void TestScript::kjs()
+{
+ Sigcore::Script script("kjs", "object.value = \"set\"\n\
+function slot()\n\
+{\n\
+ object.slot1()\n\
+}\n\
+connect(object, \"signal1()\", this, slot)\n\
+connect(object, \"signal2()\", object, \"slot2()\")\n\
+");
+
+ m_action = new Kross::Action(this, "test-script");
+ m_action->setInterpreter(script.interpreter());
+ m_action->setCode(script.script().toUtf8());
+ m_action->addObject(this, "object");
+ m_action->trigger();
+
+ emit(signal1());
+ emit(signal2());
+
+ QCOMPARE(m_foo, true);
+ QCOMPARE(m_bar, true);
+ QCOMPARE(m_value, QString("set"));
+}
+
+void java()
{
Sigcore::Script script("python", "import object\n\
\n\
@@ -109,13 +193,87 @@ object.connect(\"signal1()\", slot)\n\
object.connect(\"signal2()\", \"slot2()\")\n\
");
- Kross::Action* action = new Kross::Action(this, "test-script");
- action->setInterpreter(script.interpreter());
- action->setCode(script.script().toUtf8());
+ m_action = new Kross::Action(this, "test-script");
+ m_action->setInterpreter(script.interpreter());
+ m_action->setCode(script.script().toUtf8());
+ m_action->addObject(this, "object");
+ m_action->trigger();
- action->addObject(this, "object");
+ emit(signal1());
+ emit(signal2());
+
+ QCOMPARE(m_foo, true);
+ QCOMPARE(m_bar, true);
+ QCOMPARE(m_value, QString("set"));
+}
+
+void lua()
+{
+ Sigcore::Script script("python", "import object\n\
+\n\
+object.value = \"set\"\n\
+def slot():\n\
+ object.slot1()\n\
+object.connect(\"signal1()\", slot)\n\
+object.connect(\"signal2()\", \"slot2()\")\n\
+");
+
+ m_action = new Kross::Action(this, "test-script");
+ m_action->setInterpreter(script.interpreter());
+ m_action->setCode(script.script().toUtf8());
+ m_action->addObject(this, "object");
+ m_action->trigger();
+
+ emit(signal1());
+ emit(signal2());
+
+ QCOMPARE(m_foo, true);
+ QCOMPARE(m_bar, true);
+ QCOMPARE(m_value, QString("set"));
+}
+
+void TestScript::ruby()
+{
+ Sigcore::Script script("ruby", "require \'object\'\n\
+\n\
+object.value = \"set\"\n\
+def slot\n\
+ object.slot1()\n\
+end\n\
+object.connect(\"signal1()\", slot)\n\
+object.connect(\"signal2()\", \"slot2()\")\n\
+");
+
+ m_action = new Kross::Action(this, "test-script");
+ m_action->setInterpreter(script.interpreter());
+ m_action->setCode(script.script().toUtf8());
+ m_action->addObject(this, "object");
+ m_action->trigger();
+
+ emit(signal1());
+ emit(signal2());
+
+ QCOMPARE(m_foo, true);
+ QCOMPARE(m_bar, true);
+ QCOMPARE(m_value, QString("set"));
+}
+
+void mono()
+{
+ Sigcore::Script script("python", "import object\n\
+\n\
+object.value = \"set\"\n\
+def slot():\n\
+ object.slot1()\n\
+object.connect(\"signal1()\", slot)\n\
+object.connect(\"signal2()\", \"slot2()\")\n\
+");
- action->trigger();
+ m_action = new Kross::Action(this, "test-script");
+ m_action->setInterpreter(script.interpreter());
+ m_action->setCode(script.script().toUtf8());
+ m_action->addObject(this, "object");
+ m_action->trigger();
emit(signal1());
emit(signal2());
@@ -124,5 +282,6 @@ object.connect(\"signal2()\", \"slot2()\")\n\
QCOMPARE(m_bar, true);
QCOMPARE(m_value, QString("set"));
}
+*/
QTEST_MAIN(TestScript)