rjb 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +7 -0
- data/ext/rjb.c +7 -1
- data/test/jp/co/infoseek/hp/arton/rjb/Base.class +0 -0
- data/test/jp/co/infoseek/hp/arton/rjb/ExtBase.class +0 -0
- data/test/jp/co/infoseek/hp/arton/rjb/IBase.class +0 -0
- data/test/jp/co/infoseek/hp/arton/rjb/JTest.class +0 -0
- data/test/jp/co/infoseek/hp/arton/rjb/Test.class +0 -0
- data/test/test.rb +15 -0
- metadata +8 -8
- data/test/JTest.class +0 -0
data/ChangeLog
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
Sun Sep 10 arton
|
2
|
+
*test.rb
|
3
|
+
add a test of return type is an object wrapped an array
|
4
|
+
*Test.java
|
5
|
+
add a method that returns an object wrapped an array
|
6
|
+
*rjb.c
|
7
|
+
check array-mark in jv2rv for returned object was an array
|
1
8
|
Tue Aug 1 arton
|
2
9
|
*load.c
|
3
10
|
*rjb.c
|
data/ext/rjb.c
CHANGED
@@ -15,7 +15,7 @@
|
|
15
15
|
* $Id: rjb.c 15 2006-08-01 13:52:36Z arton $
|
16
16
|
*/
|
17
17
|
|
18
|
-
#define RJB_VERSION "1.0.
|
18
|
+
#define RJB_VERSION "1.0.1"
|
19
19
|
|
20
20
|
#include "ruby.h"
|
21
21
|
#include "st.h"
|
@@ -43,6 +43,7 @@ static VALUE register_instance(JNIEnv* jenv, struct jvi_data*, jobject);
|
|
43
43
|
static VALUE rjb_s_free(struct jv_data*);
|
44
44
|
static VALUE rjb_class_forname(int argc, VALUE* argv, VALUE self);
|
45
45
|
static void setup_metadata(JNIEnv* jenv, VALUE self, struct jv_data*, VALUE classname);
|
46
|
+
static VALUE jarray2rv(JNIEnv* jenv, jvalue val);
|
46
47
|
static jarray r2objarray(JNIEnv* jenv, VALUE v, const char* cls);
|
47
48
|
|
48
49
|
static VALUE rjb;
|
@@ -243,6 +244,11 @@ static VALUE jv2rv(JNIEnv* jenv, jvalue val)
|
|
243
244
|
nm = (*jenv)->CallObjectMethod(jenv, klass, class_getName);
|
244
245
|
check_exception(jenv, 0);
|
245
246
|
cname = (*jenv)->GetStringUTFChars(jenv, nm, NULL);
|
247
|
+
if (*cname == '[')
|
248
|
+
{
|
249
|
+
release_string(jenv, nm, cname);
|
250
|
+
return jarray2rv(jenv, val);
|
251
|
+
}
|
246
252
|
clsname = rb_str_new2(cname);
|
247
253
|
release_string(jenv, nm, cname);
|
248
254
|
v = rb_hash_aref(loaded_classes, clsname);
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/test/test.rb
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
#!/usr/local/env ruby
|
2
|
+
# $Id:$
|
3
|
+
|
1
4
|
require 'test/unit'
|
2
5
|
require 'rjb'
|
3
6
|
|
@@ -390,5 +393,17 @@ class TestRjb < Test::Unit::TestCase
|
|
390
393
|
assert_equal("another string",mixed[1][0][1].toString)
|
391
394
|
assert_equal([],mixed[2])
|
392
395
|
end
|
396
|
+
|
397
|
+
def test_CastObjectArray()
|
398
|
+
test = import('jp.co.infoseek.hp.arton.rjb.Test').new
|
399
|
+
a = test.getObjectArray()
|
400
|
+
assert_equal(1, a[0].intValue)
|
401
|
+
assert_equal('Hello World !', a[1].toString)
|
402
|
+
a = test.getObjectArrayOfArray()
|
403
|
+
assert_equal(1, a[0][0].intValue)
|
404
|
+
assert_equal('Hello World !', a[0][1].toString)
|
405
|
+
assert_equal(2, a[1][0].intValue)
|
406
|
+
assert_equal('Hello World !!', a[1][1].toString)
|
407
|
+
end
|
393
408
|
end
|
394
409
|
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.0
|
|
3
3
|
specification_version: 1
|
4
4
|
name: rjb
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 1.0.
|
7
|
-
date: 2006-
|
6
|
+
version: 1.0.1
|
7
|
+
date: 2006-09-10 00:00:00 +09:00
|
8
8
|
summary: Ruby Java bridge
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -30,25 +30,25 @@ authors:
|
|
30
30
|
- arton
|
31
31
|
files:
|
32
32
|
- ext/RBridge.java
|
33
|
+
- ext/load.c
|
33
34
|
- ext/riconv.c
|
34
35
|
- ext/rjbexception.c
|
35
|
-
- ext/load.c
|
36
36
|
- ext/rjb.c
|
37
|
-
- ext/
|
37
|
+
- ext/jniwrap.h
|
38
38
|
- ext/rjb.h
|
39
|
+
- ext/riconv.h
|
39
40
|
- ext/jp_co_infoseek_hp_arton_rjb_RBridge.h
|
40
|
-
- ext/jniwrap.h
|
41
41
|
- ext/depend
|
42
42
|
- data/rjb/jp/co/infoseek/hp/arton/rjb/RBridge.class
|
43
43
|
- lib/rjb.rb
|
44
44
|
- samples/filechooser.rb
|
45
45
|
- test/gctest.rb
|
46
46
|
- test/test.rb
|
47
|
-
- test/
|
47
|
+
- test/jp/co/infoseek/hp/arton/rjb/Base.class
|
48
48
|
- test/jp/co/infoseek/hp/arton/rjb/ExtBase.class
|
49
|
-
- test/jp/co/infoseek/hp/arton/rjb/Test.class
|
50
49
|
- test/jp/co/infoseek/hp/arton/rjb/IBase.class
|
51
|
-
- test/jp/co/infoseek/hp/arton/rjb/
|
50
|
+
- test/jp/co/infoseek/hp/arton/rjb/JTest.class
|
51
|
+
- test/jp/co/infoseek/hp/arton/rjb/Test.class
|
52
52
|
- COPYING
|
53
53
|
- ChangeLog
|
54
54
|
- readme.sj
|
data/test/JTest.class
DELETED
Binary file
|