ruboto 0.10.1 → 0.10.2.rc.0

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.
Files changed (36) hide show
  1. data/Gemfile +1 -1
  2. data/Gemfile.lock +1 -1
  3. data/Rakefile +110 -34
  4. data/assets/rakelib/ruboto.rake +181 -76
  5. data/assets/src/org/ruboto/JRubyAdapter.java +7 -3
  6. data/assets/src/org/ruboto/ScriptLoader.java +12 -4
  7. data/assets/src/ruboto/widget.rb +43 -34
  8. data/bin/ruboto +9 -4
  9. data/lib/ruboto/sdk_versions.rb +11 -2
  10. data/lib/ruboto/util/build.rb +1 -1
  11. data/lib/ruboto/util/update.rb +104 -32
  12. data/lib/ruboto/version.rb +1 -1
  13. data/test/activity/call_super_activity.rb +2 -3
  14. data/test/activity/dir_and_file_activity.rb +18 -0
  15. data/test/activity/dir_and_file_activity_test.rb +20 -0
  16. data/test/activity/image_button_and_button_activity.rb +4 -5
  17. data/test/activity/json_activity.rb +21 -0
  18. data/test/activity/json_activity_test.rb +17 -0
  19. data/test/activity/location_activity.rb +30 -0
  20. data/test/activity/location_activity_test.rb +17 -0
  21. data/test/activity/margins_activity.rb +0 -1
  22. data/test/activity/option_menu_activity.rb +0 -1
  23. data/test/activity/psych_activity.rb +8 -2
  24. data/test/activity/ssl_activity.rb +31 -0
  25. data/test/activity/ssl_activity_test.rb +22 -0
  26. data/test/activity/stack_activity.rb +0 -1
  27. data/test/activity/stack_activity_test.rb +4 -5
  28. data/test/activity/subclass_activity.rb +0 -1
  29. data/test/activity/view_constants_activity.rb +0 -1
  30. data/test/app_test_methods.rb +19 -6
  31. data/test/minimal_app_test.rb +10 -10
  32. data/test/rake_test.rb +8 -8
  33. data/test/ruboto_gen_test.rb +18 -12
  34. data/test/ruboto_update_test.rb +16 -10
  35. data/test/test_helper.rb +16 -35
  36. metadata +21 -9
@@ -1,4 +1,4 @@
1
1
  module Ruboto
2
- VERSION = '0.10.1'
2
+ VERSION = '0.10.2.rc.0'
3
3
  UPDATE_VERSION_LIMIT = '0.7.0'
4
4
  end
@@ -1,10 +1,9 @@
1
- require 'ruboto/activity'
2
1
  require 'ruboto/widget'
3
2
 
4
- ruboto_import_widgets :Button, :LinearLayout, :TextView
3
+ ruboto_import_widgets :LinearLayout, :TextView
5
4
 
6
5
  class CallSuperActivity
7
- def on_create(bundle)
6
+ def onCreate(bundle)
8
7
  super
9
8
  setTitle 'Default'
10
9
  setTitle 'With Super', true
@@ -0,0 +1,18 @@
1
+ require 'ruboto/widget'
2
+
3
+ ruboto_import_widgets :LinearLayout, :TextView
4
+
5
+ class DirAndFileActivity
6
+ def onCreate(bundle)
7
+ super
8
+ setTitle File.basename(__FILE__).chomp('_activity.rb').split('_').
9
+ map { |s| "#{s[0..0].upcase}#{s[1..-1]}" }.join(' ')
10
+ self.content_view =
11
+ linear_layout :orientation => :vertical do
12
+ text_view :id => 42, :text => __FILE__
13
+ text_view :id => 43, :text => File.dirname(__FILE__)
14
+ text_view :id => 44, :text => Dir["#{File.dirname(__FILE__)}/*"][0].to_s
15
+ text_view :id => 45, :text => Dir.foreach(File.dirname(__FILE__)).to_a[2].to_s
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,20 @@
1
+ activity org.ruboto.test_app.DirAndFileActivity
2
+
3
+ setup do |activity|
4
+ start = Time.now
5
+ loop do
6
+ @text_view = activity.findViewById(42)
7
+ break if @text_view || (Time.now - start > 60)
8
+ sleep 1
9
+ end
10
+ assert @text_view
11
+ end
12
+
13
+ test('__FILE__ is set OK') do |activity|
14
+ assert_matches %r{jar:file:/data/app/org.ruboto.test_app-[12].apk!/dir_and_file_activity.rb},
15
+ activity.find_view_by_id(42).text.to_s
16
+ assert_matches %r{jar:file:/data/app/org.ruboto.test_app-[12].apk!},
17
+ activity.find_view_by_id(43).text.to_s
18
+ assert_matches %r{file:/data/app/org.ruboto.test_app-[12].apk!/AndroidManifest.xml},
19
+ activity.find_view_by_id(44).text.to_s
20
+ end
@@ -1,4 +1,3 @@
1
- require 'ruboto/activity'
2
1
  require 'ruboto/widget'
