This is an automated email from the git hooks/post-receive script.

js pushed a commit to tag 0.55
in repository libinline-java-perl.

commit 9004f4b0579457e0634f29794b81375c74b93763
Author: Patrick LeBoutillier <p...@cpan.org>
Date:   Fri Dec 7 14:44:19 2001 +0000

    Initial revision
---
 t/12_exceptions.t | 155 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 155 insertions(+)

diff --git a/t/12_exceptions.t b/t/12_exceptions.t
new file mode 100644
index 0000000..f5d4bd8
--- /dev/null
+++ b/t/12_exceptions.t
@@ -0,0 +1,155 @@
+use strict ;
+use Test ;
+
+use Inline Config => 
+           DIRECTORY => './_Inline_test';
+
+use Inline(
+       Java => 'DATA',
+) ;
+
+use Inline::Java qw(caught) ;
+
+
+BEGIN {
+       plan(tests => 8) ;
+}
+
+
+my $t = new t9(0) ;
+
+{
+       my $msg = '' ;
+       eval {
+               $t->f() ;
+       } ;
+       if ($@){
+               if (Inline::Java::caught("java.io.IOException")){
+                       $msg = $@->getMessage() . "io" ;
+               }
+               elsif (Inline::Java::caught("java.lang.Exception")){
+                       $msg = $@->getMessage() ;
+               }
+               else {
+                       die $@ ;
+               }
+       } ;
+       ok($msg, "from fio") ;
+
+       $msg = '' ;
+       eval {
+               $t->f() ;
+       } ;
+       if ($@){
+               if (caught("java.lang.Throwable")){
+                       $msg = $@->getMessage() ;
+               }
+               elsif (caught("java.io.IOException")){
+                       $msg = $@->getMessage() . "io" ;
+               }
+               else {
+                       die $@ ;
+               }
+       }
+       ok($msg, "from f") ;
+
+
+       $msg = '' ;
+       eval {
+               die("not e\n") ;
+       } ;
+       if ($@){
+               if (caught("java.lang.Exception")){
+                       $msg = $@->getMessage() ;
+               }
+               else {
+                       $msg = $@ ;
+               }
+       }
+       ok($msg, "not e\n") ;
+
+
+       my $e = $t->f2() ;
+       ok($e->getMessage(), "from f2") ;
+
+
+       $msg = '' ;
+       eval {
+               my $t2 = new t9(1) ;
+       } ;
+       if ($@){
+               if (caught("java.lang.Exception")){
+                       $msg = $@->getMessage() ;
+               }
+               else{
+                       die $@ ;
+               }
+       }
+       ok($msg, "from const") ;        
+
+       # Undeclared exception, java.lang.NullPointerException
+       $msg = '' ;
+       eval {
+               my $t2 = new t9(0) ;
+               $t2->len(undef) ;
+       } ;
+       if ($@){
+               if (caught("java.lang.NullPointerException")){
+                       $msg = "null" ;
+               }
+               else {
+                       die $@ ;
+               }
+       }
+       ok($msg, "null") ;      
+
+       # Undeclared exception, java.lang.NullPointerException
+       $msg = '' ;
+       eval {
+               my $t2 = new t9(0) ;
+               $t2->len(undef) ;
+       } ;
+       if ($@){
+               if (caught("java.lang.Exception")){
+                       $msg = "null" ;
+               }
+               else{
+                       die $@ ;
+               }
+       }
+       ok($msg, "null") ;
+
+       # Make sure the last exception is not lying around...
+       $@ = undef ;
+}
+
+ok($t->__get_private()->{proto}->ObjectCount(), 1) ;
+
+
+__END__
+
+__Java__
+
+
+import java.io.* ;
+
+class t9 {
+       public t9(boolean t) throws Exception {
+               if (t){
+                       throw new Exception("from const") ;
+               }
+       }
+
+       public String f() throws IOException {
+               throw new IOException("from f") ;
+       }
+
+       public IOException f2() {
+               return new IOException("from f2") ;
+       }
+
+       public int len(String s) {
+               return s.length() ;
+       }
+}
+

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-perl/packages/libinline-java-perl.git

_______________________________________________
Pkg-perl-cvs-commits mailing list
Pkg-perl-cvs-commits@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-perl-cvs-commits

Reply via email to