rubeus 0.0.9-java → 0.1.0-java
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.
- checksums.yaml +7 -0
- data/.gitignore +4 -0
- data/Gemfile +5 -0
- data/Gemfile.lock +29 -0
- data/Rakefile +5 -52
- data/VERSION +1 -1
- data/examples/rubeus_swing_jdbc_example01.rb +19 -1
- data/examples/rubeus_swing_menu_example.rb +30 -0
- data/lib/rubeus.rb +4 -3
- data/lib/rubeus/extensions/javax/swing/j_menu.rb +7 -0
- data/lib/rubeus/extensions/javax/swing/j_menu_bar.rb +7 -0
- data/lib/rubeus/jdbc/column.rb +1 -1
- data/lib/rubeus/reflection.rb +4 -0
- data/lib/rubeus/reflection/java_methods.rb +95 -0
- data/lib/rubeus/version.rb +3 -0
- data/rubeus.gemspec +26 -197
- data/test/minitest_helper.rb +20 -0
- data/test/rubeus/awt/test_attributes.rb +2 -4
- data/test/rubeus/awt/test_event.rb +2 -4
- data/test/rubeus/awt/test_nestable.rb +2 -4
- data/test/rubeus/awt/test_setter.rb +2 -4
- data/test/rubeus/extensions/java/awt/test_dimension.rb +3 -5
- data/test/rubeus/extensions/java/sql/test_connection.rb +3 -4
- data/test/rubeus/extensions/java/sql/test_database_meta_data.rb +3 -6
- data/test/rubeus/extensions/java/sql/test_driver_manager.rb +2 -4
- data/test/rubeus/extensions/java/sql/test_result_set.rb +3 -4
- data/test/rubeus/extensions/java/sql/test_result_set_meta_data.rb +3 -4
- data/test/rubeus/extensions/java/sql/test_sql_helper.rb +11 -4
- data/test/rubeus/extensions/java/sql/test_statement.rb +3 -4
- data/test/rubeus/extensions/javax/swing/table/test_default_table_model.rb +3 -4
- data/test/rubeus/extensions/javax/swing/test_box_layout.rb +45 -47
- data/test/rubeus/extensions/javax/swing/test_j_component.rb +20 -22
- data/test/rubeus/extensions/javax/swing/test_j_frame.rb +31 -33
- data/test/rubeus/extensions/javax/swing/test_j_menu_bar.rb +28 -0
- data/test/rubeus/extensions/javax/swing/test_j_panel.rb +16 -18
- data/test/rubeus/extensions/javax/swing/test_j_scroll_pane.rb +18 -19
- data/test/rubeus/extensions/javax/swing/test_j_split_pane.rb +45 -46
- data/test/rubeus/extensions/javax/swing/test_j_tabbed_pane.rb +2 -4
- data/test/rubeus/extensions/javax/swing/test_j_table.rb +67 -68
- data/test/rubeus/extensions/javax/swing/test_j_text_field.rb +43 -45
- data/test/rubeus/extensions/javax/swing/test_timer.rb +5 -5
- data/test/rubeus/reflection/test_java_methods.rb +138 -0
- data/test/rubeus/reflection/test_method_modifier.rb +3 -4
- data/test/rubeus/test_extensions.rb +3 -7
- data/test/test_rubeus.rb +7 -0
- metadata +285 -235
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'minitest_helper'
|
2
|
+
|
3
|
+
# Test for j_menu_bar.rb
|
4
|
+
class TestJMenuBar < MiniTest::Unit::TestCase
|
5
|
+
include Rubeus::Swing
|
6
|
+
|
7
|
+
# setup method
|
8
|
+
def setup
|
9
|
+
end
|
10
|
+
|
11
|
+
# normal pattern
|
12
|
+
def test_normal
|
13
|
+
assert_nothing_raised do
|
14
|
+
JFrame.new do |f|
|
15
|
+
menubar = JMenuBar.new do
|
16
|
+
JMenu.new("File") do
|
17
|
+
JMenuItem.new("New...") do
|
18
|
+
end
|
19
|
+
JMenuItem.new("Exit") do
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
f.jmenu_bar = menubar
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -1,23 +1,21 @@
|
|
1
|
-
require '
|
2
|
-
require 'rubygems'
|
3
|
-
require 'rubeus'
|
1
|
+
require 'minitest_helper'
|
4
2
|
|
5
3
|
# Test for Rubeus::Extensions::Javax::Swing
|
6
|
-
class TestJPanel <
|
7
|
-
|
4
|
+
class TestJPanel < MiniTest::Unit::TestCase
|
5
|
+
include Rubeus::Swing
|
8
6
|
|
9
|
-
|
10
|
-
|
11
|
-
|
7
|
+
# setup method
|
8
|
+
def setup
|
9
|
+
end
|
12
10
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
11
|
+
# normal pattern
|
12
|
+
def test_normal
|
13
|
+
assert_nothing_raised do
|
14
|
+
JFrame.new do |f|
|
15
|
+
JPanel.new do |p|
|
16
|
+
JButton.new("Push!")
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
23
21
|
end
|
@@ -1,24 +1,23 @@
|
|
1
|
-
|
2
|
-
require '
|
3
|
-
require 'rubeus'
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'minitest_helper'
|
4
3
|
|
5
4
|
# Test for j_scroll_pane.rb
|
6
|
-
class TestJScrollPane <
|
7
|
-
|
5
|
+
class TestJScrollPane < MiniTest::Unit::TestCase
|
6
|
+
include Rubeus::Swing
|
8
7
|
|
9
|
-
|
10
|
-
|
11
|
-
|
8
|
+
# setup method
|
9
|
+
def setup
|
10
|
+
end
|
12
11
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
12
|
+
# normal pattern
|
13
|
+
def test_normal
|
14
|
+
assert_nothing_raised do
|
15
|
+
JFrame.new do |f|
|
16
|
+
JScrollPane.new do |p|
|
17
|
+
JButton.new("Push!")
|
18
|
+
JLabel.new("ラベル")
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
24
23
|
end
|
@@ -1,54 +1,53 @@
|
|
1
|
-
|
2
|
-
require '
|
3
|
-
require 'rubeus'
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'minitest_helper'
|
4
3
|
|
5
4
|
# Test for j_split_pane.rb
|
6
|
-
class TestJSplitPane <
|
7
|
-
|
5
|
+
class TestJSplitPane < MiniTest::Unit::TestCase
|
6
|
+
include Rubeus::Swing
|
8
7
|
|
9
|
-
|
10
|
-
|
11
|
-
|
8
|
+
# setup method
|
9
|
+
def setup
|
10
|
+
end
|
12
11
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
12
|
+
# normal pattern with Symbol
|
13
|
+
def test_normal_with_symbol
|
14
|
+
assert_nothing_raised do
|
15
|
+
JFrame.new do |f|
|
16
|
+
JSplitPane.new(:HORIZONTAL_SPLIT) do
|
17
|
+
JButton.new("Push!")
|
18
|
+
JLabel.new("ラベル")
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
23
22
|
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
23
|
+
assert_nothing_raised do
|
24
|
+
JFrame.new do |f|
|
25
|
+
JSplitPane.new(:VERTICAL_SPLIT) do
|
26
|
+
JButton.new("Push!")
|
27
|
+
JLabel.new("ラベル")
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
33
32
|
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
33
|
+
# normal pattern with original constructor
|
34
|
+
def test_normal_with_original_constructor
|
35
|
+
assert_nothing_raised do
|
36
|
+
JFrame.new do |f|
|
37
|
+
JSplitPane.new(javax.swing.JSplitPane::HORIZONTAL_SPLIT) do
|
38
|
+
JButton.new("Push!")
|
39
|
+
JLabel.new("ラベル")
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
44
43
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
44
|
+
assert_nothing_raised do
|
45
|
+
JFrame.new do |f|
|
46
|
+
JSplitPane.new(javax.swing.JSplitPane::VERTICAL_SPLIT) do
|
47
|
+
JButton.new("Push!")
|
48
|
+
JLabel.new("ラベル")
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
54
53
|
end
|
@@ -1,9 +1,7 @@
|
|
1
|
-
require '
|
2
|
-
require 'rubygems'
|
3
|
-
require 'rubeus'
|
1
|
+
require 'minitest_helper'
|
4
2
|
|
5
3
|
# Test for j_tabbed_pane.rb
|
6
|
-
class TestJTabbedPane <
|
4
|
+
class TestJTabbedPane < MiniTest::Unit::TestCase
|
7
5
|
include Rubeus::Swing
|
8
6
|
|
9
7
|
# setup method
|
@@ -1,71 +1,70 @@
|
|
1
|
-
|
2
|
-
require '
|
3
|
-
require 'rubeus'
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'minitest_helper'
|
4
3
|
|
5
4
|
# Test for j_table.rb
|
6
|
-
class TestJTable <
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
5
|
+
class TestJTable < MiniTest::Unit::TestCase
|
6
|
+
include Rubeus::Swing
|
7
|
+
|
8
|
+
# setup method
|
9
|
+
def setup
|
10
|
+
end
|
11
|
+
|
12
|
+
# test default preferred size
|
13
|
+
def test_default_preferred_size
|
14
|
+
JFrame.new do |f|
|
15
|
+
jt = JTable.new
|
16
|
+
|
17
|
+
f.set_size(500, 500)
|
18
|
+
f.pack
|
19
|
+
|
20
|
+
assert_equal(200, jt.width)
|
21
|
+
assert_equal(150, jt.height)
|
22
|
+
|
23
|
+
f.dispose
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
# test model accessor
|
28
|
+
def test_model_accessor
|
29
|
+
jt = JTable.new
|
30
|
+
|
31
|
+
# set_model and model
|
32
|
+
jt.set_model(["first", "second"])
|
33
|
+
|
34
|
+
assert_equal(2, jt.model.column_count)
|
35
|
+
assert_equal("first", jt.model.get_column_name(0))
|
36
|
+
assert_equal("second", jt.model.get_column_name(1))
|
37
|
+
|
38
|
+
# =model and get_model
|
39
|
+
jt.model = ["third", "forth", "fifth"]
|
40
|
+
|
41
|
+
assert_equal(3, jt.get_model.column_count)
|
42
|
+
assert_equal("third", jt.get_model.get_column_name(0))
|
43
|
+
assert_equal("forth", jt.get_model.get_column_name(1))
|
44
|
+
assert_equal("fifth", jt.get_model.get_column_name(2))
|
45
|
+
end
|
46
|
+
|
47
|
+
# test model readonly
|
48
|
+
def test_readonly
|
49
|
+
jt = JTable.new
|
50
|
+
|
51
|
+
# set test data
|
52
|
+
jt.model = {:data => [["1", "ないわ〜"], ["2", "格好いい"]], :column_names => ["ID", "NHK語"]}
|
53
|
+
|
54
|
+
for i in 0..(jt.model.row_count - 1)
|
55
|
+
for j in 0..(jt.model.column_count - 1)
|
56
|
+
assert_equal(true, jt.model.is_cell_editable(i, j))
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
# set to readonly
|
61
|
+
jt.model.readonly = true
|
62
|
+
|
63
|
+
for i in 0..(jt.model.row_count - 1)
|
64
|
+
for j in 0..(jt.model.column_count - 1)
|
65
|
+
# is_cell_editable always returns true
|
66
|
+
assert_equal(false, jt.model.isCellEditable(i, j))
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
71
70
|
end
|
@@ -1,48 +1,46 @@
|
|
1
|
-
require '
|
2
|
-
require 'rubygems'
|
3
|
-
require 'rubeus'
|
1
|
+
require 'minitest_helper'
|
4
2
|
|
5
3
|
# Test for j_scroll_pane.rb
|
6
|
-
class TestJTextField <
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
4
|
+
class TestJTextField < MiniTest::Unit::TestCase
|
5
|
+
include Rubeus::Swing
|
6
|
+
|
7
|
+
# setup method
|
8
|
+
def setup
|
9
|
+
end
|
10
|
+
|
11
|
+
# normal pattern
|
12
|
+
def test_normal
|
13
|
+
@key_event_processed = false
|
14
|
+
|
15
|
+
JFrame.new do |f|
|
16
|
+
# Register default event keyPress
|
17
|
+
jtf = JTextField.new do |key_event|
|
18
|
+
assert_equal(java.awt.event.KeyEvent::KEY_PRESSED, key_event.get_id)
|
19
|
+
assert_equal(java.awt.event.KeyEvent::VK_A, key_event.get_key_code)
|
20
|
+
assert_equal(97, key_event.get_key_char)
|
21
|
+
assert_equal(0, key_event.get_modifiers)
|
22
|
+
|
23
|
+
@key_event_processed = true
|
24
|
+
end
|
25
|
+
|
26
|
+
f.visible = true
|
27
|
+
|
28
|
+
# Send key pressed event to JTextField
|
29
|
+
jtf.dispatch_event(
|
30
|
+
java.awt.event.KeyEvent.new(
|
31
|
+
jtf,
|
32
|
+
java.awt.event.KeyEvent::KEY_PRESSED,
|
33
|
+
java.lang.System.current_time_millis,
|
34
|
+
0,
|
35
|
+
java.awt.event.KeyEvent::VK_A,
|
36
|
+
97
|
37
|
+
)
|
38
|
+
)
|
39
|
+
|
40
|
+
f.dispose
|
41
|
+
f.visible = false
|
42
|
+
|
43
|
+
assert_equal(true, @key_event_processed)
|
44
|
+
end
|
45
|
+
end
|
48
46
|
end
|