3
2
 
4
3
  ruboto_import_widgets :Button, :ImageButton, :LinearLayout, :TextView
@@ -10,12 +9,12 @@ class ImageButtonAndButtonActivity
10
9
 
11
10
  self.content_view =
12
11
  linear_layout :orientation => LinearLayout::VERTICAL, :gravity => android.view.Gravity::CENTER_HORIZONTAL do
13
- @text_view = text_view :text => 'What hath Matz wrought?', :id => 42, :text_size => 48.0,
12
+ @text_view = text_view :text => 'What hath Matz wrought?', :id => 42, :text_size => 48.0,
14
13
  :width => :fill_parent, :gravity => android.view.Gravity::CENTER
15
- button :text => 'Button', :id => 44, :text_size => 48.0,
16
- :width => :fill_parent, :gravity => android.view.Gravity::CENTER,
14
+ button :text => 'Button', :id => 44, :text_size => 48.0,
15
+ :width => :fill_parent, :gravity => android.view.Gravity::CENTER,
17
16
  :on_click_listener => proc { @text_view.text = 'Button pressed' }
18
- image_button :image_resource => $package.R::drawable::get_ruboto_core, :id => 43, :width => :wrap_content,
17
+ image_button :image_resource => $package.R::drawable::get_ruboto_core, :id => 43, :width => :wrap_content,
19
18
  :on_click_listener => proc { @text_view.text = 'Image button pressed' }
20
19
  end
21
20
  end
@@ -0,0 +1,21 @@
1
+ require 'ruboto/util/stack'
2
+ with_large_stack { require 'json' }
3
+ require 'ruboto/widget'
4
+
5
+ ruboto_import_widgets :LinearLayout, :TextView
6
+
7
+ class JsonActivity
8
+ def onCreate(bundle)
9
+ super
10
+ set_title File.basename(__FILE__).chomp('_activity.rb').split('_').map { |s| "#{s[0..0].upcase}#{s[1..-1]}" }.join(' ')
11
+ self.content_view =
12
+ linear_layout :orientation => LinearLayout::VERTICAL, :gravity => android.view.Gravity::CENTER do
13
+ text_view :id => 42, :text => with_large_stack { JSON.load('["foo"]')[0] },
14
+ :text_size => 48.0, :gravity => android.view.Gravity::CENTER
15
+ text_view :id => 43, :text => with_large_stack { JSON.dump(['foo']) },
16
+ :text_size => 48.0, :gravity => android.view.Gravity::CENTER
17
+ text_view :id => 44, :text => with_large_stack { 'foo'.to_json },
18
+ :text_size => 48.0, :gravity => android.view.Gravity::CENTER
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,17 @@
1
+ activity org.ruboto.test_app.JsonActivity
2
+
3
+ setup do |activity|
4
+ start = Time.now
5
+ loop do
6
+ @text_view = activity.findViewById(42)
7
+ break if @text_view || (Time.now - start > 60)
8
+ sleep 1
9
+ end
10
+ assert @text_view
11
+ end
12
+
13
+ test('json encode decode') do |activity|
14
+ assert_equal 'foo', activity.find_view_by_id(42).text.to_s
15
+ assert_equal '["foo"]', activity.find_view_by_id(43).text.to_s
16
+ assert_equal '"foo"', activity.find_view_by_id(44).text.to_s
17
+ end
@@ -0,0 +1,30 @@
1
+ require 'ruboto/widget'
2
+
3
+ java_import android.location.Location
4
+
5
+ ruboto_import_widgets :LinearLayout, :TextView
6
+
7
+ class LocationActivity
8
+ def onCreate(bundle)
9
+ super
10
+ set_title File.basename(__FILE__).chomp('_activity.rb').split('_').map { |s| "#{s[0..0].upcase}#{s[1..-1]}" }.join(' ')
11
+ self.content_view =
12
+ linear_layout :orientation => LinearLayout::VERTICAL, :gravity => android.view.Gravity::CENTER do
13
+ @distance_text = text_view :id => 42,
14
+ :text_size => 48.0, :gravity => android.view.Gravity::CENTER
15
+ @start_bearing_text = text_view :id => 43,
16
+ :text_size => 48.0, :gravity => android.view.Gravity::CENTER
17
+ @end_bearing_text = text_view :id => 44,
18
+ :text_size => 48.0, :gravity => android.view.Gravity::CENTER
19
+ end
20
+ end
21
+
22
+ def onResume
23
+ super
24
+ result = Array.new(3, 0.0).to_java(:float)
25
+ Location.distanceBetween(59.0, 11.0, 59.1, 11.1, result)
26
+ @distance_text.text = result[0].to_s
27
+ @start_bearing_text.text = result[1].to_s
28
+ @end_bearing_text.text = result[2].to_s
29
+ end
30
+ end
@@ -0,0 +1,17 @@
1
+ activity org.ruboto.test_app.LocationActivity
2
+
3
+ setup do |activity|
4
+ start = Time.now
5
+ loop do
6
+ @text_view = activity.findViewById(42)
7
+ break if @text_view || (Time.now - start > 60)
8
+ sleep 1
9
+ end
10
+ assert @text_view
11
+ end
12
+
13
+ test('distanceBetween') do |activity|
14
+ assert_equal '12531.119140625', activity.find_view_by_id(42).text.to_s
15
+ assert_equal '27.2149505615234', activity.find_view_by_id(43).text.to_s
16
+ assert_equal '27.3007125854492', activity.find_view_by_id(44).text.to_s
17
+ end
@@ -1,4 +1,3 @@
1
- require 'ruboto/activity'
2
1
  require 'ruboto/widget'
