rjb 1.1.6 → 1.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/ChangeLog CHANGED
@@ -1,3 +1,18 @@
1
+ Sun Feb 15 arton
2
+ *test/test/rb
3
+ add $KCODE and magic comment for iconv
4
+ *ext/rjb.c
5
+ RJB_VERSION -> 1.1.7
6
+ Thu Feb 5 kuwa1
7
+ *test/Test.java
8
+ *test/test.rb
9
+ add tests(Umlaut)
10
+ *ext/rjb.c
11
+ *ext/load.c
12
+ fix for ruby19
13
+ Sun Nov 16 arton
14
+ *ext/load.c
15
+ apply hpux patch, contributed by Ittay Dror. thanks
1
16
  Tue Aug 26 arton
2
17
  *ext/load.c, rjb.c, rjb.h
3
18
  export safe_funcall under the prefix 'rjb'.
@@ -29,7 +29,7 @@ class Path
29
29
  end
30
30
 
31
31
  javahome = ENV['JAVA_HOME']
32
- if !javahome.nil?
32
+ unless javahome.nil?
33
33
  raise "JAVA_HOME is not directory." unless File.directory?(javahome)
34
34
  p = Path.new
35
35
  inc = p.include(javahome, 'include')
@@ -42,7 +42,7 @@ if !javahome.nil?
42
42
  end
43
43
  end
44
44
  else
45
- raise "JAVA_HOME is not setted."
45
+ raise "JAVA_HOME is not set."
46
46
  end
47
47
 
48
48
 
@@ -12,7 +12,7 @@
12
12
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
13
  * Lesser General Public License for more details.
14
14
  *
15
- * $Id: jniwrap.h 82 2008-08-26 12:51:51Z arton $
15
+ * $Id: jniwrap.h 4 2006-09-11 15:21:38Z arton $
16
16
  */
17
17
  #ifndef _Included_jniwrap
18
18
  #define _Included_jniwrap
data/ext/load.c CHANGED
@@ -12,7 +12,7 @@
12
12
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
13
  * Lesser General Public License for more details.
14
14
  *
15
- * $Id: load.c 82 2008-08-26 12:51:51Z arton $
15
+ * $Id: load.c 85 2009-02-04 16:14:22Z kuwa1 $
16
16
  */
17
17
 
18
18
  #include <stdlib.h>
@@ -53,7 +53,15 @@
53
53
  #define DEFAULT_HOME "/System/Library/Frameworks/JavaVM.framework"
54
54
  #elif defined(_AIX)
55
55
  #define ARCH "ppc"
56
+ #undef JVM_TYPE
56
57
  #define JVM_TYPE "j9vm"
58
+ #elif defined(__hpux)
59
+ #define JVMDLL "%s/jre/lib/%s/%s/libjvm.sl"
60
+ #define ARCH "PA_RISC"
61
+ #undef JVM_TYPE
62
+ #define JVM_TYPE "server"
63
+ #define DIRSEPARATOR '/'
64
+ #define CLASSPATH_SEP ':'
57
65
  #else /* defined(_WIN32) || defined(__CYGWIN__) */
58
66
  #if defined(__sparc_v9__)
59
67
  #define ARCH "sparcv9"
