ruboto 0.11.0 → 0.12.0.rc.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +1 -1
- data/README.md +7 -5
- data/Rakefile +3 -4
- data/assets/rakelib/ruboto.rake +138 -87
- data/assets/samples/sample_broadcast_receiver.rb +1 -1
- data/assets/src/InheritingActivity.java +0 -6
- data/assets/src/RubotoActivity.java +4 -1
- data/assets/src/RubotoBroadcastReceiver.java +2 -11
- data/assets/src/RubotoService.java +6 -52
- data/assets/src/org/ruboto/EntryPointActivity.java +276 -36
- data/assets/src/org/ruboto/JRubyAdapter.java +5 -152
- data/assets/src/org/ruboto/Script.java +1 -1
- data/assets/src/org/ruboto/ScriptLoader.java +26 -44
- data/assets/src/org/ruboto/test/InstrumentationTestRunner.java +4 -21
- data/bin/ruboto +0 -6
- data/lib/ruboto/commands/base.rb +58 -48
- data/lib/ruboto/sdk_locations.rb +23 -0
- data/lib/ruboto/sdk_versions.rb +1 -19
- data/lib/ruboto/util/build.rb +32 -32
- data/lib/ruboto/util/setup.rb +240 -0
- data/lib/ruboto/util/update.rb +12 -25
- data/lib/ruboto/util/verify.rb +7 -4
- data/lib/ruboto/util/xml_element.rb +62 -76
- data/lib/ruboto/version.rb +1 -1
- data/test/activity/image_button_activity_test.rb +2 -2
- data/test/activity/image_button_and_button_activity_test.rb +2 -2
- data/test/activity/json_activity.rb +1 -1
- data/test/activity/navigation_activity.rb +12 -12
- data/test/activity/navigation_activity_test.rb +7 -7
- data/test/activity/option_menu_activity.rb +0 -1
- data/test/activity/option_menu_activity_test.rb +2 -2
- data/test/activity/stack_activity_test.rb +10 -20
- data/test/app_test_methods.rb +0 -4
- data/test/broadcast_receiver_test.rb +16 -6
- data/test/minimal_app_test.rb +4 -12
- data/test/rake_test.rb +37 -23
- data/test/ruboto_gen_test.rb +12 -15
- data/test/sqldroid_test.rb +3 -6
- data/test/test_helper.rb +2 -0
- data/test/update_test_methods.rb +9 -9
- metadata +7 -11
@@ -41,19 +41,19 @@ test('button starts infile class activity', :ui => false) do |activity|
|
|
41
41
|
button_activity_text 48, activity, 42, 'This is an infile activity.'
|
42
42
|
end
|
43
43
|
|
44
|
-
test(
|
44
|
+
test('infile activity starts again', :ui => false) do |activity|
|
45
45
|
button_activity_text 48, activity, 42, 'This is an infile activity.'
|
46
46
|
end
|
47
47
|
|
48
|
-
test(
|
48
|
+
test('start ruby file activity', :ui => false) do |activity|
|
49
49
|
button_activity_text 49, activity, 42, 'This is a Ruby file activity.'
|
50
50
|
end
|
51
51
|
|
52
|
-
test(
|
52
|
+
test('start ruby file activity again', :ui => false) do |activity|
|
53
53
|
button_activity_text 49, activity, 42, 'This is a Ruby file activity.'
|
54
54
|
end
|
55
55
|
|
56
|
-
test(
|
56
|
+
test('start ruboto activity without config', :ui => false) do |activity|
|
57
57
|
a = start_activity_by_button activity, 50
|
58
58
|
assert_equal 'Ruboto Test App', a.title
|
59
59
|
end
|
@@ -75,8 +75,8 @@ def start_activity_by_button(activity, button_id, activity_class_name = 'org.rub
|
|
75
75
|
current_activity
|
76
76
|
end
|
77
77
|
|
78
|
-
def button_activity_text
|
79
|
-
activity_class_name = 'org.ruboto.RubotoActivity'
|
78
|
+
def button_activity_text(button_id, activity, expected_text_id, expected_text_string,
|
79
|
+
activity_class_name = 'org.ruboto.RubotoActivity')
|
80
80
|
current_activity = start_activity_by_button(activity, button_id, activity_class_name)
|
81
81
|
start = Time.now
|
82
82
|
loop do
|
@@ -91,7 +91,7 @@ ensure
|
|
91
91
|
if current_activity
|
92
92
|
finish_at = Time.now
|
93
93
|
finished = false
|
94
|
-
current_activity.run_on_ui_thread { current_activity.finish
|
94
|
+
current_activity.run_on_ui_thread { current_activity.finish; finished = true }
|
95
95
|
loop do
|
96
96
|
break if finished || (Time.now - finish_at > 10)
|
97
97
|
puts 'wait for finish'
|
@@ -17,7 +17,6 @@ class OptionMenuActivity
|
|
17
17
|
|
18
18
|
def onCreateOptionsMenu(menu)
|
19
19
|
mi = menu.add('Test')
|
20
|
-
# mi.icon = $package.R::drawable::get_ruboto_core
|
21
20
|
mi.setIcon($package.R::drawable::get_ruboto_core)
|
22
21
|
mi.set_on_menu_item_click_listener do |menu_item|
|
23
22
|
@text_view.text = 'What hath Matz wrought!'
|
@@ -11,7 +11,7 @@ setup do |activity|
|
|
11
11
|
end
|
12
12
|
|
13
13
|
test('option_menu changes text') do |activity|
|
14
|
-
assert_equal
|
14
|
+
assert_equal 'What hath Matz wrought?', @text_view.text
|
15
15
|
activity.window.performPanelIdentifierAction(android.view.Window::FEATURE_OPTIONS_PANEL, 0, 0)
|
16
|
-
assert_equal
|
16
|
+
assert_equal 'What hath Matz wrought!', @text_view.text
|
17
17
|
end
|
@@ -10,30 +10,20 @@ setup do |activity|
|
|
10
10
|
assert @text_view
|
11
11
|
end
|
12
12
|
|
13
|
-
# ANDROID: 10, PLATFORM: 0.
|
14
|
-
# ANDROID:
|
15
|
-
# ANDROID:
|
13
|
+
# ANDROID: 10, PLATFORM: 0.5.3, JRuby: 1.7.3 '[28, 33, 46, 63]' expected, but got '[43, 48, 45, 62]'
|
14
|
+
# ANDROID: 10, PLATFORM: 0.5.4, JRuby: 1.7.3 '[28, 33, 45, 62]' expected, but got '[28, 33, 44, 61]'
|
15
|
+
# ANDROID: 15, PLATFORM: STANDALONE, JRuby: 1.7.0 '[28, 33, 51, 68]' expected, but got '[28, 33, 47, 64]'
|
16
16
|
test('stack depth') do |activity|
|
17
17
|
os_offset = {
|
18
18
|
10 => [0, 0, -1, -1],
|
19
19
|
13 => [1, 1, 0, 0],
|
20
20
|
}[android.os.Build::VERSION::SDK_INT] || [0, 0, 0, 0]
|
21
|
-
if org.ruboto.JRubyAdapter.uses_platform_apk?
|
22
|
-
jruby_offset = {
|
23
|
-
'0.4.7' => [0, 0, 4, 4],
|
24
|
-
}[org.ruboto.JRubyAdapter.platform_version_name] || [0, 0, 0, 0]
|
25
|
-
else # STANDALONE
|
26
|
-
jruby_offset = {
|
27
|
-
/^1\.6/ => [0, 0, 4, 4],
|
28
|
-
// => [0, 0, 0, 0],
|
29
|
-
}.find{|k,v| org.jruby.runtime.Constants::VERSION =~ k}[1]
|
30
|
-
end
|
31
21
|
version_message ="ANDROID: #{android.os.Build::VERSION::SDK_INT}, PLATFORM: #{org.ruboto.JRubyAdapter.uses_platform_apk ? org.ruboto.JRubyAdapter.platform_version_name : 'STANDALONE'}, JRuby: #{org.jruby.runtime.Constants::VERSION}"
|
32
|
-
assert_equal [28 + os_offset[0]
|
33
|
-
33 + os_offset[1]
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
22
|
+
assert_equal [28 + os_offset[0],
|
23
|
+
33 + os_offset[1],
|
24
|
+
45 + os_offset[2],
|
25
|
+
62 + os_offset[3]], [activity.find_view_by_id(42).text.to_i,
|
26
|
+
activity.find_view_by_id(43).text.to_i,
|
27
|
+
activity.find_view_by_id(44).text.to_i,
|
28
|
+
activity.find_view_by_id(45).text.to_i], version_message
|
39
29
|
end
|
data/test/app_test_methods.rb
CHANGED
@@ -37,10 +37,6 @@ module AppTestMethods
|
|
37
37
|
|
38
38
|
def run_activity_tests(activity_dir)
|
39
39
|
Dir[File.expand_path("#{activity_dir}/*", File.dirname(__FILE__))].each do |file|
|
40
|
-
# FIXME(uwe): Remove when we stop testing JRuby < 1.7.0.rc1
|
41
|
-
next if file =~ /subclass/ && (RUBOTO_PLATFORM == 'CURRENT' || JRUBY_JARS_VERSION < Gem::Version.new('1.7.1.dev'))
|
42
|
-
# EMXIF
|
43
|
-
|
44
40
|
# FIXME(uwe): Remove when we include jopenssl and bouncycastle
|
45
41
|
next if file =~ /ssl/
|
46
42
|
# EMXIF
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require File.expand_path(
|
1
|
+
require File.expand_path('test_helper', File.dirname(__FILE__))
|
2
2
|
require 'fileutils'
|
3
3
|
|
4
4
|
class BroadcastReceiverTest < Test::Unit::TestCase
|
@@ -38,6 +38,15 @@ class BroadcastReceiverTest < Test::Unit::TestCase
|
|
38
38
|
end
|
39
39
|
EOF
|
40
40
|
|
41
|
+
assert activity_content.sub!(/^ private$/m, <<EOF)
|
42
|
+
def onDestroy
|
43
|
+
super
|
44
|
+
unregisterReceiver(@receiver)
|
45
|
+
end
|
46
|
+
|
47
|
+
private
|
48
|
+
EOF
|
49
|
+
|
41
50
|
assert activity_content.sub!(/ def butterfly\n.*? end\n/m, <<EOF)
|
42
51
|
def butterfly
|
43
52
|
intent = android.content.Intent.new
|
@@ -45,6 +54,7 @@ EOF
|
|
45
54
|
send_broadcast(intent)
|
46
55
|
end
|
47
56
|
EOF
|
57
|
+
|
48
58
|
File.open(activity_filename, 'w') { |f| f << activity_content }
|
49
59
|
|
50
60
|
system "#{RUBOTO_CMD} gen class BroadcastReceiver --name ClickReceiver"
|
@@ -54,13 +64,13 @@ EOF
|
|
54
64
|
|
55
65
|
assert receiver_content.sub!(/ def onReceive\(context, intent\)\n.*?^ end\n/m, <<EOF)
|
56
66
|
def onReceive(context, intent)
|
57
|
-
Log.d
|
67
|
+
Log.d 'RUBOTO TEST', 'Changing UI text'
|
58
68
|
context.run_on_ui_thread{$broadcast_test_activity.find_view_by_id(42).text = '#{message}'}
|
59
|
-
Log.d
|
69
|
+
Log.d 'RUBOTO TEST', 'UI text changed OK!'
|
60
70
|
rescue Exception
|
61
|
-
Log.e
|
62
|
-
Log.e
|
63
|
-
Log.e
|
71
|
+
Log.e 'RUBOTO TEST', "Exception changing UI text: \#{$!.message}"
|
72
|
+
Log.e 'RUBOTO TEST', $!.message
|
73
|
+
Log.e 'RUBOTO TEST', $!.backtrace.join("\\n")
|
64
74
|
end
|
65
75
|
EOF
|
66
76
|
File.open(receiver_filename, 'w') { |f| f << receiver_content }
|
data/test/minimal_app_test.rb
CHANGED
@@ -12,21 +12,15 @@ if RubotoTest::RUBOTO_PLATFORM == 'STANDALONE'
|
|
12
12
|
cleanup_app
|
13
13
|
end
|
14
14
|
|
15
|
-
# APK was 3.5MB. JRuby: 1.6.7, ANDROID_TARGET: 15
|
16
|
-
# APK was 3.3MB. JRuby: 1.6.7.2, ANDROID_TARGET: 10
|
17
15
|
# APK was 4.7MB. JRuby: 1.7.0, ANDROID_TARGET: 15
|
18
16
|
# APK was 4.5MB. JRuby: 1.7.2, ANDROID_TARGET: 10
|
19
17
|
# APK was 4.5MB. JRuby: 1.7.2, ANDROID_TARGET: 15
|
20
18
|
# APK was 4.3MB. JRuby: 1.7.3, ANDROID_TARGET: 10
|
21
19
|
# APK was 4.2MB. JRuby: 1.7.3, ANDROID_TARGET: 15
|
22
20
|
# APK was 4.4MB. JRuby: 1.7.4.dev, ANDROID_TARGET: 10
|
23
|
-
|
24
21
|
def test_minimal_apk_is_within_limits
|
25
22
|
apk_size = BigDecimal(File.size("#{APP_DIR}/bin/RubotoTestApp-debug.apk").to_s) / (1024 * 1024)
|
26
23
|
upper_limit = {
|
27
|
-
'1.6.7' => 3.5,
|
28
|
-
'1.6.7.2' => 3.5,
|
29
|
-
'1.6.8' => 3.5,
|
30
24
|
'1.7.0' => ANDROID_TARGET < 15 ? 4.7 : 4.9,
|
31
25
|
'1.7.1' => ANDROID_TARGET < 15 ? 4.7 : 4.9,
|
32
26
|
'1.7.2' => ANDROID_TARGET < 15 ? 4.6 : 4.9,
|
@@ -42,26 +36,24 @@ if RubotoTest::RUBOTO_PLATFORM == 'STANDALONE'
|
|
42
36
|
run_app_tests
|
43
37
|
end
|
44
38
|
|
45
|
-
# APK was 3.5MB. JRuby: 1.6.7, ANDROID_TARGET: 15.
|
46
|
-
# APK was 3.3MB. JRuby: 1.6.7.2, ANDROID_TARGET: 10.
|
47
39
|
# APK was 4.7MB. JRuby: 1.7.0, ANDROID_TARGET: 15.
|
48
40
|
# APK was 4.5MB. JRuby: 1.7.2, ANDROID_TARGET: 10.
|
49
41
|
# APK was 4.5MB. JRuby: 1.7.2, ANDROID_TARGET: 15.
|
42
|
+
# APK was 4.5MB. JRuby: 1.7.3, ANDROID_TARGET: 10
|
50
43
|
# APK was 4.6MB. JRuby: 1.7.3.dev, ANDROID_TARGET: 10.
|
51
44
|
# APK was 4.5MB. JRuby: 1.7.3.dev, ANDROID_TARGET: 15.
|
45
|
+
# APK was 5.0MB. JRuby: 1.7.4.dev, ANDROID_TARGET: 10
|
52
46
|
# FIXME(uwe): Remove when we remove the exclude feature
|
53
47
|
def test_minimal_apk_with_excludes_is_less_than_5_mb
|
54
48
|
generate_app :excluded_stdlibs => %w{ant cgi digest dl drb ffi irb net optparse racc rbconfig rdoc rexml rinda rss
|
55
49
|
rubygems runit shell soap test uri webrick win32 wsdl xmlrpc xsd ../1.9}
|
56
50
|
apk_size = BigDecimal(File.size("#{APP_DIR}/bin/RubotoTestApp-debug.apk").to_s) / (1024 * 1024)
|
57
51
|
upper_limit = {
|
58
|
-
'1.6.7' => 3.5,
|
59
|
-
'1.6.7.2' => 3.5,
|
60
|
-
'1.6.8' => 3.5,
|
61
52
|
'1.7.0' => ANDROID_TARGET < 15 ? 4.7 : 4.9,
|
62
53
|
'1.7.1' => ANDROID_TARGET < 15 ? 4.7 : 4.9,
|
63
54
|
'1.7.2' => ANDROID_TARGET < 15 ? 4.6 : 4.9,
|
64
|
-
|
55
|
+
'1.7.3' => ANDROID_TARGET < 15 ? 4.6 : 4.9,
|
56
|
+
}[JRUBY_JARS_VERSION.to_s] || 5.0
|
65
57
|
lower_limit = upper_limit * 0.9
|
66
58
|
version_message ="JRuby: #{JRUBY_JARS_VERSION}, ANDROID_TARGET: #{ANDROID_TARGET}"
|
67
59
|
assert apk_size <= upper_limit, "APK was larger than #{'%.1f' % upper_limit}MB: #{'%.1f' % apk_size.ceil(1)}MB. #{version_message}"
|
data/test/rake_test.rb
CHANGED
@@ -9,32 +9,27 @@ class RakeTest < Test::Unit::TestCase
|
|
9
9
|
cleanup_app
|
10
10
|
end
|
11
11
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
activity_filename = 'src/ruboto_test_app_activity.rb'
|
19
|
-
s = File.read(activity_filename)
|
20
|
-
s.gsub!(/What hath Matz wrought\?/, 'This text was changed by script!')
|
21
|
-
File.open(activity_filename, 'w') { |f| f << s }
|
12
|
+
def test_that_update_scripts_task_copies_files_to_sdcard_and_are_read_by_activity
|
13
|
+
Dir.chdir APP_DIR do
|
14
|
+
activity_filename = 'src/ruboto_test_app_activity.rb'
|
15
|
+
s = File.read(activity_filename)
|
16
|
+
s.gsub!(/What hath Matz wrought\?/, 'This text was changed by script!')
|
17
|
+
File.open(activity_filename, 'w') { |f| f << s }
|
22
18
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
19
|
+
test_filename = 'test/src/ruboto_test_app_activity_test.rb'
|
20
|
+
s2 = File.read(test_filename)
|
21
|
+
s2.gsub!(/What hath Matz wrought\?/, 'This text was changed by script!')
|
22
|
+
File.open(test_filename, 'w') { |f| f << s2 }
|
27
23
|
|
28
|
-
|
29
|
-
|
30
|
-
|
24
|
+
apk_timestamp = File.ctime("bin/#{APP_NAME}-debug.apk")
|
25
|
+
end
|
26
|
+
run_app_tests
|
31
27
|
|
32
|
-
|
33
|
-
|
34
|
-
|
28
|
+
# FIXME(uwe): Uncomment this when we can build the test package without building the main package
|
29
|
+
# assert_equal apk_timestamp, File.ctime("bin/#{APP_NAME}-debug.apk"), 'APK should not have been rebuilt'
|
30
|
+
# EMXIF
|
35
31
|
|
36
|
-
|
37
|
-
end
|
32
|
+
assert_match %r{^/sdcard/Android/data/#{PACKAGE}/files/scripts$}, `adb shell ls -d /sdcard/Android/data/#{PACKAGE}/files/scripts`.chomp
|
38
33
|
end
|
39
34
|
|
40
35
|
def test_that_apk_is_built_if_only_one_ruby_source_file_has_changed
|
@@ -53,7 +48,7 @@ class RakeTest < Test::Unit::TestCase
|
|
53
48
|
assert_equal "android:minSdkVersion='#{ANDROID_TARGET}'", manifest.slice(/android:minSdkVersion='\d+'/)
|
54
49
|
assert_equal "android:targetSdkVersion='#{ANDROID_TARGET}'", manifest.slice(/android:targetSdkVersion='\d+'/)
|
55
50
|
prop_file = File.read('project.properties')
|
56
|
-
File.open('project.properties', 'w'){|f| f << prop_file.sub(/target=android-#{ANDROID_TARGET}/, 'target=android-6')}
|
51
|
+
File.open('project.properties', 'w') { |f| f << prop_file.sub(/target=android-#{ANDROID_TARGET}/, 'target=android-6') }
|
57
52
|
system 'rake debug'
|
58
53
|
manifest = File.read('AndroidManifest.xml')
|
59
54
|
assert_equal "android:minSdkVersion='6'", manifest.slice(/android:minSdkVersion='\d+'/)
|
@@ -61,4 +56,23 @@ class RakeTest < Test::Unit::TestCase
|
|
61
56
|
end
|
62
57
|
end
|
63
58
|
|
59
|
+
def test_install_with_space_in_project_name
|
60
|
+
app_dir = "#{APP_DIR} with_space"
|
61
|
+
FileUtils.mv APP_DIR, app_dir
|
62
|
+
Dir.chdir app_dir do
|
63
|
+
system 'rake install'
|
64
|
+
raise "'rake install' exited with code #$?" unless $? == 0
|
65
|
+
end
|
66
|
+
ensure
|
67
|
+
FileUtils.rm_rf app_dir
|
68
|
+
end
|
69
|
+
|
70
|
+
def test_install_when_adb_server_is_stopped
|
71
|
+
Dir.chdir APP_DIR do
|
72
|
+
system 'adb kill-server'
|
73
|
+
system 'rake install'
|
74
|
+
raise "'rake install' exited with code #$?" unless $? == 0
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
64
78
|
end
|
data/test/ruboto_gen_test.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require File.expand_path(
|
1
|
+
require File.expand_path('test_helper', File.dirname(__FILE__))
|
2
2
|
require 'bigdecimal'
|
3
3
|
require 'test/app_test_methods'
|
4
4
|
|
@@ -49,16 +49,16 @@ class RubotoGenTest < Test::Unit::TestCase
|
|
49
49
|
end
|
50
50
|
end
|
51
51
|
|
52
|
-
# APK was
|
53
|
-
# APK was
|
54
|
-
# APK was 67.2KB. PLATFORM: CURRENT, ANDROID_TARGET: 15
|
52
|
+
# APK was 57.1KB. PLATFORM: CURRENT, ANDROID_TARGET: 10
|
53
|
+
# APK was 58.3KB. PLATFORM: CURRENT, ANDROID_TARGET: 15
|
55
54
|
# APK was 73.1KB. PLATFORM: CURRENT, ANDROID_TARGET: 16
|
56
|
-
# APK was
|
55
|
+
# APK was 57.1KB. PLATFORM: FROM_GEM, ANDROID_TARGET: 10
|
57
56
|
# APK was 7380.0KB. PLATFORM: STANDALONE, ANDROID_TARGET: 15, JRuby: 1.7.0
|
58
57
|
# APK was 7310.1KB. PLATFORM: STANDALONE, ANDROID_TARGET: 10, JRuby: 1.7.2
|
59
|
-
# APK was 7337.0KB. PLATFORM: STANDALONE, ANDROID_TARGET: 15, JRuby: 1.7.2
|
58
|
+
# APK was 7337.0KB. PLATFORM: STANDALONE, ANDROID_TARGET: 15, JRuby: 1.7.2
|
60
59
|
# APK was 7317.4KB. PLATFORM: STANDALONE, ANDROID_TARGET: 15, JRuby: 1.7.3
|
61
60
|
# APK was 7332.1KB. PLATFORM: STANDALONE, ANDROID_TARGET: 16, JRuby: 1.7.3
|
61
|
+
# APK was 8428.4KB. PLATFORM: STANDALONE, ANDROID_TARGET: 10, JRuby: 1.7.4.dev
|
62
62
|
# APK was 7405.8KB. PLATFORM: STANDALONE, ANDROID_TARGET: 15, JRuby: 1.7.4.dev
|
63
63
|
# APK was 7420.9KB. PLATFORM: STANDALONE, ANDROID_TARGET: 16, JRuby: 1.7.4.dev
|
64
64
|
def test_new_apk_size_is_within_limits
|
@@ -67,19 +67,16 @@ class RubotoGenTest < Test::Unit::TestCase
|
|
67
67
|
version << ", ANDROID_TARGET: #{ANDROID_TARGET}"
|
68
68
|
if RUBOTO_PLATFORM == 'STANDALONE'
|
69
69
|
upper_limit = {
|
70
|
-
'1.6.7' => 5900.0,
|
71
|
-
'1.6.8' => 5900.0,
|
72
70
|
'1.7.0' => ANDROID_TARGET < 15 ? 7400.0 : 7600.0,
|
73
71
|
'1.7.1' => ANDROID_TARGET < 15 ? 7400.0 : 7600.0,
|
74
72
|
'1.7.2' => 7400.0,
|
75
73
|
'1.7.3' => 7400.0,
|
76
|
-
}[JRUBY_JARS_VERSION.to_s] ||
|
74
|
+
}[JRUBY_JARS_VERSION.to_s] || 8500.0
|
77
75
|
version << ", JRuby: #{JRUBY_JARS_VERSION.to_s}"
|
78
76
|
else
|
79
77
|
upper_limit = {
|
80
|
-
|
81
|
-
|
82
|
-
15 => 63.0,
|
78
|
+
10 => 58.0,
|
79
|
+
15 => 59.0,
|
83
80
|
16 => 74.0,
|
84
81
|
}[ANDROID_TARGET] || 74.0
|
85
82
|
end
|
@@ -109,7 +106,7 @@ class RubotoGenTest < Test::Unit::TestCase
|
|
109
106
|
|
110
107
|
# FIXME(uwe): Workaround for Ruboto Issue #246
|
111
108
|
java_source = File.read(java_source_file)
|
112
|
-
File.open(java_source_file, 'w'){|f| f << java_source.gsub(/^(public class .*ArrayAdapter) (.*ArrayAdapter)/, '\1<T
|
109
|
+
File.open(java_source_file, 'w'){|f| f << java_source.gsub(/^(public class .*ArrayAdapter) (.*ArrayAdapter)/, '\1<T> \2<T>').gsub(/T.class/, 'Object.class')}
|
113
110
|
# EMXIF
|
114
111
|
|
115
112
|
assert File.exists?('src/ruboto_array_adapter.rb')
|
@@ -267,8 +264,8 @@ EOF
|
|
267
264
|
Dir.chdir APP_DIR do
|
268
265
|
system "#{RUBOTO_CMD} gen jruby"
|
269
266
|
assert_equal 0, $?.exitstatus
|
270
|
-
assert_equal
|
271
|
-
assert_equal
|
267
|
+
assert_equal %W(libs/jruby-core-#{JRUBY_JARS_VERSION.to_s.downcase}.jar), Dir['libs/jruby-core-*.jar'].map(&:downcase)
|
268
|
+
assert_equal %W(libs/jruby-stdlib-#{JRUBY_JARS_VERSION.to_s.downcase}.jar), Dir['libs/jruby-stdlib-*.jar'].map(&:downcase)
|
272
269
|
end
|
273
270
|
end
|
274
271
|
end
|
data/test/sqldroid_test.rb
CHANGED
@@ -1,9 +1,7 @@
|
|
1
|
-
require File.expand_path(
|
1
|
+
require File.expand_path('test_helper', File.dirname(__FILE__))
|
2
2
|
|
3
|
-
# FIXME(uwe): Remove check when we stop supporting JRuby older than 1.7.0.rc1
|
4
3
|
# FIXME(uwe): Remove check when we stop supporting Android < 4.0.3
|
5
|
-
if RubotoTest::
|
6
|
-
(RubotoTest::ANDROID_OS >= 15 || RubotoTest::RUBOTO_PLATFORM != 'STANDALONE')
|
4
|
+
if RubotoTest::ANDROID_OS >= 15 || RubotoTest::RUBOTO_PLATFORM != 'STANDALONE'
|
7
5
|
|
8
6
|
require 'bigdecimal'
|
9
7
|
require 'test/app_test_methods'
|
@@ -28,14 +26,13 @@ ruboto_import_widgets :LinearLayout, :ListView, :TextView
|
|
28
26
|
|
29
27
|
class MyArrayAdapter < android.widget.ArrayAdapter
|
30
28
|
def get_view(position, convert_view, parent)
|
31
|
-
puts "IN get_view!!!"
|
32
29
|
@inflater ||= context.getSystemService(Context::LAYOUT_INFLATER_SERVICE)
|
33
30
|
row = convert_view ? convert_view : @inflater.inflate(mResource, nil)
|
34
31
|
row.findViewById(mFieldId).text = get_item(position)
|
35
32
|
row
|
36
33
|
rescue Exception
|
37
34
|
puts "Exception getting list item view: \#$!"
|
38
|
-
puts $!.backtrace.join("
|
35
|
+
puts $!.backtrace.join("\\n")
|
39
36
|
convert_view
|
40
37
|
end
|
41
38
|
end
|
data/test/test_helper.rb
CHANGED
@@ -5,9 +5,11 @@ require 'rubygems'
|
|
5
5
|
require 'fileutils'
|
6
6
|
require 'yaml'
|
7
7
|
require 'ruboto/sdk_versions'
|
8
|
+
require 'ruboto/sdk_locations'
|
8
9
|
|
9
10
|
module RubotoTest
|
10
11
|
include Ruboto::SdkVersions
|
12
|
+
include Ruboto::SdkLocations
|
11
13
|
|
12
14
|
PROJECT_DIR = File.expand_path('..', File.dirname(__FILE__))
|
13
15
|
$LOAD_PATH << PROJECT_DIR
|
data/test/update_test_methods.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require File.expand_path(
|
1
|
+
require File.expand_path('test_helper', File.dirname(__FILE__))
|
2
2
|
require 'test/app_test_methods'
|
3
3
|
|
4
4
|
module UpdateTestMethods
|
@@ -34,10 +34,10 @@ module UpdateTestMethods
|
|
34
34
|
unless Gem::Version.new(@old_ruboto_version) <= Gem::Version.new('0.10.0.rc.0')
|
35
35
|
def test_broadcast_receiver
|
36
36
|
Dir.chdir APP_DIR do
|
37
|
-
puts
|
37
|
+
puts 'Adding a broadcast receiver'
|
38
38
|
install_ruboto_gem @old_ruboto_version
|
39
39
|
system "ruboto _#{@old_ruboto_version}_ gen class BroadcastReceiver --name DummyReceiver"
|
40
|
-
fail
|
40
|
+
fail 'Creation of broadcast receiver failed' if $? != 0
|
41
41
|
assert File.exists? 'src/org/ruboto/test_app/DummyReceiver.java'
|
42
42
|
assert File.exists? 'src/dummy_receiver.rb'
|
43
43
|
test_file = 'test/src/dummy_receiver_test.rb'
|
@@ -49,10 +49,10 @@ module UpdateTestMethods
|
|
49
49
|
|
50
50
|
def test_broadcast_receiver_updated_twice
|
51
51
|
Dir.chdir APP_DIR do
|
52
|
-
puts
|
52
|
+
puts 'Adding a broadcast receiver'
|
53
53
|
install_ruboto_gem @old_ruboto_version
|
54
54
|
system "ruboto _#{@old_ruboto_version}_ gen class BroadcastReceiver --name DummyReceiver"
|
55
|
-
fail
|
55
|
+
fail 'Creation of broadcast receiver failed' if $? != 0
|
56
56
|
assert File.exists? 'src/org/ruboto/test_app/DummyReceiver.java'
|
57
57
|
assert File.exists? 'src/dummy_receiver.rb'
|
58
58
|
test_file = 'test/src/dummy_receiver_test.rb'
|
@@ -66,10 +66,10 @@ module UpdateTestMethods
|
|
66
66
|
|
67
67
|
def test_subclass_is_updated
|
68
68
|
Dir.chdir APP_DIR do
|
69
|
-
puts
|
69
|
+
puts 'Adding a subclass'
|
70
70
|
install_ruboto_gem @old_ruboto_version
|
71
71
|
system "ruboto _#{@old_ruboto_version}_ gen subclass android.database.sqlite.SQLiteOpenHelper --name MyDatabaseHelper --method_base on"
|
72
|
-
fail
|
72
|
+
fail 'Creation of subclass failed' if $? != 0
|
73
73
|
assert File.exists? 'src/org/ruboto/test_app/MyDatabaseHelper.java'
|
74
74
|
if Gem::Version.new(@old_ruboto_version) >= Gem::Version.new('0.8.1.rc.0')
|
75
75
|
assert File.exists? 'src/my_database_helper.rb'
|
@@ -86,10 +86,10 @@ module UpdateTestMethods
|
|
86
86
|
private
|
87
87
|
|
88
88
|
def assert_code(code)
|
89
|
-
filename =
|
89
|
+
filename = 'src/ruboto_test_app_activity.rb'
|
90
90
|
Dir.chdir APP_DIR do
|
91
91
|
s = File.read(filename)
|
92
|
-
raise
|
92
|
+
raise 'Code injection failed!' unless s.gsub!(/(require 'ruboto\/widget')/, "\\1\n#{code}")
|
93
93
|
File.open(filename, 'w') { |f| f << s }
|
94
94
|
end
|
95
95
|
end
|