3
2
 
4
3
  ruboto_import_widgets :LinearLayout, :TextView
@@ -1,4 +1,3 @@
1
- require 'ruboto/activity'
2
1
  require 'ruboto/widget'
3
2
  require 'ruboto/util/toast'
4
3
 
@@ -9,14 +9,20 @@ end
9
9
  # ODOT
10
10
 
11
11
  require 'ruboto/util/stack'
12
- with_large_stack { require 'psych.rb' }
12
+ with_large_stack {require 'psych'}
13
+
14
+ # TODO(uwe): Remove when we stop supporting psych with Ruby 1.8 mode
15
+ if RUBY_VERSION < '1.9'
16
+ $LOAD_PATH.delete File.join(Config::CONFIG['libdir'], 'ruby/1.9')
17
+ end
18
+ # ODOT
13
19
 
14
20
  Psych::Parser
15
21
  Psych::Handler
16
22
 
17
23
  require 'ruboto/widget'
18
24
 
19
- ruboto_import_widgets :Button, :LinearLayout, :TextView
25
+ ruboto_import_widgets :LinearLayout, :TextView
20
26
 
21
27
  class PsychActivity
22
28
  def on_create(bundle)
@@ -0,0 +1,31 @@
1
+ require 'ruboto/util/stack'
2
+ require 'ruboto/widget'
3
+
4
+ ruboto_import_widgets :LinearLayout, :TextView
5
+
6
+ class SslActivity
7
+ def onCreate(bundle)
8
+ super
9
+ puts 'start thread'
10
+ @thread = Thread.with_large_stack { require 'net/https' }
11
+ puts 'thread started'
12
+ set_title File.basename(__FILE__).chomp('_activity.rb').split('_').map { |s| "#{s[0..0].upcase}#{s[1..-1]}" }.join(' ')
13
+ self.content_view =
14
+ linear_layout :orientation => LinearLayout::VERTICAL, :gravity => android.view.Gravity::CENTER do
15
+ @text_view = text_view :id => 42, :text => 'net/https loading...',
16
+ :text_size => 48.0, :gravity => android.view.Gravity::CENTER
17
+ end
18
+ end
19
+
20
+ def onResume
21
+ super
22
+ puts 'on resume my lord'
23
+ Thread.start do
24
+ puts 'joining thread'
25
+ @thread.join
26
+ puts 'thread joined'
27
+ run_on_ui_thread{@text_view.text = 'net/https loaded OK!'}
28
+ puts 'text updated'
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,22 @@
1
+ activity org.ruboto.test_app.SslActivity
2
+
3
+ setup do |activity|
4
+ start = Time.now
5
+ loop do
6
+ @text_view = activity.findViewById(42)
7
+ break if @text_view || (Time.now - start > 60)
8
+ sleep 1
9
+ end
10
+ assert @text_view
11
+ end
12
+
13
+ test('load net/https', :ui => false) do |activity|
14
+ start = Time.now
15
+ expected = 'net/https loaded OK'
16
+ loop do
17
+ result = activity.run_on_ui_thread { activity.find_view_by_id(42).text.to_s }
18
+ break if result == expected || (Time.now - start > 120)
19
+ sleep 5
20
+ end
21
+ assert_equal expected, result
22
+ end
@@ -2,7 +2,6 @@ STACK_DEPTH_SCRIPT = java.lang.Thread.current_thread.stack_trace.length.to_s
2
2
 