@@ -282,7 +290,7 @@ int rjb_create_jvm(JNIEnv** pjenv, JavaVMInitArgs* vm_args, char* userpath, VALU
282
290
  optlen = 0;
283
291
  if (!NIL_P(argv))
284
292
  {
285
- optlen += RARRAY(argv)->len;
293
+ optlen += RARRAY_LEN(argv);
286
294
  }
287
295
  optlen += COUNTOF(soptions);
288
296
  options = ALLOCA_N(JavaVMOption, optlen);
data/ext/rjb.c CHANGED
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * Rjb - Ruby <-> Java Bridge
3
- * Copyright(c) 2004,2005,2006,2007,2008 arton
3
+ * Copyright(c) 2004,2005,2006,2007,2008,2009 arton
4
4
  *
5
5
  * This library is free software; you can redistribute it and/or
6
6
  * modify it under the terms of the GNU Lesser General Public
@@ -12,10 +12,10 @@
12
12
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
13
  * Lesser General Public License for more details.
14
14
  *
15
- * $Id: rjb.c 82 2008-08-26 12:51:51Z arton $
15
+ * $Id: rjb.c 89 2009-02-15 12:31:40Z arton $
16
16
  */
17
17
 
18
- #define RJB_VERSION "1.1.6"
18
+ #define RJB_VERSION "1.1.7"
19
19
 
20
20
  #include "ruby.h"
21
21
  #include "extconf.h"
@@ -447,11 +447,9 @@ static VALUE call_conv(JNIEnv* jenv, jvalue val, size_t sz, void* p, CONV conv,
447
447
  char* cp = (char*)p;
448
448
  jsize len = (*jenv)->GetArrayLength(jenv, val.l);
449
449
  VALUE v = rb_ary_new2(len);
450
- VALUE* pv = RARRAY_PTR(v);
451
- RARRAY_LEN(v) = len;
452
450
  for (i = 0; i < len; i++)
453
451
  {
454
- *pv++ =conv(jenv, cp);
452
+ rb_ary_push(v, conv(jenv, cp));
455
453
  cp += sz;
456
454
  }
457
455
  (*(RELEASEARRAY*)(((char*)*jenv) + fnc))(jenv, val.l, p, JNI_ABORT);
data/ext/rjb.h CHANGED
@@ -12,7 +12,7 @@
12
12
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
13
  * Lesser General Public License for more details.
14
14
  *
15
- * $Id: rjb.h 82 2008-08-26 12:51:51Z arton $
15
+ * $Id: rjb.h 81 2008-08-26 12:44:44Z arton $
16
16
  * $Log: rjb.h,v $
17
17
  * Revision 1.1 2005/01/16 17:36:10 arton
18
18
  * Initial revision
@@ -1,5 +1,6 @@
1
- #!/usr/local/env ruby
2
- # $Id: test.rb 70 2008-05-26 12:31:35Z arton $
1
+ #!/usr/local/env ruby -Ku
2
+ # encoding: utf-8
3
+ # $Id: test.rb 87 2009-02-15 12:25:36Z arton $
3
4
 
4
5
  begin
5
6
  require 'rjb'
@@ -167,40 +168,63 @@ class TestRjb < Test::Unit::TestCase
167
168
  assert_equal(@jString.new("abcdef".force_encoding(Encoding::ASCII_8BIT)).toString(), "abcdef")
168
169
  assert_equal(@jString.new("abcdef".force_encoding(Encoding::find("us-ascii"))).toString(), "abcdef")
169
170
  else
170
- $KCODE = 'euc'
171
- euc_kj = "\xb4\xc1\xbb\xfa\xa5\xc6\xa5\xad\xa5\xb9\xa5\xc8"
172
- s = @jString.new(euc_kj)
173
- assert_equal(s.toString(), euc_kj)
174
- $KCODE = 'sjis'
175
- sjis_kj = "\x8a\xbf\x8e\x9a\x83\x65\x83\x4c\x83\x58\x83\x67"
176
- s = @jString.new(sjis_kj)
177
- assert_equal(s.toString(), sjis_kj)
178
- $KCODE = 'utf8'
179
- utf8_kj = "\xE6\xBC\xA2\xE5\xAD\x97\xE3\x83\x86\xE3\x82\xAD\xE3\x82\xB9\xE3\x83\x88"
180
- s = @jString.new(utf8_kj)
181
- assert_equal(s.toString(), utf8_kj)
182
- $KCODE = 'none'
183
- if /mswin(?!ce)|mingw|cygwin|bccwin/ =~ RUBY_PLATFORM
184
- #expecting shift_jis on windows
185
- none_kj = "\x8a\xbf\x8e\x9a\x83\x65\x83\x4c\x83\x58\x83\x67"
186
- else
187
- #expecting utf-8 unless windows
188
- none_kj = "\xE6\xBC\xA2\xE5\xAD\x97\xE3\x83\x86\xE3\x82\xAD\xE3\x82\xB9\xE3\x83\x88"
171
+ default_kcode = $KCODE
172
+ begin
173
+ $KCODE = 'euc'
174
+ euc_kj = "\xb4\xc1\xbb\xfa\xa5\xc6\xa5\xad\xa5\xb9\xa5\xc8"
175
+ s = @jString.new(euc_kj)
176
+ assert_equal(s.toString(), euc_kj)
177
+ $KCODE = 'sjis'
178
+ sjis_kj = "\x8a\xbf\x8e\x9a\x83\x65\x83\x4c\x83\x58\x83\x67"
179
+ s = @jString.new(sjis_kj)
180
+ assert_equal(s.toString(), sjis_kj)
181
+ $KCODE = 'utf8'
182
+ utf8_kj = "\xE6\xBC\xA2\xE5\xAD\x97\xE3\x83\x86\xE3\x82\xAD\xE3\x82\xB9\xE3\x83\x88"
183
+ s = @jString.new(utf8_kj)
184
+ assert_equal(s.toString(), utf8_kj)
185
+ $KCODE = 'none'
186
+ if /mswin(?!ce)|mingw|cygwin|bccwin/ =~ RUBY_PLATFORM
187
+ #expecting shift_jis on windows
188
+ none_kj = "\x8a\xbf\x8e\x9a\x83\x65\x83\x4c\x83\x58\x83\x67"
189
+ else
190
+ #expecting utf-8 unless windows
191
+ none_kj = "\xE6\xBC\xA2\xE5\xAD\x97\xE3\x83\x86\xE3\x82\xAD\xE3\x82\xB9\xE3\x83\x88"
192
+ end
193
+ s = @jString.new(none_kj)
194
+ assert_equal(s.toString(), none_kj)
195
+ $KCODE = 'utf8'
196
+ utf8_kj = "\xE6\xBC\xA2\xE5\xAD\x97\xE3\x83\x86\xE3\x82\xAD\xE3\x82\xB9\xE3\x83\x88"
197
+ s = @jString.new(utf8_kj)
198
+ assert_equal(s.toString(), utf8_kj)
199
+ $KCODE = 'sjis'
200
+ sjis_kj = "\x8a\xbf\x8e\x9a\x83\x65\x83\x4c\x83\x58\x83\x67"
201
+ s = @jString.new(sjis_kj)
202
+ assert_equal(s.toString(), sjis_kj)
203
+ $KCODE = 'euc'
204
+ euc_kj = "\xb4\xc1\xbb\xfa\xa5\xc6\xa5\xad\xa5\xb9\xa5\xc8"
205
+ s = @jString.new(euc_kj)
206
+ assert_equal(s.toString(), euc_kj)
207
+ ensure
208
+ $KCODE = default_kcode
209
+ end
210
+ end
211
+ end
212
+
213
+ def test_combination_charcters
214
+ teststr = "\xc7\x96\xc3\xbc\xcc\x84\x75\xcc\x88\xcc\x84\xed\xa1\xa9\xed\xba\xb2\xe3\x81\x8b\xe3\x82\x9a"
215
+ test = import('jp.co.infoseek.hp.arton.rjb.Test').new
216
+ s = test.getUmlaut()
217
+ if Object::const_defined?(:Encoding) #>=1.9
218
+ teststr = teststr.force_encoding(Encoding::UTF_8)
219
+ assert_equal(s, teststr)
220
+ else
221
+ default_kcode = $KCODE
222
+ begin
223
+ $KCODE = "utf8"
224
+ assert_equal(s, teststr)
225
+ ensure
226
+ $KCODE = default_kcode
189
227
  end
190
- s = @jString.new(none_kj)
191
- assert_equal(s.toString(), none_kj)
192
- $KCODE = 'utf8'
193
- utf8_kj = "\xE6\xBC\xA2\xE5\xAD\x97\xE3\x83\x86\xE3\x82\xAD\xE3\x82\xB9\xE3\x83\x88"
194
- s = @jString.new(utf8_kj)
195
- assert_equal(s.toString(), utf8_kj)
196
- $KCODE = 'sjis'
197
- sjis_kj = "\x8a\xbf\x8e\x9a\x83\x65\x83\x4c\x83\x58\x83\x67"
198
- s = @jString.new(sjis_kj)
199
- assert_equal(s.toString(), sjis_kj)
200
- $KCODE = 'euc'
201
- euc_kj = "\xb4\xc1\xbb\xfa\xa5\xc6\xa5\xad\xa5\xb9\xa5\xc8"
202
- s = @jString.new(euc_kj)
203
- assert_equal(s.toString(), euc_kj)
204
228
  end
205
229
  end
206
230
 
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.1.6
7
- date: 2008-08-26 00:00:00 +09:00
6
+ version: 1.1.7
7
+ date: 2009-02-15 00:00:00 +09:00
8
8
  summary: Ruby Java bridge
9
9
  require_paths:
10
10
  - lib
@@ -30,26 +30,26 @@ authors:
30
30
  - arton
31
31
  files:
32
32
  - ext/RBridge.java
33
- - ext/load.c
34
- - ext/riconv.c
35
33
  - ext/rjbexception.c
34
+ - ext/riconv.c
35
+ - ext/load.c
36
36
  - ext/rjb.c
37
37
  - ext/jniwrap.h
38
- - ext/rjb.h
39
38
  - ext/riconv.h
40
39
  - ext/jp_co_infoseek_hp_arton_rjb_RBridge.h
41
40
  - ext/extconf.h
41
+ - ext/rjb.h
42
42
  - ext/depend
43
43
  - data/rjb/jp/co/infoseek/hp/arton/rjb/RBridge.class
44
44
  - lib/rjb.rb
45
45
  - samples/filechooser.rb
46
- - test/test.rb
47
46
  - test/gctest.rb
47
+ - test/test.rb
48
48
  - test/jp/co/infoseek/hp/arton/rjb/ExtBase.class
49
49
  - test/jp/co/infoseek/hp/arton/rjb/Test.class
50
50
  - test/jp/co/infoseek/hp/arton/rjb/IBase.class
51
- - test/jp/co/infoseek/hp/arton/rjb/Test$TestTypes.class
52
51
  - test/jp/co/infoseek/hp/arton/rjb/Base.class
52
+ - test/jp/co/infoseek/hp/arton/rjb/Test$TestTypes.class
53
53
  - COPYING
54
54
  - ChangeLog
55
55
  - readme.sj