[libinline-java-perl] 139/398: Initial revision
Jonas Smedegaard
dr at jones.dk
Thu Feb 26 11:42:57 UTC 2015
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 3aa0748469653a2857d214ff31a2600b3e465586
Author: Patrick LeBoutillier <patl at cpan.org>
Date: Mon Jan 14 15:00:18 2002 +0000
Initial revision
---
t/swing_gui_test.pl | 47 ++++++++++++++++++++++++++++++++++
t/t1.pl | 34 ++++++++++++++++++++++++
t/t2.pl | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++++
t/t3.pl | 42 ++++++++++++++++++++++++++++++
t/t4.pl | 58 +++++++++++++++++++++++++++++++++++++++++
t/t5.pl | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++
6 files changed, 328 insertions(+)
diff --git a/t/swing_gui_test.pl b/t/swing_gui_test.pl
new file mode 100644
index 0000000..172babb
--- /dev/null
+++ b/t/swing_gui_test.pl
@@ -0,0 +1,47 @@
+use strict ;
+
+use blib ;
+
+BEGIN {
+ # $ENV{PERL_INLINE_JAVA_JNI} = 0 ;
+ mkdir('./_Inline_test', 0777) unless -e './_Inline_test';
+}
+
+use Inline Config =>
+ DIRECTORY => './_Inline_test' ;
+
+use Inline (
+ Java => 'DATA',
+ STUDY => [
+ 'javax.swing.JFrame',
+ 'javax.swing.JPanel',
+ ],
+) ;
+
+
+my $f = HelloJava1->get_frame("HelloJava1") ;
+$f->setSize(140, 100) ;
+$f->getContentPane()->add(new HelloJava1()) ;
+$f->setVisible(1) ;
+
+<STDIN> ;
+
+
+__END__
+
+__Java__
+
+
+class HelloJava1 extends javax.swing.JComponent {
+ public HelloJava1() {
+ }
+
+ public void paintComponent(java.awt.Graphics g) {
+ g.drawString("Hello from Java!", 17, 40) ;
+ }
+
+ public static javax.swing.JFrame get_frame(String name) {
+ return new javax.swing.JFrame(name) ;
+ }
+}
+
diff --git a/t/t1.pl b/t/t1.pl
new file mode 100755
index 0000000..b988c09
--- /dev/null
+++ b/t/t1.pl
@@ -0,0 +1,34 @@
+#!/home/patrickl/bin/perl56
+
+use strict ;
+
+use lib "/home/patrickl/perl/dev" ;
+use lib "/home/patrickl/perl/dev/Inline/blib/arch/auto/Inline/Java/JNI" ;
+
+
+BEGIN {
+ mkdir('./_Inline_test', 0777) unless -e './_Inline_test';
+}
+
+use Inline Config =>
+ DIRECTORY => './_Inline_test' ;
+
+use Inline (
+ Java => qq|
+ class t {
+ static int s = 0 ;
+
+ public t(){
+ }
+ }
+ |,
+) ;
+
+my $t = new t() ;
+$t::s++ ;
+$t::s++ ;
+print $t::s . "\n" ;
+
+
+
+
diff --git a/t/t2.pl b/t/t2.pl
new file mode 100755
index 0000000..98c968e
--- /dev/null
+++ b/t/t2.pl
@@ -0,0 +1,74 @@
+#!/home/patrickl/bin/perl56
+
+use strict ;
+
+use lib "/home/patrickl/perl/dev" ;
+use lib "/home/patrickl/perl/dev/Inline/blib/arch/auto/Inline/Java/JNI" ;
+
+use Inline Config =>
+ DIRECTORY => './_Inline_test',
+ # PRINT_INFO => 1,
+;
+
+
+BEGIN {
+ $Inline::Java::DEBUG = 1 ;
+}
+
+
+package Foo ;
+
+use Inline (
+ Java => <<'END',
+class Foo {
+ String data = "data" ;
+
+ public Foo() {
+ System.out.println("new Foo object being created") ;
+ }
+
+ public String get_data(){
+ return data ;
+ }
+
+ public void set_data(String d){
+ data = d ;
+ }
+
+ public class Fighters {
+ public Fighters() {
+ }
+ }
+}
+END
+ FORCE_BUILD => 1,
+ NAME => "Foo") ;
+
+
+package Bar ;
+
+use Inline (
+ Java => <<'END',
+class Bar extends Foo {
+ String data = "data" ;
+
+ public Bar(Foo f) {
+ System.out.println("new Bar object being created") ;
+ }
+
+ public String get_data(){
+ return data ;
+ }
+
+ public void set_data(String d){
+ data = d ;
+ }
+}
+END
+ FORCE_BUILD => 1,
+ NAME => "Bar") ;
+
+
+my $f = new Foo::Foo() ;
+my $b = new Bar::Bar($f) ;
+
diff --git a/t/t3.pl b/t/t3.pl
new file mode 100755
index 0000000..1bb8641
--- /dev/null
+++ b/t/t3.pl
@@ -0,0 +1,42 @@
+#!/usr/local/perl56/bin/perl
+
+use lib "/home/patrick/perl/dev" ;
+
+require "Inline/Java.pm" ;
+use Inline::Java::Array ;
+use Data::Dumper ;
+
+$Inline::Java::DEBUG = 1 ;
+
+
+my $obj = {} ;
+bless($obj, "Inline::Java::Object") ;
+
+my $a = new Inline::Java::Array("[[[I") ;
+
+my $ref = [
+ [
+ [1, 2, 3],
+ [4, 5],
+ ],
+ [
+ [6, 7, 8],
+ [9],
+ ],
+] ;
+
+$a->__init_from_array($ref) ;
+my $flat = $a->__flatten_array() ;
+
+my $b = new Inline::Java::Array("[[[I") ;
+$b->__init_from_flat(@{$flat}) ;
+
+
+my $aa = Dumper($a) ;
+my $bb = Dumper($b) ;
+
+
+if ($aa eq $bb){
+ die("Happy man!") ;
+}
+
diff --git a/t/t4.pl b/t/t4.pl
new file mode 100755
index 0000000..777f245
--- /dev/null
+++ b/t/t4.pl
@@ -0,0 +1,58 @@
+#!/home/patrickl/bin/perl56
+
+use strict ;
+
+use lib "/home/patrickl/perl/dev" ;
+use lib "/home/patrickl/perl/dev/Inline/blib/arch/auto/Inline/Java/JNI" ;
+
+
+BEGIN {
+ mkdir('./_Inline_test', 0777) unless -e './_Inline_test';
+}
+
+
+use Inline Config =>
+ DIRECTORY => './_Inline_test' ;
+
+
+my @tests = split(/;;;;;/,<<'ETESTS');
+Inline->bind(Java => <<'JAVA',
+class a {
+ public a(){
+ }
+ public int get(){
+ return 5 ;
+ }
+}
+JAVA
+NAME => "a"
+) ;
+
+my $a = new a() ;
+print $a->get() . "\n" ;
+;;;;;
+Inline->bind(Java => <<'JAVA',
+class b {
+ public b(){
+ }
+ public int get(){
+ return 6 ;
+ }
+}
+JAVA
+NAME => "a"
+) ;
+
+my $b = new b() ;
+print $b->get() . "\n" ;
+ETESTS
+
+foreach my $t (@tests){
+ # `rm -Rf ./_Inline_test/*` ;
+
+ eval $t ;
+ if ($@){
+ die $@ ;
+ }
+}
+
diff --git a/t/t5.pl b/t/t5.pl
new file mode 100755
index 0000000..335ed36
--- /dev/null
+++ b/t/t5.pl
@@ -0,0 +1,73 @@
+#!/home/patrickl/bin/perl56
+
+use strict ;
+
+use lib "/home/patrickl/perl/dev" ;
+use lib "/home/patrickl/perl/dev/Inline/blib/arch/auto/Inline/Java/JNI" ;
+
+
+BEGIN {
+ mkdir('./_Inline_test', 0777) unless -e './_Inline_test';
+}
+
+
+use Inline Config =>
+ DIRECTORY => './_Inline_test' ;
+
+
+my @tests = split(/;;;;;/,<<'ETESTS');
+Inline->bind(Java => <<'JAVA',
+class a {
+ public a(){
+ }
+ public int get(){
+ return 5 ;
+ }
+}
+JAVA
+NAME => "<PKG>"
+) ;
+
+my $a = new <PKG::>a() ;
+print $a->get() . "\n" ;
+;;;;;
+Inline->bind(Java => <<'JAVA',
+class b {
+ public b(){
+ }
+ public int get(){
+ return 6 ;
+ }
+}
+JAVA
+NAME => "<PKG>"
+) ;
+
+my $b = new <PKG::>b() ;
+print $b->get() . "\n" ;
+ETESTS
+
+
+
+my $nb = scalar(@tests) ;
+
+my $cp = "[PERL_INLINE_JAVA=" . join(", ", map{"Test$_"} (0..$nb-1)) . "]" ;
+$ENV{CLASSPATH} = $cp ;
+
+my $cnt = 0 ;
+foreach my $t (@tests){
+ # `rm -Rf ./_Inline_test/*` ;
+
+ # Insert the package name and replace the macros
+ my $pkg = "Test$cnt" ;
+ $t = "package $pkg ;\n" . $t ;
+ $t =~ s/<PKG(|::)>/$pkg$1/g ;
+
+ eval $t ;
+ if ($@){
+ die $@ ;
+ }
+
+ $cnt++ ;
+}
+
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libinline-java-perl.git
More information about the Pkg-perl-cvs-commits
mailing list