Robottler 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 04864ffa82d9436a45db9ce73a7f9b39529a4525
4
- data.tar.gz: 7bcc6792429897d72fde37d03a237f5be19c0a7b
3
+ metadata.gz: e2598f4b93f1fbc46296a61858ddef407d525148
4
+ data.tar.gz: de0e8fc11a19adc32f737b0b73a24327a0486fa3
5
5
  SHA512:
6
- metadata.gz: d002a1d310bb4f43d80ac9da43b965f5984f00495a49252091b578c53ba6c724265cec7c7be32066c16a5c6e9e824e684774d3c46c14f0ed798f4115c00e084d
7
- data.tar.gz: 1ddfe4742bb19b1e1e3015bf2dd0d359d60e4fee24e5c7a56b0c11f734b7e98aa6bfe44846547cb4fb046eb84cc2145ebcf1fcbd7bdd6a1ebb148696d3e8f59f
6
+ metadata.gz: 7d24bc7364b051c5411c386514b6203a5752a396ba1f172c2b5e625bea25339395355a9e2bab3e95c76caf8f01df04591af00f51ffb73224a7952a400bd00977
7
+ data.tar.gz: 95cc3bfc2cbfbfa65680a81af6ca9e53838e2370565c8062f17326febac09a40e67302318a502c45240840214f08a4dd5694c1128df7d083683cf2e3c630284b
data/lib/robottler.rb CHANGED
@@ -4,17 +4,16 @@ require 'erb'
4
4
  require 'ostruct'
5
5
  require 'fileutils'
6
6
  require 'executable'
7
-
8
7
  class Robottler
9
- include Executable
8
+ include Executable
10
9
 
11
- class Renderer < OpenStruct
12
- def render(erb)
13
- erb.result(binding)
14
- end
15
- end
10
+ class Renderer < OpenStruct
11
+ def render(erb)
12
+ erb.result(binding)
13
+ end
14
+ end
16
15
 
17
- # Use for eclipse project
16
+ # Use for eclipse project
18
17
  def eclipse=(bool)
19
18
  @eclipse = bool
20
19
  end
@@ -41,64 +40,76 @@ class Robottler
41
40
  end
42
41
  alias :h! :help!
43
42
 
44
- # add spoon tests to project
43
+ # add spoon tests to project
45
44
  def call()
46
45
  name = eclipse? ? "eclipse" : "gradle"
47
- if eclipse
48
- puts "Eclipse support not implemented yet."
49
- return
46
+ if eclipse?
47
+ puts "Eclipse support not implemented yet."
48
+ return
50
49
  end
51
50
  str = "Hello, #{name}!"
52
51
  puts "=================#{str}================="
53
- puts __FILE__
54
- root_dir = File.expand_path("../..", __FILE__)
55
-
56
- puts ''
57
- puts ''
58
- puts 'creating tests'
59
- begin
60
- content = File.read("./AndroidManifest.xml")
61
- @doc = Nokogiri::XML(content)
62
- activities = @doc.xpath("//activity")
63
- if activities.size > 0
64
- filename = "#{root_dir}/templates/class.erb.java"
65
- erb = ERB.new(File.read(filename))
52
+ puts __FILE__
53
+ root_dir = File.expand_path("../..", __FILE__)
54
+
55
+ puts ''
56
+ puts ''
57
+ puts 'creating tests'
58
+ begin
59
+ content = File.read("./AndroidManifest.xml")
60
+ @doc = Nokogiri::XML(content)
61
+ app_package = @doc.xpath("//manifest").attribute('package')
62
+ puts "App package #{app_package}"
63
+ activities = @doc.xpath("//activity")
64
+ if activities.size > 0
65
+ filename = "#{root_dir}/templates/class.erb.java"
66
+ erb = ERB.new(File.read(filename))
66
67
 
67
- directory_name = "../instrumentTest"
68
- unless File.exists?(directory_name)
69
- puts "create directory #{directory_name}"
70
- test_runner_package = "java/au/com/jtribe/testing"
71
- FileUtils.mkdir_p("#{directory_name}/#{test_runner_package}")
72
- FileUtils.cp("#{root_dir}/templates/class_test_runner.java", "#{directory_name}/#{test_runner_package}/WakeUpInstrumentationTestRunner.java")
73
- end
68
+ directory_name = "../androidTest"
69
+ if File.exists?(directory_name)
70
+ puts "Skip creating instumentation testrunner, already exists"
71
+ else
72
+ puts "Creating instumentation testrunner"
73
+ puts "create directory #{directory_name}"
74
+ test_runner_package = "java/au/com/jtribe/testing"
75
+ FileUtils.mkdir_p("#{directory_name}/#{test_runner_package}")
76
+ FileUtils.cp("#{root_dir}/templates/class_test_runner.java", "#{directory_name}/#{test_runner_package}/WakeUpInstrumentationTestRunner.java")
77
+ end
78
+ end
79
+ puts "\nAdd these permissions to your debug manifest."
80
+ puts "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
81
+ puts "!!!!!!!!!!!!! Don't add them to your release apk !!!!!!!!!!!!!"
82
+ puts "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n\n"
83
+ puts File.read("#{root_dir}/templates/debug_manifest.xml")
84
+ puts "\nAdd this to your build.gradle file\n\n"
85
+ puts File.read("#{root_dir}/templates/build.gradle")
74
86
 
