ruboto 0.8.0 → 0.8.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. data/Rakefile +35 -11
  2. data/assets/rakelib/ruboto.rake +2 -0
  3. data/assets/samples/sample_activity.rb +1 -0
  4. data/assets/samples/sample_class.rb +2 -0
  5. data/assets/samples/sample_class_test.rb +1 -0
  6. data/assets/src/InheritingActivity.java +1 -1
  7. data/assets/src/InheritingBroadcastReceiver.java +2 -1
  8. data/assets/src/InheritingClass.java +15 -7
  9. data/assets/src/InheritingService.java +1 -2
  10. data/assets/src/RubotoActivity.java +20 -110
  11. data/assets/src/RubotoBroadcastReceiver.java +16 -62
  12. data/assets/src/RubotoService.java +13 -89
  13. data/assets/src/org/ruboto/EntryPointActivity.java +1 -1
  14. data/assets/src/org/ruboto/JRubyAdapter.java +23 -23
  15. data/assets/src/org/ruboto/RubotoComponent.java +8 -0
  16. data/assets/src/org/ruboto/Script.java +10 -5
  17. data/assets/src/org/ruboto/ScriptInfo.java +53 -0
  18. data/assets/src/org/ruboto/ScriptLoader.java +143 -0
  19. data/assets/src/org/ruboto/test/ActivityTest.java +15 -8
  20. data/assets/src/org/ruboto/test/InstrumentationTestRunner.java +11 -6
  21. data/assets/src/ruboto/activity.rb +43 -17
  22. data/assets/src/ruboto/base.rb +7 -1
  23. data/assets/src/ruboto/generate.rb +6 -2
  24. data/assets/src/ruboto/legacy.rb +1 -1
  25. data/assets/src/ruboto/menu.rb +4 -4
  26. data/assets/src/ruboto/widget.rb +4 -11
  27. data/lib/ruboto/commands/base.rb +21 -7
  28. data/lib/ruboto/util/build.rb +6 -3
  29. data/lib/ruboto/util/code_formatting.rb +2 -2
  30. data/lib/ruboto/util/update.rb +58 -58
  31. data/lib/ruboto/util/xml_element.rb +14 -11
  32. data/lib/ruboto/version.rb +2 -1
  33. data/test/activity/generate_activity.rb +35 -0
  34. data/test/activity/generate_activity_test.rb +17 -0
  35. data/test/activity/image_button_activity.rb +1 -0
  36. data/test/activity/image_button_and_button_activity.rb +1 -0
  37. data/test/activity/margins_activity.rb +1 -0
  38. data/test/activity/navigation_activity.rb +20 -5
  39. data/test/activity/navigation_activity_test.rb +43 -4
  40. data/test/activity/option_menu_activity.rb +1 -0
  41. data/test/activity/psych_activity.rb +2 -1
  42. data/test/activity/stack_activity.rb +1 -0
  43. data/test/activity/stack_activity_test.rb +11 -5
  44. data/test/block_def_activity/margins_activity.rb +2 -1
  45. data/test/block_def_activity/psych_activity.rb +1 -1
  46. data/test/block_def_activity/stack_activity_test.rb +1 -1
  47. data/test/handle_activity/psych_activity.rb +1 -1
  48. data/test/handle_activity/stack_activity_test.rb +17 -9
  49. data/test/minimal_app_test.rb +2 -2
  50. data/test/rake_test.rb +1 -1
  51. data/test/ruboto_gen_test.rb +162 -34
  52. data/test/service_test.rb +1 -2
  53. data/test/sqldroid_test.rb +87 -0
  54. data/test/test_helper.rb +19 -12
  55. data/test/update_test_methods.rb +29 -44
  56. data/test/view_constants_test.rb +1 -2
  57. metadata +12 -4
@@ -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' => ANDROID_TARGET < 15 ? 4.4 : 4.6, # Without dexmaker for Android < 4.0.3
21
- '1.7.0.preview2' => ANDROID_TARGET < 15 ? 4.4 : 4.6, # Without dexmaker for Android < 4.0.3
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
- # FIXME end
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
@@ -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' => ANDROID_TARGET < 15 ? 7062.0 : 7308.0,
43
- '1.7.0.preview2' => ANDROID_TARGET < 15 ? 7062.0 : 7308.0,
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 => 62.0,
49
- 10 => 66.0,
50
- 15 => 67.0,
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
- # FIXME(uwe): Add tests and definition script?
64
- # assert File.exists?('src/my_database_helper.rb')
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 test_gen_interface
70
+ def test_gen_subclass_of_array_adapter
72
71
  Dir.chdir APP_DIR do
