aboutsummaryrefslogtreecommitdiffstats
path: root/tests/testcodeinjection.cpp
diff options
context:
space:
mode:
authorRenato Filho <renato.filho@openbossa.org>2010-05-25 16:15:05 -0300
committerHugo Parente Lima <hugo.pl@gmail.com>2012-03-09 19:10:03 -0300
commit2060c23e8d2d80c721dd4eb31a777f4be0fefdfc (patch)
tree7f2ac2dc24ef24f63befbc51fc17e091244f3446 /tests/testcodeinjection.cpp
parent6ddb2e91990b119017819c6290ca6de6c6b6ea21 (diff)
Created unittest to flag "since".
Diffstat (limited to 'tests/testcodeinjection.cpp')
-rw-r--r--tests/testcodeinjection.cpp40
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/testcodeinjection.cpp b/tests/testcodeinjection.cpp
index b056ead83..6b708eb68 100644
--- a/tests/testcodeinjection.cpp
+++ b/tests/testcodeinjection.cpp
@@ -50,6 +50,46 @@ void TestCodeInjections::testReadFileUtf8()
QVERIFY(code.indexOf(utf8Data) != -1);
}
+void TestCodeInjections::testInjectWithValidApiVersion()
+{
+ const char* cppCode ="struct A {};";
+ const char* xmlCode = "\
+ <typesystem package='Foo'> \
+ <value-type name='A'> \
+ <inject-code class='target' since='1.0'>\
+ test Inject code\
+ </inject-code>\
+ </value-type>\
+ </typesystem>";
+
+ TestUtil t(cppCode, xmlCode, true, 1.0);
+
+ AbstractMetaClassList classes = t.builder()->classes();
+ AbstractMetaClass* classA = classes.findClass("A");
+ QCOMPARE(classA->typeEntry()->codeSnips().count(), 1);
+}
+
+void TestCodeInjections::testInjectWithInvalidApiVersion()
+{
+ const char* cppCode ="struct A {};";
+ const char* xmlCode = "\
+ <typesystem package=\"Foo\"> \
+ <value-type name='A'> \
+ <inject-code class='target' since='1.0'>\
+ test Inject code\
+ </inject-code>\
+ </value-type>\
+ </typesystem>";
+
+ TestUtil t(cppCode, xmlCode, true, 0.1);
+
+ AbstractMetaClassList classes = t.builder()->classes();
+ AbstractMetaClass* classA = classes.findClass("A");
+ QCOMPARE(classA->typeEntry()->codeSnips().count(), 0);
+}
+
+
+
QTEST_APPLESS_MAIN(TestCodeInjections)
#include "testcodeinjection.moc"