ruboto 0.8.0 → 0.8.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +35 -11
- data/assets/rakelib/ruboto.rake +2 -0
- data/assets/samples/sample_activity.rb +1 -0
- data/assets/samples/sample_class.rb +2 -0
- data/assets/samples/sample_class_test.rb +1 -0
- data/assets/src/InheritingActivity.java +1 -1
- data/assets/src/InheritingBroadcastReceiver.java +2 -1
- data/assets/src/InheritingClass.java +15 -7
- data/assets/src/InheritingService.java +1 -2
- data/assets/src/RubotoActivity.java +20 -110
- data/assets/src/RubotoBroadcastReceiver.java +16 -62
- data/assets/src/RubotoService.java +13 -89
- data/assets/src/org/ruboto/EntryPointActivity.java +1 -1
- data/assets/src/org/ruboto/JRubyAdapter.java +23 -23
- data/assets/src/org/ruboto/RubotoComponent.java +8 -0
- data/assets/src/org/ruboto/Script.java +10 -5
- data/assets/src/org/ruboto/ScriptInfo.java +53 -0
- data/assets/src/org/ruboto/ScriptLoader.java +143 -0
- data/assets/src/org/ruboto/test/ActivityTest.java +15 -8
- data/assets/src/org/ruboto/test/InstrumentationTestRunner.java +11 -6
- data/assets/src/ruboto/activity.rb +43 -17
- data/assets/src/ruboto/base.rb +7 -1
- data/assets/src/ruboto/generate.rb +6 -2
- data/assets/src/ruboto/legacy.rb +1 -1
- data/assets/src/ruboto/menu.rb +4 -4
- data/assets/src/ruboto/widget.rb +4 -11
- data/lib/ruboto/commands/base.rb +21 -7
- data/lib/ruboto/util/build.rb +6 -3
- data/lib/ruboto/util/code_formatting.rb +2 -2
- data/lib/ruboto/util/update.rb +58 -58
- data/lib/ruboto/util/xml_element.rb +14 -11
- data/lib/ruboto/version.rb +2 -1
- data/test/activity/generate_activity.rb +35 -0
- data/test/activity/generate_activity_test.rb +17 -0
- data/test/activity/image_button_activity.rb +1 -0
- data/test/activity/image_button_and_button_activity.rb +1 -0
- data/test/activity/margins_activity.rb +1 -0
- data/test/activity/navigation_activity.rb +20 -5
- data/test/activity/navigation_activity_test.rb +43 -4
- data/test/activity/option_menu_activity.rb +1 -0
- data/test/activity/psych_activity.rb +2 -1
- data/test/activity/stack_activity.rb +1 -0
- data/test/activity/stack_activity_test.rb +11 -5
- data/test/block_def_activity/margins_activity.rb +2 -1
- data/test/block_def_activity/psych_activity.rb +1 -1
- data/test/block_def_activity/stack_activity_test.rb +1 -1
- data/test/handle_activity/psych_activity.rb +1 -1
- data/test/handle_activity/stack_activity_test.rb +17 -9
- data/test/minimal_app_test.rb +2 -2
- data/test/rake_test.rb +1 -1
- data/test/ruboto_gen_test.rb +162 -34
- data/test/service_test.rb +1 -2
- data/test/sqldroid_test.rb +87 -0
- data/test/test_helper.rb +19 -12
- data/test/update_test_methods.rb +29 -44
- data/test/view_constants_test.rb +1 -2
- metadata +12 -4
data/test/minimal_app_test.rb
CHANGED
@@ -17,8 +17,8 @@ if RubotoTest::RUBOTO_PLATFORM == 'STANDALONE'
|
|
17
17
|
apk_size = BigDecimal(File.size("#{APP_DIR}/bin/RubotoTestApp-debug.apk").to_s) / (1024 * 1024)
|
18
18
|
upper_limit = {
|
19
19
|
'1.6.7' => 3.2,
|
20
|
-
'1.7.0.preview1' =>
|
21
|
-
'1.7.0.preview2' =>
|
20
|
+
'1.7.0.preview1' => 4.6,
|
21
|
+
'1.7.0.preview2' => 4.6,
|
22
22
|
}[JRUBY_JARS_VERSION.to_s] || 3.2
|
23
23
|
lower_limit = upper_limit * 0.9
|
24
24
|
version_message ="JRuby: #{JRUBY_JARS_VERSION}, ANDROID_TARGET: #{ANDROID_TARGET}"
|
data/test/rake_test.rb
CHANGED
@@ -31,7 +31,7 @@ class RakeTest < Test::Unit::TestCase
|
|
31
31
|
|
32
32
|
# FIXME(uwe): Uncomment this when we can build the test package without building the main package
|
33
33
|
# assert_equal apk_timestamp, File.ctime("bin/#{APP_NAME}-debug.apk"), 'APK should not have been rebuilt'
|
34
|
-
#
|
34
|
+
# EMXIF
|
35
35
|
|
36
36
|
assert_match %r{^/sdcard/Android/data/#{PACKAGE}/files/scripts$}, `adb shell ls -d /sdcard/Android/data/#{PACKAGE}/files/scripts`.chomp
|
37
37
|
end
|
data/test/ruboto_gen_test.rb
CHANGED
@@ -39,15 +39,15 @@ class RubotoGenTest < Test::Unit::TestCase
|
|
39
39
|
if RUBOTO_PLATFORM == 'STANDALONE'
|
40
40
|
upper_limit = {
|
41
41
|
'1.6.7' => 5800.0,
|
42
|
-
'1.7.0.preview1' =>
|
43
|
-
'1.7.0.preview2' =>
|
42
|
+
'1.7.0.preview1' => 7308.0,
|
43
|
+
'1.7.0.preview2' => 7308.0,
|
44
44
|
}[JRUBY_JARS_VERSION.to_s] || 4200.0
|
45
45
|
version << ", JRuby: #{JRUBY_JARS_VERSION.to_s}"
|
46
46
|
else
|
47
47
|
upper_limit = {
|
48
|
-
7 =>
|
49
|
-
10 =>
|
50
|
-
15 =>
|
48
|
+
7 => 67.0,
|
49
|
+
10 => 309.0,
|
50
|
+
15 => 309.0,
|
51
51
|
}[ANDROID_TARGET] || 64.0
|
52
52
|
end
|
53
53
|
lower_limit = upper_limit * 0.9
|
@@ -60,48 +60,176 @@ class RubotoGenTest < Test::Unit::TestCase
|
|
60
60
|
system "#{RUBOTO_CMD} gen subclass android.database.sqlite.SQLiteOpenHelper --name MyDatabaseHelper --method_base on"
|
61
61
|
assert_equal 0, $?.exitstatus
|
62
62
|
assert File.exists?('src/org/ruboto/test_app/MyDatabaseHelper.java')
|
63
|
-
|
64
|
-
|
65
|
-
# assert File.exists?('test/src/my_database_helper_test.rb')
|
63
|
+
assert File.exists?('src/my_database_helper.rb')
|
64
|
+
assert File.exists?('test/src/my_database_helper_test.rb')
|
66
65
|
system 'rake debug'
|
67
66
|
assert_equal 0, $?
|
68
67
|
end
|
69
68
|
end
|
70
69
|
|
71
|
-
def
|
70
|
+
def test_gen_subclass_of_array_adapter
|
72
71
|
Dir.chdir APP_DIR do
|
73
|
-
system "#{RUBOTO_CMD} gen
|
72
|
+
system "#{RUBOTO_CMD} gen subclass android.widget.ArrayAdapter --name RubotoArrayAdapter --method_base all"
|
74
73
|
assert_equal 0, $?.exitstatus
|
75
|
-
java_source_file = 'src/org/ruboto/test_app/
|
74
|
+
java_source_file = 'src/org/ruboto/test_app/RubotoArrayAdapter.java'
|
76
75
|
assert File.exists?(java_source_file)
|
77
|
-
# FIXME(uwe): Add tests and definition script?
|
78
|
-
# assert File.exists?('src/my_runnable.rb')
|
79
|
-
# assert File.exists?('test/src/my_runnable_test.rb')
|
80
76
|
|
77
|
+
# FIXME(uwe): Workaround for Ruboto Issue #246
|
81
78
|
java_source = File.read(java_source_file)
|
82
|
-
File.open(java_source_file, 'w'){|f| f << java_source.gsub(
|
79
|
+
File.open(java_source_file, 'w'){|f| f << java_source.gsub(/^(public class .*ArrayAdapter) (.*ArrayAdapter)/, '\1<T>\2<T>').gsub(/T.class/, 'Object.class')}
|
80
|
+
# EMXIF
|
83
81
|
|
84
|
-
|
85
|
-
|
82
|
+
assert File.exists?('src/ruboto_array_adapter.rb')
|
83
|
+
assert File.exists?('test/src/ruboto_array_adapter_test.rb')
|
84
|
+
|
85
|
+
File.open('src/ruboto_test_app_activity.rb', 'w'){|f| f << <<EOF}
|
86
|
+
require 'ruboto/activity'
|
87
|
+
require 'ruboto/util/stack'
|
88
|
+
require 'ruboto/widget'
|
86
89
|
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
90
|
+
ruboto_import_widgets :LinearLayout, :ListView, :TextView
|
91
|
+
|
92
|
+
class RubotoTestAppActivity
|
93
|
+
def on_create(bundle)
|
94
|
+
super
|
95
|
+
set_title 'ListView Example'
|
96
|
+
|
97
|
+
records = [{:text1 => 'First row'}, {:image => resources.get_drawable($package.R::drawable::get_ruboto_core), :text1 => 'Second row'}, 'Third row']
|
98
|
+
adapter = $package.RubotoArrayAdapter.new(self, $package.R::layout::list_item, AndroidIds::text1, records)
|
99
|
+
puts "adapter: \#{adapter.inspect}"
|
100
|
+
self.content_view =
|
101
|
+
linear_layout :orientation => :vertical do
|
102
|
+
@text_view = text_view :text => 'What hath Matz wrought?', :id => 42, :width => :match_parent,
|
103
|
+
:gravity => :center, :text_size => 48.0
|
104
|
+
list_view :adapter => adapter, :id => 43,
|
105
|
+
:on_item_click_listener => proc{|parent, view, position, id| @text_view.text = 'List item clicked!'}
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
98
109
|
EOF
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
110
|
+
|
111
|
+
File.open('test/src/ruboto_test_app_activity_test.rb', 'w'){|f| f << <<EOF}
|
112
|
+
activity Java::org.ruboto.test_app.RubotoTestAppActivity
|
113
|
+
|
114
|
+
setup do |activity|
|
115
|
+
start = Time.now
|
116
|
+
loop do
|
117
|
+
@text_view = activity.findViewById(42)
|
118
|
+
@list_view = activity.findViewById(43)
|
119
|
+
break if (@text_view && @list_view && @list_view.adapter) || (Time.now - start > 60)
|
120
|
+
puts "Waiting for adapter: \#{@list_view && @list_view.adapter.inspect}"
|
121
|
+
sleep 1
|
122
|
+
end
|
123
|
+
assert @text_view
|
124
|
+
assert @list_view
|
125
|
+
assert @list_view.adapter
|
126
|
+
end
|
127
|
+
|
128
|
+
test('Item click changes text') do |activity|
|
129
|
+
text_view = activity.findViewById(42)
|
130
|
+
list_view = activity.findViewById(43)
|
131
|
+
list_view.perform_item_click(list_view.adapter.get_view(1, nil, nil), 1, 1)
|
132
|
+
assert_equal 'List item clicked!', text_view.text
|
133
|
+
end
|
134
|
+
EOF
|
135
|
+
|
136
|
+
File.open('src/ruboto_array_adapter.rb', 'w'){|f| f << <<EOF}
|
137
|
+
class Java::AndroidWidget::ArrayAdapter
|
138
|
+
field_reader :mResource, :mFieldId
|
139
|
+
end
|
140
|
+
|
141
|
+
class RubotoArrayAdapter
|
142
|
+
import android.content.Context
|
143
|
+
|
144
|
+
def get_view(position, convert_view, parent)
|
145
|
+
puts "IN get_view!!!"
|
146
|
+
@inflater = context.getSystemService(Context::LAYOUT_INFLATER_SERVICE) unless @inflater
|
147
|
+
if convert_view
|
148
|
+
row = convert_view
|
149
|
+
row.findViewById(Ruboto::Id.image).image_drawable = nil
|
150
|
+
row.findViewById(AndroidIds.text1).text = nil
|
151
|
+
else
|
152
|
+
row = @inflater.inflate(mResource, nil)
|
153
|
+
end
|
154
|
+
|
155
|
+
model = get_item position
|
156
|
+
case model
|
157
|
+
when Hash
|
158
|
+
model.each do |field, value|
|
159
|
+
begin
|
160
|
+
field_id = Ruboto::Id.respond_to?(field) && Ruboto::Id.send(field) ||
|
161
|
+
AndroidIds.respond_to?(field) && AndroidIds.send(field)
|
162
|
+
field_view = row.findViewById(field_id)
|
163
|
+
case value
|
164
|
+
when String
|
165
|
+
field_view.text = value
|
166
|
+
when android.graphics.drawable.Drawable
|
167
|
+
field_view.image_drawable = value
|
168
|
+
else
|
169
|
+
raise "Unknown View type: \#{value.inspect}"
|
170
|
+
end
|
171
|
+
rescue Exception
|
172
|
+
puts "Exception setting list item value: \#$!"
|
173
|
+
puts $!.backtrace.join("\n")
|
174
|
+
end
|
175
|
+
end
|
176
|
+
else
|
177
|
+
row.findViewById(mFieldId).text = model.to_s
|
178
|
+
end
|
179
|
+
|
180
|
+
row
|
181
|
+
rescue Exception
|
182
|
+
puts "Exception getting list item view: \#$!"
|
183
|
+
puts $!.backtrace.join("\n")
|
184
|
+
convert_view
|
185
|
+
end
|
186
|
+
|
187
|
+
def getView(position, convert_view, parent)
|
188
|
+
puts "IN get_view!!!"
|
189
|
+
get_view(position, convert_view, parent)
|
190
|
+
end
|
191
|
+
|
192
|
+
end
|
193
|
+
EOF
|
194
|
+
|
195
|
+
File.open('res/layout/list_item.xml', 'w'){|f| f << <<EOF}
|
196
|
+
<?xml version="1.0" encoding="utf-8"?>
|
197
|
+
<LinearLayout
|
198
|
+
xmlns:android="http://schemas.android.com/apk/res/android"
|
199
|
+
android:orientation="horizontal"
|
200
|
+
android:layout_width="fill_parent"
|
201
|
+
android:layout_height="wrap_content"
|
202
|
+
android:background="#ffffff"
|
203
|
+
>
|
204
|
+
<TextView
|
205
|
+
android:id="@android:id/text1"
|
206
|
+
android:textAppearance="?android:attr/textAppearanceLarge"
|
207
|
+
android:gravity="left"
|
208
|
+
android:layout_weight="1"
|
209
|
+
android:layout_width="wrap_content"
|
210
|
+
android:layout_height="?android:attr/listPreferredItemHeight"
|
211
|
+
android:textColor="#000000"
|
212
|
+
/>
|
213
|
+
<ImageView
|
214
|
+
android:id="@+id/image"
|
215
|
+
android:gravity="right"
|
216
|
+
android:layout_width="wrap_content"
|
217
|
+
android:layout_height="wrap_content"
|
218
|
+
/>
|
219
|
+
</LinearLayout>
|
220
|
+
EOF
|
221
|
+
|
222
|
+
end
|
223
|
+
|
224
|
+
run_app_tests
|
225
|
+
end
|
226
|
+
|
227
|
+
def test_gen_jruby
|
228
|
+
Dir.chdir APP_DIR do
|
229
|
+
system "#{RUBOTO_CMD} gen jruby"
|
230
|
+
assert_equal 0, $?.exitstatus
|
231
|
+
assert File.exists?("libs/jruby-core-#{JRUBY_JARS_VERSION}.jar")
|
232
|
+
assert File.exists?("libs/jruby-stdlib-#{JRUBY_JARS_VERSION}.jar")
|
105
233
|
end
|
106
234
|
end
|
107
235
|
|
data/test/service_test.rb
CHANGED
@@ -25,9 +25,8 @@ require 'ruboto/widget'
|
|
25
25
|
ruboto_import_widgets :Button, :LinearLayout, :TextView
|
26
26
|
|
27
27
|
class RubotoTestAppActivity
|
28
|
-
include Ruboto::Activity
|
29
|
-
|
30
28
|
def on_create(bundle)
|
29
|
+
super
|
31
30
|
$ruboto_test_app_activity = self
|
32
31
|
set_title 'Domo arigato, Mr Ruboto!'
|
33
32
|
|
@@ -0,0 +1,87 @@
|
|
1
|
+
require File.expand_path("test_helper", File.dirname(__FILE__))
|
2
|
+
|
3
|
+
# FIXME(uwe): Remove check when we stop supporting JRuby older than 1.7.0.rc1
|
4
|
+
if RubotoTest::JRUBY_JARS_VERSION >= Gem::Version.new('1.7.0.rc1')
|
5
|
+
|
6
|
+
require 'bigdecimal'
|
7
|
+
require 'test/app_test_methods'
|
8
|
+
|
9
|
+
class SqldroidTest < Test::Unit::TestCase
|
10
|
+
def setup
|
11
|
+
generate_app :bundle => :sqldroid
|
12
|
+
end
|
13
|
+
|
14
|
+
def teardown
|
15
|
+
cleanup_app
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_sqldroid
|
19
|
+
Dir.chdir APP_DIR do
|
20
|
+
File.open('src/ruboto_test_app_activity.rb', 'w'){|f| f << <<EOF}
|
21
|
+
require 'ruboto/activity'
|
22
|
+
require 'ruboto/widget'
|
23
|
+
require 'ruboto/generate'
|
24
|
+
require 'sqldroid'
|
25
|
+
|
26
|
+
ruboto_import_widgets :LinearLayout, :ListView, :TextView
|
27
|
+
|
28
|
+
ruboto_generate("android.widget.ArrayAdapter" => $package_name + ".MyArrayAdapter")
|
29
|
+
|
30
|
+
class RubotoTestAppActivity
|
31
|
+
def on_create(bundle)
|
32
|
+
super
|
33
|
+
setTitle File.basename(__FILE__).chomp('_activity.rb').split('_').map { |s| "\#{s[0..0].upcase}\#{s[1..-1]}" }.join(' ')
|
34
|
+
|
35
|
+
adapter = MyArrayAdapter.new(self, android.R.layout.simple_list_item_1 , AndroidIds::text1, ['Record one', 'Record two'])
|
36
|
+
adapter.initialize_ruboto_callbacks do
|
37
|
+
def get_view(position, convert_view, parent)
|
38
|
+
puts "IN get_view!!!"
|
39
|
+
@inflater ||= context.getSystemService(Context::LAYOUT_INFLATER_SERVICE)
|
40
|
+
row = convert_view ? convert_view : @inflater.inflate(mResource, nil)
|
41
|
+
row.findViewById(mFieldId).text = get_item(position)
|
42
|
+
row
|
43
|
+
rescue Exception
|
44
|
+
puts "Exception getting list item view: \#$!"
|
45
|
+
puts $!.backtrace.join("\n")
|
46
|
+
convert_view
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
self.content_view =
|
51
|
+
linear_layout :orientation => LinearLayout::VERTICAL do
|
52
|
+
@text_view_margins = text_view :text => 'What hath Matz wrought?', :id => 42
|
53
|
+
@list_view = list_view :adapter => adapter, :id => 43
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
EOF
|
58
|
+
|
59
|
+
File.open('test/src/ruboto_test_app_activity_test.rb', 'w'){|f| f << <<EOF}
|
60
|
+
activity Java::org.ruboto.test_app.RubotoTestAppActivity
|
61
|
+
|
62
|
+
setup do |activity|
|
63
|
+
start = Time.now
|
64
|
+
loop do
|
65
|
+
@text_view = activity.findViewById(42)
|
66
|
+
@list_view = activity.findViewById(43)
|
67
|
+
break if (@text_view && @list_view) || (Time.now - start > 60)
|
68
|
+
sleep 1
|
69
|
+
end
|
70
|
+
assert @text_view
|
71
|
+
assert @list_view
|
72
|
+
end
|
73
|
+
|
74
|
+
test("activity starts") do |activity|
|
75
|
+
assert true
|
76
|
+
end
|
77
|
+
EOF
|
78
|
+
|
79
|
+
end
|
80
|
+
|
81
|
+
run_app_tests
|
82
|
+
end
|
83
|
+
|
84
|
+
end
|
85
|
+
|
86
|
+
end
|
87
|
+
# EMXIF
|
data/test/test_helper.rb
CHANGED
@@ -111,7 +111,7 @@ module RubotoTest
|
|
111
111
|
else
|
112
112
|
gem_spec = Gem.searcher.find('jruby-jars')
|
113
113
|
end
|
114
|
-
#
|
114
|
+
# EMXIF
|
115
115
|
|
116
116
|
raise StandardError.new("Can't find Gem specification jruby-jars.") unless gem_spec
|
117
117
|
JRUBY_JARS_VERSION = gem_spec.version
|
@@ -159,6 +159,7 @@ class Test::Unit::TestCase
|
|
159
159
|
update = options.delete(:update) || false
|
160
160
|
excluded_stdlibs = options.delete(:excluded_stdlibs)
|
161
161
|
standalone = options.delete(:standalone) || !!excluded_stdlibs || ENV['RUBOTO_PLATFORM'] == 'STANDALONE'
|
162
|
+
bundle = options.delete(:bundle)
|
162
163
|
raise "Unknown options: #{options.inspect}" unless options.empty?
|
163
164
|
Dir.mkdir TMP_DIR unless File.exists? TMP_DIR
|
164
165
|
|
@@ -198,10 +199,11 @@ class Test::Unit::TestCase
|
|
198
199
|
FileUtils.rm_rf APP_DIR
|
199
200
|
raise "gen app failed with return code #$?"
|
200
201
|
end
|
201
|
-
|
202
|
-
|
202
|
+
Dir.chdir APP_DIR do
|
203
|
+
write_gemfile(bundle) if bundle
|
204
|
+
if standalone
|
203
205
|
exclude_stdlibs(excluded_stdlibs) if excluded_stdlibs
|
204
|
-
system "#{RUBOTO_CMD}
|
206
|
+
system "#{RUBOTO_CMD} gen jruby"
|
205
207
|
raise "update jruby failed with return code #$?" if $? != 0
|
206
208
|
end
|
207
209
|
end
|
@@ -209,13 +211,13 @@ class Test::Unit::TestCase
|
|
209
211
|
|
210
212
|
# FIXME(uwe): Installation with dexmaker fails on Android < 4.0.3 due to complex interface structure
|
211
213
|
# Fixme(uwe): Remove when solved
|
212
|
-
if standalone && ANDROID_OS < 15
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
end
|
218
|
-
#
|
214
|
+
#if standalone && ANDROID_OS < 15
|
215
|
+
# Dir.chdir APP_DIR do
|
216
|
+
# puts "Removing dexmaker jar for android-#{ANDROID_OS}"
|
217
|
+
# FileUtils.rm(Dir['libs/dexmaker*.jar'])
|
218
|
+
# end
|
219
|
+
#end
|
220
|
+
# EMXIF
|
219
221
|
|
220
222
|
unless example && !update
|
221
223
|
Dir.chdir APP_DIR do
|
@@ -266,7 +268,7 @@ class Test::Unit::TestCase
|
|
266
268
|
break if retries >= 3
|
267
269
|
puts "Retrying (#{retries})."
|
268
270
|
end
|
269
|
-
#
|
271
|
+
# EMXIF
|
270
272
|
|
271
273
|
assert_equal 0, $?, "tests failed with return code #$?"
|
272
274
|
end
|
@@ -293,4 +295,9 @@ class Test::Unit::TestCase
|
|
293
295
|
File.open('ruboto.yml', 'w') { |f| f << YAML.dump({:excluded_stdlibs => excluded_stdlibs}) }
|
294
296
|
end
|
295
297
|
|
298
|
+
def write_gemfile(bundle)
|
299
|
+
puts "Adding Gemfile.apk: #{[*bundle].join(' ')}"
|
300
|
+
File.open('Gemfile.apk', 'w') { |f| f << "source :rubygems\n\ngem 'sqldroid'\n" }
|
301
|
+
end
|
302
|
+
|
296
303
|
end
|
data/test/update_test_methods.rb
CHANGED
@@ -14,52 +14,34 @@ module UpdateTestMethods
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def test_broadcast_receiver
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
assert File.exists? test_file
|
28
|
-
|
29
|
-
# FIXME(uwe): NOOP?
|
30
|
-
source = File.read(test_file)
|
31
|
-
File.open(test_file, 'w'){|f| f << source}
|
32
|
-
|
33
|
-
update_app
|
34
|
-
end
|
35
|
-
run_app_tests
|
17
|
+
Dir.chdir APP_DIR do
|
18
|
+
puts "Adding a broadcast receiver"
|
19
|
+
install_ruboto_gem @old_ruboto_version
|
20
|
+
system "ruboto _#{@old_ruboto_version}_ gen class BroadcastReceiver --name DummyReceiver"
|
21
|
+
fail "Creation of broadcast receiver failed" if $? != 0
|
22
|
+
assert File.exists? 'src/org/ruboto/test_app/DummyReceiver.java'
|
23
|
+
assert File.exists? 'src/dummy_receiver.rb'
|
24
|
+
test_file = 'test/src/dummy_receiver_test.rb'
|
25
|
+
assert File.exists? test_file
|
26
|
+
update_app
|
36
27
|
end
|
37
|
-
|
28
|
+
run_app_tests
|
38
29
|
end
|
39
30
|
|
40
31
|
def test_broadcast_receiver_updated_twice
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
# FIXME(uwe): NOOP?
|
54
|
-
source = File.read(test_file)
|
55
|
-
File.open(test_file, 'w'){|f| f << source}
|
56
|
-
|
57
|
-
update_app
|
58
|
-
update_app
|
59
|
-
end
|
60
|
-
run_app_tests
|
32
|
+
Dir.chdir APP_DIR do
|
33
|
+
puts "Adding a broadcast receiver"
|
34
|
+
install_ruboto_gem @old_ruboto_version
|
35
|
+
system "ruboto _#{@old_ruboto_version}_ gen class BroadcastReceiver --name DummyReceiver"
|
36
|
+
fail "Creation of broadcast receiver failed" if $? != 0
|
37
|
+
assert File.exists? 'src/org/ruboto/test_app/DummyReceiver.java'
|
38
|
+
assert File.exists? 'src/dummy_receiver.rb'
|
39
|
+
test_file = 'test/src/dummy_receiver_test.rb'
|
40
|
+
assert File.exists? test_file
|
41
|
+
update_app
|
42
|
+
update_app
|
61
43
|
end
|
62
|
-
|
44
|
+
run_app_tests
|
63
45
|
end
|
64
46
|
|
65
47
|
def test_subclass_is_updated
|
@@ -69,10 +51,13 @@ module UpdateTestMethods
|
|
69
51
|
system "ruboto _#{@old_ruboto_version}_ gen subclass android.database.sqlite.SQLiteOpenHelper --name MyDatabaseHelper --method_base on"
|
70
52
|
fail "Creation of subclass failed" if $? != 0
|
71
53
|
assert File.exists? 'src/org/ruboto/test_app/MyDatabaseHelper.java'
|
72
|
-
|
73
|
-
|
74
|
-
|
54
|
+
if Gem::Version.new(@old_ruboto_version) >= Gem::Version.new('0.8.1.rc.0')
|
55
|
+
assert File.exists? 'src/my_database_helper.rb'
|
56
|
+
assert File.exists? 'test/src/my_database_helper_test.rb'
|
57
|
+
end
|
75
58
|
update_app
|
59
|
+
assert File.exists? 'src/my_database_helper.rb'
|
60
|
+
assert File.exists? 'test/src/my_database_helper_test.rb'
|
76
61
|
system 'rake debug'
|
77
62
|
assert_equal 0, $?
|
78
63
|
end
|