calabash-android 0.4.2 → 0.4.3.pre1

Sign up to get free protection for your applications and to get access to all the features.
@@ -22,6 +22,10 @@ def calabash_build(app)
22
22
  raise "Could not replace package name in manifest"
23
23
  end
24
24
 
25
+ unless system %Q{"#{RbConfig.ruby}" -pi.bak -e "gsub(/#testPackage#/, '#{package_name(app)}.test')" AndroidManifest.xml}
26
+ raise "Could not replace test package name in manifest"
27
+ end
28
+
25
29
  unless system %Q{"#{ENV["ANDROID_HOME"]}/platform-tools/aapt" package -M AndroidManifest.xml -I "#{android_platform}/android.jar" -F dummy.apk}
26
30
  raise "Could not create dummy.apk"
27
31
  end
@@ -7,10 +7,6 @@ def calabash_console(app_path = nil)
7
7
 
8
8
  ENV["IRBRC"] = File.join(File.dirname(__FILE__), '..', 'irbrc')
9
9
 
10
- unless ENV["PACKAGE_NAME"]
11
- ENV["PACKAGE_NAME"] = package_name(app_path)
12
- end
13
-
14
10
  unless ENV["MAIN_ACTIVITY"]
15
11
  ENV["MAIN_ACTIVITY"] = main_activity(app_path)
16
12
  end
@@ -21,8 +21,7 @@ def calabash_run(app_path = nil)
21
21
  else
22
22
  test_server_port = "34777"
23
23
  end
24
- env = "PACKAGE_NAME=#{package_name(app_path)} "\
25
- "MAIN_ACTIVITY=#{main_activity(app_path)} "\
24
+ env = "MAIN_ACTIVITY=#{main_activity(app_path)} "\
26
25
  "APP_PATH=\"#{app_path}\" "\
27
26
  "TEST_APP_PATH=\"#{test_server_path}\" "\
28
27
  "TEST_SERVER_PORT=#{test_server_port}"
@@ -59,8 +59,8 @@ module Operations
59
59
  end
60
60
 
61
61
  def uninstall_apps
62
- default_device.uninstall_app("sh.calaba.android.test")
63
- default_device.uninstall_app(ENV["PACKAGE_NAME"])
62
+ default_device.uninstall_app(package_name(default_device.test_server_path))
63
+ default_device.uninstall_app(package_name(default_device.app_path))
64
64
  end
65
65
 
66
66
  def wake_up
@@ -148,15 +148,18 @@ module Operations
148
148
  end
149
149
 
150
150
  class Device
151
+ attr_reader :app_path, :test_server_path, :serial, :server_port, :test_server_port
152
+
153
+ def initialize(cucumber_world, serial, server_port, app_path, test_server_path, test_server_port = 7102)
151
154
 
152
- def initialize(cucumber_world, serial, server_port, app_path, test_server_path)
153
155
  @cucumber_world = cucumber_world
154
156
  @serial = serial
155
157
  @server_port = server_port
156
158
  @app_path = app_path
157
159
  @test_server_path = test_server_path
160
+ @test_server_port = test_server_port
158
161
 
159
- forward_cmd = "#{adb_command} forward tcp:#{server_port} tcp:7102"
162
+ forward_cmd = "#{adb_command} forward tcp:#{@server_port} tcp:#{@test_server_port}"
160
163
  log forward_cmd
161
164
  log `#{forward_cmd}`
162
165
  end
@@ -316,8 +319,10 @@ module Operations
316
319
  wake_up
317
320
  end
318
321
 
322
+ puts "app_path: #{@app_path}"
319
323
  env_options = {:target_package => options[:target_package] || package_name(@app_path),
320
324
  :main_activity => options[:main_activity] || main_activity(@app_path),
325
+ :test_server_port => @test_server_port,
321
326
  :debug => options[:debug] || false,
322
327
  :class => options[:class] || "sh.calaba.instrumentationbackend.InstrumentationBackend"}
323
328
 
@@ -329,7 +334,7 @@ module Operations
329
334
  cmd_arr << val.to_s
330
335
  end
331
336
 
332
- cmd_arr << "sh.calaba.android.test/sh.calaba.instrumentationbackend.CalabashInstrumentationTestRunner"
337
+ cmd_arr << "#{package_name(@test_server_path)}/sh.calaba.instrumentationbackend.CalabashInstrumentationTestRunner"
333
338
 
334
339
  cmd = cmd_arr.join(" ")
335
340
 
@@ -1,5 +1,5 @@
1
1
  module Calabash
2
2
  module Android
3
- VERSION = "0.4.2"
3
+ VERSION = "0.4.3.pre1"
4
4
  end
5
5
  end
@@ -1,6 +1,6 @@
1
1
  <?xml version="1.0" encoding="utf-8"?>
2
2
  <manifest xmlns:android="http://schemas.android.com/apk/res/android"
3
- package="sh.calaba.android.test"
3
+ package="#testPackage#"
4
4
  android:versionCode="3"
5
5
  android:versionName="0.3.0">
6
6
  <application android:label="instrumentation_backend">
@@ -21,7 +21,7 @@ public class CalabashInstrumentationTestRunner extends InstrumentationTestRunner
21
21
  }
22
22
 
23
23
  // Start the HttpServer as soon as possible in a not-ready state
24
- HttpServer.instantiate();
24
+ HttpServer.instantiate(Integer.parseInt(arguments.getString("test_server_port")));
25
25
 
26
26
  InstrumentationBackend.testPackage = arguments.getString("target_package");
27
27
 
@@ -42,20 +42,14 @@ public class HttpServer extends NanoHTTPD {
42
42
  *
43
43
  * Can only be called once. Otherwise, you'll get an IllegalStateException.
44
44
  */
45
- public synchronized static HttpServer instantiate() {
45
+ public synchronized static HttpServer instantiate(int testServerPort) {
46
46
  if (instance != null) {
47
47
  throw new IllegalStateException("Can only instantiate once!");
48
48
  }
49
- instance = new HttpServer();
49
+ instance = new HttpServer(testServerPort);
50
50
  return instance;
51
51
  }
52
52
 
53
- /**
54
- * Returns the singleton instance for HttpServer.
55
- *
56
- * If {@link #instantiate()} hasn't already been called, an
57
- * IllegalStateException is thrown.
58
- */
59
53
  public synchronized static HttpServer getInstance() {
60
54
  if (instance == null) {
61
55
  throw new IllegalStateException("Must be initialized!");
@@ -63,8 +57,8 @@ public class HttpServer extends NanoHTTPD {
63
57
  return instance;
64
58
  }
65
59
 
66
- private HttpServer() {
67
- super(7102, new File("/"));
60
+ private HttpServer(int testServerPort) {
61
+ super(testServerPort, new File("/"));
68
62
  }
69
63
 
70
64
  @SuppressWarnings("rawtypes")
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: calabash-android
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
5
- prerelease:
4
+ version: 0.4.3.pre1
5
+ prerelease: 6
6
6
  platform: ruby
7
7
  authors:
8
8
  - Jonas Maturana Larsen
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-21 00:00:00.000000000 Z
12
+ date: 2013-02-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: cucumber
@@ -844,9 +844,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
844
844
  required_rubygems_version: !ruby/object:Gem::Requirement
845
845
  none: false
846
846
  requirements:
847
- - - ! '>='
847
+ - - ! '>'
848
848
  - !ruby/object:Gem::Version
849
- version: '0'
849
+ version: 1.3.1
850
850
  requirements: []
851
851
  rubyforge_project:
852
852
  rubygems_version: 1.8.23