75
- puts "\nAdd these permissions to your debug manifest."
76
- puts "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
77
- puts "!!!!!!!!!!!!! Don't add them to your release apk !!!!!!!!!!!!!"
78
- puts "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n\n"
79
- puts File.read("#{root_dir}/templates/debug_manifest.xml")
80
- puts "\nAdd this to your build.gradle file\n\n"
81
- puts File.read("#{root_dir}/templates/build.gradle")
82
-
83
- activities.each do |a|
84
- attribute = a.attribute('name')
85
- unless attribute.nil?
86
- package = attribute.to_s.gsub(/\w+$/, '').chop!
87
- package_dir = package.gsub('.','/')
88
- file_path = "#{directory_name}/java/#{package_dir}"
89
- FileUtils.mkdir_p(file_path)
90
- activity = attribute.to_s.match(/\w+$/)
91
- puts "\tfor #{activity}"
92
- r = Renderer.new({ activity: activity, package: package})
93
- File.open("#{file_path}/#{activity}Test.java", 'w') do |f|
94
- f.write r.render(erb)
95
- end
96
- end
97
- end
98
- end
99
- rescue
100
- puts '================ Can\'t find AndroidManifest ================'
101
- puts 'Make sure you are in the folder where your AndroidManifest.xml is!'
102
- end
103
- end
104
- end
87
+ activities.each do |a|
88
+ attribute = a.attribute('name')
89
+ unless attribute.nil?
90
+ package = attribute.to_s.gsub(/\w+$/, '').chop!
91
+ package_dir = package.gsub('.','/')
92
+ file_path = "#{directory_name}/java/#{package_dir}"
93
+ FileUtils.mkdir_p(file_path)
94
+
95
+ activity = attribute.to_s.match(/\w+$/)
96
+ puts "\tfor #{activity}"
97
+ activity_file_path = "#{file_path}/#{activity}Test.java"
98
+ if File.exists?(activity_file_path)
99
+ puts "Test for #{activity} already exist"
100
+ else
101
+ r = Renderer.new({ activity: activity, package: package, app_package: app_package})
102
+ File.open(activity_file_path, 'w') do |f|
103
+ f.write r.render(erb)
104
+ end
105
+ end
106
+ end
107
+ end
108
+ end
109
+ rescue Exception => e
110
+ puts '================ Can\'t find AndroidManifest ================'
111
+ puts 'Make sure you are in the folder where your AndroidManifest.xml is!'
112
+ # do some logging
113
+ raise e # not enough lifeboats ;)
114
+ end
115
+ end
@@ -12,6 +12,13 @@ apply plugin: 'spoon'
12
12
 
13
13
  ...
14
14
 
15
+ android {
16
+ defaultConfig {
17
+ ...
18
+ testInstrumentationRunner "au.com.jtribe.testing.WakeUpInstrumentationTestRunner"
19
+ }
20
+ }
21
+
15
22
  dependencies {
16
23
  ...
17
24
  instrumentTestCompile 'com.squareup.spoon:spoon-client:1.1.0'
@@ -4,7 +4,7 @@ import android.content.Intent;
4
4
  import android.test.ActivityInstrumentationTestCase2;
5
5
 
6
6
  import <%= package %>.<%= activity %>;
7
- import <%= package %>.R;
7
+ import <%= app_package %>.R;
8
8
 
9
9
  import com.squareup.spoon.Spoon;
10
10
 
@@ -25,7 +25,7 @@ public class <%= activity %>Test extends ActivityInstrumentationTestCase2<<%= ac
25
25
  super.tearDown();
26
26
  }
27
27
 
28
- public void testView() {
28
+ public void test<%= activity %>View() {
29
29
  Spoon.screenshot(getActivity(), "initial_state");
30
30
  }
31
31
  }
metadata CHANGED
@@ -1,41 +1,41 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: Robottler
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - tosa
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-24 00:00:00.000000000 Z
11
+ date: 2014-11-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: executable
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  description: Simple gem to generate ui tests for you app by looking at your manifest.
@@ -46,17 +46,17 @@ executables:
46
46
  extensions: []
47
47
  extra_rdoc_files: []
48
48
  files:
49
+ - LICENSE
50
+ - README.md
49
51
  - Rakefile
50
52
  - bin/robottler
51
53
  - lib/robottler.rb
52
- - test/fixtures/main/AndroidManifest.xml
53
- - test/test_robottler.rb
54
54
  - templates/build.gradle
55
55
  - templates/class.erb.java
56
56
  - templates/class_test_runner.java
57
57
  - templates/debug_manifest.xml
58
- - README.md
59
- - LICENSE
58
+ - test/fixtures/main/AndroidManifest.xml
59
+ - test/test_robottler.rb
60
60
  homepage: https://github.com/tobibo/robottler
61
61
  licenses:
62
62
  - MIT
@@ -67,17 +67,17 @@ require_paths:
67
67
  - lib
68
68
  required_ruby_version: !ruby/object:Gem::Requirement
69
69
  requirements:
70
- - - '>='
70
+ - - ">="
71
71
  - !ruby/object:Gem::Version
72
72
  version: '0'
73
73
  required_rubygems_version: !ruby/object:Gem::Requirement
74
74
  requirements:
75
- - - '>='
75
+ - - ">="
76
76
  - !ruby/object:Gem::Version
77
77
  version: '0'
78
78
  requirements: []
79
79
  rubyforge_project:
80
- rubygems_version: 2.0.0.rc.2
80
+ rubygems_version: 2.4.2
81
81
  signing_key:
82
82
  specification_version: 4
83
83
  summary: Simple gem to generate ui tests for you app by looking at your manifest.