diff options
Diffstat (limited to 'PerlTQt/t/e_sigslot_inherit.t')
-rw-r--r-- | PerlTQt/t/e_sigslot_inherit.t | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/PerlTQt/t/e_sigslot_inherit.t b/PerlTQt/t/e_sigslot_inherit.t new file mode 100644 index 0000000..338a405 --- /dev/null +++ b/PerlTQt/t/e_sigslot_inherit.t @@ -0,0 +1,72 @@ +BEGIN { print "1..6\n" } + +package MyApp; +use TQt; +use TQt::isa('TQt::Application'); +use TQt::slots + foo => ['int'], + baz => []; +use TQt::signals + bar => ['int']; + +sub NEW +{ + shift->SUPER::NEW(@_); + this->connect(this, TQT_SIGNAL 'bar(int)', TQT_SLOT 'foo(int)'); + this->connect(this, TQT_SIGNAL 'aboutToQuit()', TQT_SLOT 'baz()'); +} + +sub foo +{ + # 1) testing correct inheritance of sig/slots + print +($_[0] == 3) ? "ok 1\n" : "not ok\n"; +} + +sub baz +{ + print "ok 3\n"; +} + +sub coincoin +{ + print +(@_ == 2) ? "ok 5\n":"not ok\n"; + print +(ref(this) eq " MySubApp") ? "ok 6\n":"not ok\n"; +} + +1; + +package MySubApp; +use TQt; +use TQt::isa('MyApp'); + + +sub NEW +{ + shift->SUPER::NEW(@_); + emit foo(3); +} + +sub baz +{ + # 2) testing further inheritance of sig/slots + print "ok 2\n"; + # 3) testing Perl to Perl SUPER + SUPER->baz(); + # 4) 5) 6) testing non-qualified enum calls vs. Perl method/static calls + eval { &blue }; print !$@ ? "ok 4\n":"not ok\n"; + coincoin("a","b"); +} + +1; + +package main; + +use TQt; +use MySubApp; + +$a = 0; +$a = MySubApp(\@ARGV); + +TQt::Timer::singleShot( 300, TQt::app(), TQT_SLOT "quit()" ); + +exit TQt::app()->exec; |