high_five 0.2.0 → 0.2.1

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.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- ODliMzU0MzVmNjgzZGY4NWRlODYwM2RlYzM5MGY5NmIwOGRlM2NmYQ==
5
- data.tar.gz: !binary |-
6
- YjEzMjcwM2UwNTE5YTJkY2FmNWYzNzVkYzdmN2UwMTRmNDdkMmQzNg==
2
+ SHA1:
3
+ metadata.gz: e5fc25c5aa37ca5a2283a88b7cb2dad46e66423b
4
+ data.tar.gz: ca7b7b5583209ff0c92f0c11a94a0d0a0f471410
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- ZjdmMWVhYjhhOTJhODhhMWZhMTkyODNjNWEyNDRmZTE1NmMzODdiMTFjYjBm
10
- MGMwYWVjYzlmYmZiY2VhZjdkMTE0NGUzNTdiZDMxYzE4ZmFhMmEzNjQ3YTRk
11
- ZWEyN2QyNGFiNTQzMzFkMDRkMzk0ZTVjYzhlM2Y3MzUyZTljNjQ=
12
- data.tar.gz: !binary |-
13
- OGRmY2RhMWRmZTgwOTU4YjQwOGFlODU2YmE4ZjdlYWRmMWI2ZTIxYWRjODU2
14
- NGI3M2Q5ZWEyOGU3MDFhMmY1NDE1ZGIxNDYwNDE2YTdlMzcwN2I5NmM2ZDNj
15
- Yjc3YTEyNzU4MDQwYjZjNjM2YTY3ZWM4YjFhMjljNjZlZTkwZjQ=
6
+ metadata.gz: c9b5e81d53e7998e4d9c6e1ae3addf200cb39979f9b3f2bb01c93324a36629cc5d9cc22a2fa9a11e027bcc3f12f5cc00036850f105c5a77558e2f1ca52027c68
7
+ data.tar.gz: eb9756286630d751c54280713f612acfb3db3601b4a3597dbe5b060f321ca22938d5a3c1f6ed0d5e2dce1ffe7b495c55f35e0be232eff481bfa087f9b3732353
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- # Specify your gem's dependencies in asdf.gemspec
3
+ # Specify your gem's dependencies in high_five.gemspec
4
4
  gemspec
data/Gemfile.lock CHANGED
@@ -2,6 +2,7 @@ PATH
2
2
  remote: .
3
3
  specs:
4
4
  high_five (0.2.0)
5
+ chunky_png
5
6
  coffee-script (~> 2.2.0)
6
7
  compass (~> 0.12.2)
7
8
  multi_json (~> 1.0)
data/high_five.gemspec CHANGED
@@ -24,6 +24,7 @@ Gem::Specification.new do |s|
24
24
  s.add_runtime_dependency "coffee-script", "~>2.2.0"
25
25
  s.add_runtime_dependency "plist", ">=3.0"
26
26
  s.add_runtime_dependency "nokogiri", ">=1.5.0"
27
+ s.add_runtime_dependency "chunky_png"
27
28
  s.add_development_dependency "rspec", "~>2.13.0"
28
29
 
29
30
 
@@ -20,5 +20,31 @@ module HighFive
20
20
  raise "Couldn't find android manifest near #{destination_dir}" if root_dir == '/'
21
21
  end
22
22
  end
