diff options
author | Ben Boeckel <MathStuf@gmail.com> | 2008-12-23 18:59:23 -0500 |
---|---|---|
committer | Ben Boeckel <MathStuf@gmail.com> | 2008-12-23 18:59:23 -0500 |
commit | c1393e309a1500550314340b1cb7aa89a5c516ae (patch) | |
tree | 6f3b1833c014d367f68a39209d1fd88e6cf908ad /sigcore | |
parent | 69658a966d8527b5f3824c25e8fd2b00ae0fa3ac (diff) | |
download | sigen-c1393e309a1500550314340b1cb7aa89a5c516ae.tar.gz sigen-c1393e309a1500550314340b1cb7aa89a5c516ae.tar.xz sigen-c1393e309a1500550314340b1cb7aa89a5c516ae.zip |
Added (commented out) code for other languages
Diffstat (limited to 'sigcore')
-rw-r--r-- | sigcore/test/TestScript.cpp | 173 | ||||
-rw-r--r-- | sigcore/test/TestScript.h | 20 |
2 files changed, 184 insertions, 9 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) diff --git a/sigcore/test/TestScript.h b/sigcore/test/TestScript.h index 8768d593..9a2d3e10 100644 --- a/sigcore/test/TestScript.h +++ b/sigcore/test/TestScript.h @@ -21,6 +21,12 @@ // Sigcore includes #include "../Script.h" +// Forward declarations +namespace Kross +{ +class Action; +} + class TestScript : public QObject { Q_OBJECT @@ -39,13 +45,23 @@ class TestScript : public QObject bool m_foo; bool m_bar; QString m_value; + Kross::Action* m_action; private slots: - void initTestCase(); + void init(); + void cleanup(); + void setInterpreter(); void setScript(); void assignment(); void equality(); - void running(); + + void python(); +// void falcon(); +// void kjs(); +// void java(); +// void lua(); +// void ruby(); +// void mono(); }; #endif |