3
3
  raise "Stack level: #{STACK_DEPTH_SCRIPT}" rescue puts $!.backtrace.join("\n")
4
4
 
5
- require 'ruboto/activity'
6
5
  require 'ruboto/widget'
7
6
 
8
7
  ruboto_import_widgets :Button, :LinearLayout, :TextView
@@ -15,9 +15,8 @@ end
15
15
  # ANDROID: 16, PLATFORM: 0.4.8.dev, JRuby: 1.7.0.preview2 '[29, 34, 47, 64]' expected, but got '[28, 33, 47, 64]'
16
16
  test('stack depth') do |activity|
17
17
  os_offset = {
18
- 13 => [1]*4,
19
- 15 => [0, 0, 1, 1],
20
- 16 => [0, 0, 1, 1],
18
+ 10 => [0, 0, -1, -1],
19
+ 13 => [1, 1, 0, 0],
21
20
  }[android.os.Build::VERSION::SDK_INT] || [0, 0, 0, 0]
22
21
  if org.ruboto.JRubyAdapter.uses_platform_apk?
23
22
  jruby_offset = {
@@ -32,8 +31,8 @@ test('stack depth') do |activity|
32
31
  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}"
33
32
  assert_equal [28 + os_offset[0] + jruby_offset[0],
34
33
  33 + os_offset[1] + jruby_offset[1],
35
- 46 + os_offset[2] + jruby_offset[2],
36
- 63 + os_offset[3] + jruby_offset[3]], [activity.find_view_by_id(42).text.to_i,
34
+ 47 + os_offset[2] + jruby_offset[2],
35
+ 64 + os_offset[3] + jruby_offset[3]], [activity.find_view_by_id(42).text.to_i,
37
36
  activity.find_view_by_id(43).text.to_i,
38
37
  activity.find_view_by_id(44).text.to_i,
39
38
  activity.find_view_by_id(45).text.to_i], version_message
@@ -1,4 +1,3 @@
1
- require 'ruboto/activity'
2
1
  require 'ruboto/widget'
3
2
 
4
3
  ruboto_import_widgets :LinearLayout, :ListView, :TextView
@@ -1,4 +1,3 @@
1
- require 'ruboto/activity'
2
1
  require 'ruboto/widget'
3
2
 
4
3
  ruboto_import_widgets :Button, :LinearLayout, :TextView
@@ -1,4 +1,4 @@
1
- require File.expand_path("test_helper", File.dirname(__FILE__))
1
+ require File.expand_path('test_helper', File.dirname(__FILE__))
2
2
 
3
3
  module AppTestMethods
4
4
  include RubotoTest
@@ -6,8 +6,8 @@ module AppTestMethods
6
6
  def test_activity_tests
7
7
  if ENV['ACTIVITY_TEST_PATTERN']
8
8
  Dir.chdir APP_DIR do
9
- FileUtils.rm "src/ruboto_test_app_activity.rb"
10
- FileUtils.rm "test/src/ruboto_test_app_activity_test.rb"
9
+ FileUtils.rm 'src/ruboto_test_app_activity.rb'
10
+ FileUtils.rm 'test/src/ruboto_test_app_activity_test.rb'
11
11
  end
12
12
  else
13
13
  assert_code 'Base64Loads', "require 'base64'"
@@ -30,7 +30,7 @@ module AppTestMethods
30
30
  Dir.chdir APP_DIR do
31
31
  system "#{RUBOTO_CMD} gen class Activity --name #{activity_name}Activity"
32
32
  s = File.read(filename)
33
- raise "Code injection failed!" unless s.gsub!(/(require 'ruboto\/widget')/, "\\1\n#{code}")
33
+ raise 'Code injection failed!' unless s.gsub!(/(require 'ruboto\/widget')/, "\\1\n#{code}")
34
34
  File.open(filename, 'w') { |f| f << s }