23
+
24
+ def res_map
25
+ {
26
+ ldpi: 36,
27
+ mdpi: 48,
28
+ hdpi: 72,
29
+ xhdpi: 96,
30
+ drawable: 512
31
+ }
32
+ end
33
+
34
+ def parse_resolution(dir)
35
+ dir.gsub(/.*\//, '').gsub('drawable-', '').to_sym
36
+ end
37
+
38
+ # drawable_dir: The directory containing drawable/, drawable-hdpi, drawable-mdpi, etc
39
+ # Returns directories which are present & whose resolutions are supported
40
+ def valid_directories(drawable_dir)
41
+ valid_dirs = []
42
+ Dir.glob(File.join drawable_dir, "drawable*") do |dir|
43
+ res = parse_resolution(dir)
44
+ size = res_map[res]
45
+ valid_dirs << dir unless size.nil?
46
+ end
47
+ valid_dirs
48
+ end
23
49
  end
24
- end
50
+ end
@@ -1,3 +1,4 @@
1
+ require 'chunky_png'
1
2
  require 'high_five/android_helper'
2
3
  require 'nokogiri'
3
4
 
@@ -21,7 +22,7 @@ module HighFive
21
22
  Buildfile: /Users/Shared/Jenkins/Home/jobs/modern resident/workspace/modern_resident-mobile/android/build.xml')
22
23
  end
23
24
 
24
- desc "set_version", "build the debug apk via ant debug"
25
+ desc "set_version", "Change the version and build number"
25
26
  method_option :version, :aliases => "-v", :desc => "Set main version"
26
27
  method_option :build_number, :aliases => '-b', :desc => "set build number"
27
28
  def set_version
@@ -48,7 +49,23 @@ module HighFive
48
49
  f.write xml.to_xml
49
50
  end
50
51
  end
52
+
53
+ desc "set_icon", "Generate app icons from base png image"
54
+ def set_icon(path)
55
+ image = ChunkyPNG::Image.from_file(path)
56
+
57
+ manifest = File.read(android_manifest_path)
58
+ icon_name = manifest.match(/android:icon="@drawable\/(.*?)"/)[1] + '.png'
59
+
60
+ drawable_dir = File.join File.dirname(android_manifest_path), 'res'
61
+ valid_directories(drawable_dir).each do |dir|
62
+ res = parse_resolution(dir)
63
+ size = res_map[res]
64
+ image.resize(size, size).save(File.join(dir, icon_name))
65
+ puts "Writing #{size}x#{size} -> #{File.join(dir, icon_name)}"
66
+ end
67
+ end
51
68
  end
52
69
  end
53
70
  end
54
- end
71
+ end
@@ -6,6 +6,7 @@ module HighFive
6
6
  class Distribution < ::HighFive::Thor::Task
7
7
  include ::Thor::Actions
8
8
  include IosHelper
9
+ include AndroidHelper
9
10
 
10
11
  default_task :dist
11
12
 
@@ -25,20 +26,10 @@ module HighFive
25
26
  self.destination_root = @config.destination
26
27
 
27
28
  if @platform == "android" || @platform == "amazon"
28
- path = self.destination_root
29
- while path != base_config.root
30
- if File.exists? File.join(path, 'AndroidManifest.xml')
31
- android_path = path
32
- break
33
- else
34
- path = File.expand_path('..', path)
35
- end
36
- end
37
-
38
- if !android_path
39
- raise "Couldn't find the path of the android manifest."
40
- end
29
+ manifest_path = android_manifest_path
30
+ android_path = File.dirname(manifest_path)
41
31
 
32
+ system("android update project --path #{android_path} --subprojects")
42
33
  system("ant -file '#{android_path}/build.xml' release")
43
34
 
44
35
  android_name = HighFive::AndroidHelper.project_name_from_build_xml("#{android_path}/build.xml")
@@ -50,7 +41,7 @@ module HighFive
50
41
  raise "Please pass in the path to the provisioning profile to build an ios app. -p [provisioning_profile]" if @provisioning_profile.nil?
51
42
 
52
43
  ios_path = File.dirname(xcodeproj_path())
53
-
44
+
54
45
  if !ios_path
55
46
  raise "Couldn't find the path of the xcodeproj."
56
47
  end
@@ -1,3 +1,3 @@
1
1
  module HighFive
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
@@ -0,0 +1,60 @@
1
+ require 'spec_helper'
2
+ require 'chunky_png'
3
+
4
+ describe HighFive::Thor::Tasks::AndroidTasks do
5
+ include HighFive::TestHelper
6
+ include HighFive::AndroidHelper
7
+
8
+ before(:all) do
9
+ create_dummy_app!
10
+ HighFive::Config.configure do |config|
11
+ config.root = @project_root
12
+ config.destination = "www"
13
+ config.platform :android do |android|
14
+ android.destination = 'android/assets/www'
15
+ end
16
+ end
17
+ end
18
+
19
+ after(:all) do
20
+ destroy_dummy_app!
21
+ end
22
+
23
+ context 'Set icon' do
24
+ let(:drawable_dir) { File.join(@project_root, 'android', 'res') }
25
+ before(:all) do
26
+ cli(HighFive::Thor::Tasks::AndroidTasks).set_icon File.join(@project_root, 'test_icon.png')
27
+ end
28
+
29
+ it 'creates icons for each drawable- folder' do
30
+ valid_directories(drawable_dir).each do |dir|
31
+ file = File.join(dir, 'icon.png')
32
+ expect(file).to exist
33
+ end
34
+ end
35
+
36
+ it 'creates default in drawable folder' do
37
+ file = File.join(drawable_dir, 'drawable', 'icon.png')
38
+ expect(file).to exist
39
+ end
40
+
41
+ it 'resizes to correct dimensions' do
42
+ valid_directories(drawable_dir).each do |dir|
43
+ res = parse_resolution(dir)
44
+ size = res_map[res]
45
+ file = File.join(dir, 'icon.png')
46
+ image = ChunkyPNG::Image.from_file(file)
47
+ expect(image.dimension.height).to eq size
48
+ expect(image.dimension.width).to eq size
49
+ end
50
+ end
51
+ end
52
+
53
+ context "Set version" do
54
+ it 'updates version number' do
55
+ cli(HighFive::Thor::Tasks::AndroidTasks, version: '2.0').set_version
56
+ manifest = File.read(File.join(@project_root, 'android', 'AndroidManifest.xml'))
57
+ expect(manifest).to match(/android:versionName="2.0"/)
58
+ end
59
+ end
60
+ end
data/spec/deploy_spec.rb CHANGED
@@ -1,37 +1,19 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe HighFive::Thor::Tasks::Deploy do
4
- def create_dummy_app!
5
- @original_dir = Dir.pwd
6
- @project_root = Dir.mktmpdir("hi5")
7
- Dir.chdir @project_root
8
- FileUtils.cp_r(Dir[File.join(File.dirname(__FILE__), "dummy", "*")], @project_root)
9
- end
10
-
11
- def cli(options={environment: 'development'})
12
- cli = HighFive::Thor::Tasks::Deploy.new([], options)
13
- cli.instance_variable_set("@base_config", HighFive::Config.instance)
14
- cli
15
- end
3
+ describe HighFive::Thor::Tasks::Deploy do
4
+ include HighFive::TestHelper
16
5
 
17
- def destroy_dummy_app!
18
- puts "Cleaning up deploy directory. Contents: "
19
- system("find #{@project_root} -print | sed 's;[^/]*/;|___;g;s;___|; |;g'")
20
- Dir.chdir @original_dir
21
- FileUtils.rm_rf @project_root
22
- end
23
-
24
6
  context "Basic Deployment" do
25
- before :all do
7
+ before :all do
26
8
  create_dummy_app!
27
9
  HighFive::Config.configure do |config|
28
10
  config.root = @project_root
29
11
  config.destination = "www"
30
12
  config.platform :android do |android|
31
-
13
+
32
14
  end
33
15
  end
34
- cli.deploy("android")
16
+ cli(HighFive::Thor::Tasks::Deploy).deploy("android")
35
17
  end
36
18
 
37
19
  after(:all) { destroy_dummy_app! }
@@ -47,7 +29,7 @@ describe HighFive::Thor::Tasks::Deploy do
47
29
 
48
30
  end
49
31
 
50
- context "SASS Deployment" do
32
+ context "SASS Deployment" do
51
33
  before :all do
52
34
  create_dummy_app!
53
35
  HighFive::Config.configure do |config|
@@ -56,25 +38,25 @@ describe HighFive::Thor::Tasks::Deploy do
56
38
  config.compass_dir = "."
57
39
  config.assets "stylesheets"
58
40
  config.platform :android do |android|
59
-
41
+
60
42
  end
61
43
  end
62
- cli.deploy("android")
44
+ cli(HighFive::Thor::Tasks::Deploy).deploy("android")
63
45
  end
64
46
 
65
47
  after(:all) { destroy_dummy_app! }
66
48
 
67
- it "should invoke compass to compile stylesheets" do
49
+ it "should invoke compass to compile stylesheets" do
68
50
  expect(File.join(@project_root, "stylesheets", "sass.css")).to exist
69
51
  expect(File.join(@project_root, "www", "stylesheets", "sass.css")).to exist
70
52
  end
71
53
 
72
- it "should copy the css sheets to the deploy directory" do
54
+ it "should copy the css sheets to the deploy directory" do
73
55
  expect(File.join(@project_root, "www", "stylesheets", "screen.css")).to exist
74
56
  end
75
57
  end
76
58
 
77
- context "Development environment" do
59
+ context "Development environment" do
78
60
  before :all do
79
61
  create_dummy_app!
80
62
  HighFive::Config.configure do |config|
@@ -87,19 +69,19 @@ describe HighFive::Thor::Tasks::Deploy do
87
69
  config.dev_index "index-debug.html"
88
70
  end
89
71
  end
90
- cli.deploy("web")
72
+ cli(HighFive::Thor::Tasks::Deploy).deploy("web")
91
73
  end
92
74
 
93
75
  after(:all) { destroy_dummy_app! }
94
76
 
95
- it "should clone index.html to index-debug.html when directed" do
77
+ it "should clone index.html to index-debug.html when directed" do
96
78
  index = File.read(File.join(@project_root, "www-web", "index.html"))
97
79
  index_debug = File.read(File.join(@project_root, "index-debug.html"))
98
80
  index.should eq index_debug
99
81
  end
100
82
  end
101
83
 
102
- context "Production environment" do
84
+ context "Production environment" do
103
85
  before :all do
104
86
  create_dummy_app!
105
87
  HighFive::Config.configure do |config|
@@ -114,20 +96,20 @@ describe HighFive::Thor::Tasks::Deploy do
114
96
  config.environment :production do |prod|
115
97
  prod.minify = :yui
116
98
  end
117
-
99
+
118
100
  end
119
- cli(environment: 'production').deploy("web")
101
+ cli(HighFive::Thor::Tasks::Deploy, environment: 'production').deploy("web")
120
102
  end
121
103
 
122
104
  after(:all) { destroy_dummy_app! }
123
105
 
124
- it "should produce just one javascript file" do
106
+ it "should produce just one javascript file" do
125
107
  expect(File.join(@project_root, "www", "app.js")).to exist
126
108
  end
127
- it "should not clone index.html to index-debug.html" do
109
+ it "should not clone index.html to index-debug.html" do
128
110
  File.exist?(File.join(@project_root, "index-debug.html")).should be_false
129
111
  end
130
- it "should generate an html manifest" do
112
+ it "should generate an html manifest" do
131
113
  expect(File.join(@project_root, "www", "manifest.appcache")).to exist
132
114
  end
133
115
  end
@@ -141,9 +123,9 @@ describe HighFive::Thor::Tasks::Deploy do
141
123
  config.asset_paths = ["public/custom_path"]
142
124
  config.platform :custom_asset_paths do |custom_asset_paths|
143
125
  end
144
-
126
+
145
127
  end
146
- cli.deploy("custom_asset_paths")
128
+ cli(HighFive::Thor::Tasks::Deploy).deploy("custom_asset_paths")
147
129
  end
148
130
 
149
131
  after(:all) { destroy_dummy_app! }
@@ -157,4 +139,4 @@ describe HighFive::Thor::Tasks::Deploy do
157
139
  end
158
140
  end
159
141
 
160
- end
142
+ end
@@ -0,0 +1,36 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!--
3
+ Licensed to the Apache Software Foundation (ASF) under one
4
+ or more contributor license agreements. See the NOTICE file
5
+ distributed with this work for additional information
6
+ regarding copyright ownership. The ASF licenses this file
7
+ to you under the Apache License, Version 2.0 (the
8
+ "License"); you may not use this file except in compliance
9
+ with the License. You may obtain a copy of the License at
10
+
11
+ http://www.apache.org/licenses/LICENSE-2.0
12
+
13
+ Unless required by applicable law or agreed to in writing,
14
+ software distributed under the License is distributed on an
15
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16
+ KIND, either express or implied. See the License for the
17
+ specific language governing permissions and limitations
18
+ under the License.
19
+ -->
20
+ <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.tenforwardconsulting.highfive.dummy" android:versionName="1.0" android:versionCode="1" android:hardwareAccelerated="true">
21
+ <supports-screens android:largeScreens="true" android:normalScreens="true" android:smallScreens="true" android:xlargeScreens="true" android:resizeable="true" android:anyDensity="true"/>
22
+
23
+ <uses-permission android:name="android.permission.INTERNET"/>
24
+
25
+ <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17"/>
26
+ <application android:icon="@drawable/icon">
27
+ <activity android:name="HighFiveActivity" android:label="@string/app_name">
28
+ <intent-filter>
29
+ <action android:name="android.intent.action.MAIN"/>
30
+ <category android:name="android.intent.category.LAUNCHER"/>
31
+ </intent-filter>
32
+ </activity>
33
+
34
+ </application>
35
+
36
+ </manifest>
Binary file
data/spec/spec_helper.rb CHANGED
@@ -24,4 +24,26 @@ RSpec::Matchers.define :exist do
24
24
  match do |actual|
25
25
  File.exists?(actual)
26
26
  end
27
- end
27
+ end
28
+
29
+ module HighFive::TestHelper
30
+ def create_dummy_app!
31
+ @original_dir = Dir.pwd
32
+ @project_root = Dir.mktmpdir("hi5")
33
+ Dir.chdir @project_root
34
+ FileUtils.cp_r(Dir[File.join(File.dirname(__FILE__), "dummy", "*")], @project_root)
35
+ end
36
+
37
+ def cli(task_class, options={environment: 'development'})
38
+ cli = task_class.new([], options)
39
+ cli.instance_variable_set("@base_config", HighFive::Config.instance)
40
+ cli
41
+ end
42
+
43
+ def destroy_dummy_app!
44
+ puts "Cleaning up deploy directory. Contents: "
45
+ system("find #{@project_root} -print | sed 's;[^/]*/;|___;g;s;___|; |;g'")
46
+ Dir.chdir @original_dir
47
+ FileUtils.rm_rf @project_root
48
+ end
49
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: high_five
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Samson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-10 00:00:00.000000000 Z
11
+ date: 2014-02-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: multi_json
@@ -84,14 +84,14 @@ dependencies:
84
84
  name: sprockets
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ! '>='
87
+ - - '>='
88
88
  - !ruby/object:Gem::Version
89
89
  version: '2.0'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ! '>='
94
+ - - '>='
95
95
  - !ruby/object:Gem::Version
96
96
  version: '2.0'
97
97
  - !ruby/object:Gem::Dependency
@@ -112,30 +112,44 @@ dependencies:
112
112
  name: plist
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ! '>='
115
+ - - '>='
116
116
  - !ruby/object:Gem::Version
117
117
  version: '3.0'
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ! '>='
122
+ - - '>='
123
123
  - !ruby/object:Gem::Version
124
124
  version: '3.0'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: nokogiri
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - ! '>='
129
+ - - '>='
130
130
  - !ruby/object:Gem::Version
131
131
  version: 1.5.0
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - ! '>='
136
+ - - '>='
137
137
  - !ruby/object:Gem::Version
138
138
  version: 1.5.0
139
+ - !ruby/object:Gem::Dependency
140
+ name: chunky_png
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - '>='
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - '>='
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
139
153
  - !ruby/object:Gem::Dependency
140
154
  name: rspec
141
155
  requirement: !ruby/object:Gem::Requirement
@@ -150,8 +164,8 @@ dependencies:
150
164
  - - ~>
151
165
  - !ruby/object:Gem::Version
152
166
  version: 2.13.0
153
- description: ! "Build, minify, and deal with different platforms and environments
154
- for your HTML5 app.\n This is often used with PhoneGap but designed not to require
167
+ description: "Build, minify, and deal with different platforms and environments for
168
+ your HTML5 app.\n This is often used with PhoneGap but designed not to require
155
169
  it, and high_five can be used to deploy any kind of HTML/JS/CSS-based\n application
156
170
  that requires different deployment configurations.\n "
157
171
  email:
@@ -189,8 +203,10 @@ files:
189
203
  - lib/high_five/thor/tasks/ios_tasks.rb
190
204
  - lib/high_five/version.rb
191
205
  - spec/android_helper_spec.rb
206
+ - spec/android_tasks_spec.rb
192
207
  - spec/config_spec.rb
193
208
  - spec/deploy_spec.rb
209
+ - spec/dummy/android/AndroidManifest.xml
194
210
  - spec/dummy/build.xml
195
211
  - spec/dummy/config.rb
196
212
  - spec/dummy/config/high_five.rb
@@ -207,6 +223,7 @@ files:
207
223
  - spec/dummy/public/custom_path/custom_app/controllers/custom_controller.js
208
224
  - spec/dummy/sass/sass.scss
209
225
  - spec/dummy/stylesheets/screen.css
226
+ - spec/dummy/test_icon.png
210
227
  - spec/init_spec.rb
211
228
  - spec/ios_helper_spec.rb
212
229
  - spec/spec_helper.rb
@@ -223,12 +240,12 @@ require_paths:
223
240
  - lib
224
241
  required_ruby_version: !ruby/object:Gem::Requirement
225
242
  requirements:
226
- - - ! '>='
243
+ - - '>='
227
244
  - !ruby/object:Gem::Version
228
245
  version: '0'
229
246
  required_rubygems_version: !ruby/object:Gem::Requirement
230
247
  requirements:
231
- - - ! '>='
248
+ - - '>='
232
249
  - !ruby/object:Gem::Version
233
250
  version: '0'
234
251
  requirements: []
@@ -240,8 +257,10 @@ summary: HighFive is a set of build scripts and tools for packing HTML5 apps bot
240
257
  for the web and for phonegap
241
258
  test_files:
242
259
  - spec/android_helper_spec.rb
260
+ - spec/android_tasks_spec.rb
243
261
  - spec/config_spec.rb
244
262
  - spec/deploy_spec.rb
263
+ - spec/dummy/android/AndroidManifest.xml
245
264
  - spec/dummy/build.xml
246
265
  - spec/dummy/config.rb
247
266
  - spec/dummy/config/high_five.rb
@@ -258,6 +277,7 @@ test_files:
258
277
  - spec/dummy/public/custom_path/custom_app/controllers/custom_controller.js
259
278
  - spec/dummy/sass/sass.scss
260
279
  - spec/dummy/stylesheets/screen.css
280
+ - spec/dummy/test_icon.png
261
281
  - spec/init_spec.rb
262
282
  - spec/ios_helper_spec.rb
263
283
  - spec/spec_helper.rb