73
- system "#{RUBOTO_CMD} gen interface java.lang.Runnable --name MyRunnable"
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/MyRunnable.java'
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(/^\}\n/, " public static void main(String[] args){new MyRunnable().run();}\n}\n")}
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
- system 'rake debug'
85
- assert_equal 0, $?
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
- File.open('src/org/ruboto/JRubyAdapter.java', 'w'){|f| f << <<EOF}
88
- package org.ruboto;
89
- public class JRubyAdapter {
90
- public static Object get(String varName){return null;}
91
- public static boolean isInitialized(){return true;}
92
- public static boolean isJRubyOneSeven(){return true;}
93
- public static boolean isJRubyPreOneSeven(){return false;}
94
- public static void put(String varName, Object value){}
95
- public static void runRubyMethod(Object receiver, String method){}
96
- public static boolean runScriptlet(String scriptlet){return false;}
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
- system 'javac -cp bin/classes -d bin/classes src/org/ruboto/JRubyAdapter.java'
100
- assert_equal 0, $?
101
- system 'javac -cp bin/classes -d bin/classes src/org/ruboto/test_app/MyRunnable.java'
102
- assert_equal 0, $?
103
- system 'java -cp bin/classes org.ruboto.test_app.MyRunnable'
104
- assert_equal 0, $?
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
- # FIXME end
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
- if standalone
202
- Dir.chdir APP_DIR do
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} update jruby --force"
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
- Dir.chdir APP_DIR do
214
- puts "Removing dexmaker jar for android-#{ANDROID_OS}"
215
- FileUtils.rm(Dir['libs/dexmaker*.jar'])
216
- end
217
- end
218
- # FIXME end
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
- # FIXME end
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
@@ -14,52 +14,34 @@ module UpdateTestMethods
14
14
  end
15
15
 
16
16
  def test_broadcast_receiver
17
- # FIXME(uwe): Remove check when we stop supporting updating from ruboto_core (Ruboto before version 0.5.2 2011-12-24)
18
- if Gem::Version.new(@old_ruboto_version) >= Gem::Version.new('0.5.2')
19
- Dir.chdir APP_DIR do
20
- puts "Adding a broadcast receiver"
21
- install_ruboto_gem @old_ruboto_version
22
- system "ruboto _#{@old_ruboto_version}_ gen class BroadcastReceiver --name DummyReceiver"
23
- fail "Creation of broadcast receiver failed" if $? != 0
24
- assert File.exists? 'src/org/ruboto/test_app/DummyReceiver.java'
25
- assert File.exists? 'src/dummy_receiver.rb'
26
- test_file = 'test/src/dummy_receiver_test.rb'
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
- # FIXME end
28
+ run_app_tests
38
29
  end
39
30
 
40
31
  def test_broadcast_receiver_updated_twice
41
- # FIXME(uwe): Remove check when we stop supporting updating from ruboto_core (Ruboto before version 0.5.2 2011-12-24)
42
- if Gem::Version.new(@old_ruboto_version) >= Gem::Version.new('0.5.2')
43
- Dir.chdir APP_DIR do
44
- puts "Adding a broadcast receiver"
45
- install_ruboto_gem @old_ruboto_version
46
- system "ruboto _#{@old_ruboto_version}_ gen class BroadcastReceiver --name DummyReceiver"
47
- fail "Creation of broadcast receiver failed" if $? != 0
48
- assert File.exists? 'src/org/ruboto/test_app/DummyReceiver.java'
49
- assert File.exists? 'src/dummy_receiver.rb'
50
- test_file = 'test/src/dummy_receiver_test.rb'
51
- assert File.exists? test_file
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
- # FIXME end
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
- # assert File.exists? 'src/my_database_helper.rb'
73
- # assert File.exists? 'test/src/my_database_helper_test.rb'
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