35
35
  end
36
36
  end
@@ -39,6 +39,19 @@ module AppTestMethods
39
39
  Dir[File.expand_path("#{activity_dir}/*", File.dirname(__FILE__))].each do |file|
40
40
  # FIXME(uwe): Remove when we stop testing JRuby < 1.7.0.rc1
41
41
  next if file =~ /subclass/ && (RUBOTO_PLATFORM == 'CURRENT' || JRUBY_JARS_VERSION < Gem::Version.new('1.7.1.dev'))
42
+ # EMXIF
43
+
44
+ # FIXME(uwe): Remove when we stop testing RubotoCore <= 0.5.2 and android-10
45
+ next if file =~ /json/ && (RUBOTO_PLATFORM == 'CURRENT' || ANDROID_OS <= 10)
46
+ # EMXIF
47
+
48
+ # FIXME(uwe): Remove when we include jopenssl and bouncycastle
49
+ next if file =~ /ssl/
50
+ # EMXIF
51
+
52
+ # FIXME(uwe): Remove when we stop testing JRuby < 1.7.4.dev
53
+ next if file =~ /dir_and_file/ && (RUBOTO_PLATFORM == 'CURRENT' || JRUBY_JARS_VERSION < Gem::Version.new('1.7.4.dev'))
54
+ # EMXIF
42
55
 
43
56
  if file =~ /_test.rb$/
44
57
  next unless file =~ /#{ENV['ACTIVITY_TEST_PATTERN']}/
@@ -47,8 +60,8 @@ module AppTestMethods
47
60
  activity_name = File.basename(snake_name).split('_').map { |s| "#{s[0..0].upcase}#{s[1..-1]}" }.join
48
61
  Dir.chdir APP_DIR do
49
62
  system "#{RUBOTO_CMD} gen class Activity --name #{activity_name}"
50
- FileUtils.cp "#{snake_name}.rb", "src/"
51
- FileUtils.cp file, "test/src/"
63
+ FileUtils.cp "#{snake_name}.rb", 'src/'
64
+ FileUtils.cp file, 'test/src/'
52
65
  end
53
66
  elsif !File.exists? "#{file.chomp('.rb')}'_test.rb'"
54
67
  Dir.chdir APP_DIR do
@@ -13,13 +13,13 @@ if RubotoTest::RUBOTO_PLATFORM == 'STANDALONE'
13
13
  cleanup_app
14
14
  end
15
15
 
16
- # APK was larger than 3.2MB: 3.5MB. JRuby: 1.6.7, ANDROID_TARGET: 15.
17
- # APK was larger than 3.2MB: 3.3MB. JRuby: 1.6.7.2, ANDROID_TARGET: 10.
18
- # APK was larger than 4.4MB: 4.7MB. JRuby: 1.7.0.preview2, ANDROID_TARGET: 10.
19
- # APK was larger than 4.6MB: 4.9MB. JRuby: 1.7.0.preview2, ANDROID_TARGET: 15.
20
- # APK was larger than 3.2MB: 4.7MB. JRuby: 1.7.0, ANDROID_TARGET: 15.
21
- # APK was larger than 4.9MB: 7.2MB. JRuby: 1.7.2.dev, ANDROID_TARGET: 10.
22
-
16
+ # APK was 3.5MB. JRuby: 1.6.7, ANDROID_TARGET: 15.
17
+ # APK was 3.3MB. JRuby: 1.6.7.2, ANDROID_TARGET: 10.
18
+ # APK was 4.7MB. JRuby: 1.7.0, ANDROID_TARGET: 15.
19
+ # APK was 4.5MB. JRuby: 1.7.2, ANDROID_TARGET: 10.
20
+ # APK was 4.5MB. JRuby: 1.7.2, ANDROID_TARGET: 15.
21
+ # APK was 4.6MB. JRuby: 1.7.3.dev, ANDROID_TARGET: 10.
22
+ # APK was 4.5MB. JRuby: 1.7.3.dev, ANDROID_TARGET: 15.
23
23
  def test_minimal_apk_is_less_than_3_mb
24
24
  apk_size = BigDecimal(File.size("#{APP_DIR}/bin/RubotoTestApp-debug.apk").to_s) / (1024 * 1024)
