summaryrefslogtreecommitdiffstats
path: root/sigcore
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2008-12-23 18:59:23 -0500
committerBen Boeckel <MathStuf@gmail.com>2008-12-23 18:59:23 -0500
commitc1393e309a1500550314340b1cb7aa89a5c516ae (patch)
tree6f3b1833c014d367f68a39209d1fd88e6cf908ad /sigcore
parent69658a966d8527b5f3824c25e8fd2b00ae0fa3ac (diff)
downloadsigen-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.cpp173
-rw-r--r--sigcore/test/TestScript.h20
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