25
25
  upper_limit = {
@@ -27,9 +27,9 @@ if RubotoTest::RUBOTO_PLATFORM == 'STANDALONE'
27
27
  '1.6.7.2' => 3.5,
28
28
  '1.6.8' => 3.5,
29
29
  '1.7.0' => ANDROID_TARGET < 15 ? 4.7 : 4.9,
30
- '1.7.1.dev' => ANDROID_TARGET < 15 ? 4.7 : 4.9,
31
- '1.7.2.dev' => 7.2,
32
- }[JRUBY_JARS_VERSION.to_s] || 4.9
30
+ '1.7.1' => ANDROID_TARGET < 15 ? 4.7 : 4.9,
31
+ '1.7.2' => ANDROID_TARGET < 15 ? 4.6 : 4.9,
32
+ }[JRUBY_JARS_VERSION.to_s] || 4.7
33
33
  lower_limit = upper_limit * 0.9
34
34
  version_message ="JRuby: #{JRUBY_JARS_VERSION}, ANDROID_TARGET: #{ANDROID_TARGET}"
35
35
  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
@@ -1,4 +1,4 @@
1
- require File.expand_path("test_helper", File.dirname(__FILE__))
1
+ require File.expand_path('test_helper', File.dirname(__FILE__))
2
2
 
3
3
  class RakeTest < Test::Unit::TestCase
4
4
  def setup
@@ -11,18 +11,18 @@ class RakeTest < Test::Unit::TestCase
11
11
 
12
12
  # FIXME(uwe): Remove condition when we stop supporting android-7
13
13
  if ANDROID_OS == 7
14
- puts "Skipping sdcard test since files on sdcard are not removed on android-7 on app uninstall"
14
+ puts 'Skipping sdcard test since files on sdcard are not removed on android-7 on app uninstall'
15
15
  else
16
16
  def test_that_update_scripts_task_copies_files_to_sdcard_and_are_read_by_activity
17
17
  Dir.chdir APP_DIR do
18
- activity_filename = "src/ruboto_test_app_activity.rb"
18
+ activity_filename = 'src/ruboto_test_app_activity.rb'
19
19
  s = File.read(activity_filename)
20
- s.gsub!(/What hath Matz wrought\?/, "This text was changed by script!")
20
+ s.gsub!(/What hath Matz wrought\?/, 'This text was changed by script!')
21
21
  File.open(activity_filename, 'w') { |f| f << s }
22
22
 
23
- test_filename = "test/src/ruboto_test_app_activity_test.rb"
23
+ test_filename = 'test/src/ruboto_test_app_activity_test.rb'
24
24
  s2 = File.read(test_filename)
25
- s2.gsub!(/What hath Matz wrought\?/, "This text was changed by script!")
25
+ s2.gsub!(/What hath Matz wrought\?/, 'This text was changed by script!')
26
26
  File.open(test_filename, 'w') { |f| f << s2 }
27
27
 
28
28
  apk_timestamp = File.ctime("bin/#{APP_NAME}-debug.apk")
@@ -41,7 +41,7 @@ class RakeTest < Test::Unit::TestCase
41
41
  Dir.chdir APP_DIR do
42
42
  system 'rake install'
43
43
  apk_timestamp = File.ctime("bin/#{APP_NAME}-debug.apk")
44
- FileUtils.touch "src/ruboto_test_app_activity.rb"
44
+ FileUtils.touch 'src/ruboto_test_app_activity.rb'
45
45
  system 'rake install'
46
46
  assert_not_equal apk_timestamp, File.ctime("bin/#{APP_NAME}-debug.apk"), 'APK should have been rebuilt'
47
47
  end
@@ -53,7 +53,7 @@ class RakeTest < Test::Unit::TestCase
53
53
  assert_equal "android:minSdkVersion='#{ANDROID_TARGET}'", manifest.slice(/android:minSdkVersion='\d+'/)
54
54
  assert_equal "android:targetSdkVersion='#{ANDROID_TARGET}'", manifest.slice(/android:targetSdkVersion='\d+'/)
55
55
  prop_file = File.read('project.properties')
56
- File.open('project.properties', 'w'){|f| f << prop_file.sub(/target=android-#{ANDROID_TARGET}/, "target=android-6")}
56
+ File.open('project.properties', 'w'){|f| f << prop_file.sub(/target=android-#{ANDROID_TARGET}/, 'target=android-6')}
57
57
  system 'rake debug'
58
58
  manifest = File.read('AndroidManifest.xml')
59
59
  assert_equal "android:minSdkVersion='6'", manifest.slice(/android:minSdkVersion='\d+'/)