confetti 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- confetti (0.2.2)
4
+ confetti (0.2.3)
5
5
  mustache (= 0.11.2)
6
6
  thor (= 0.14.3)
7
7
 
@@ -6,7 +6,8 @@ module Confetti
6
6
 
7
7
  attr_accessor :package, :version, :description, :height, :width
8
8
  attr_reader :author, :viewmodes, :name, :license, :content,
9
- :icon_set, :feature_set, :preference_set, :xml_doc
9
+ :icon_set, :feature_set, :preference_set, :xml_doc,
10
+ :splash_set
10
11
 
11
12
  generate_and_write :android_manifest, :android_strings, :webos_appinfo,
12
13
  :ios_info, :symbian_wrt_info, :blackberry_widgets_config
@@ -16,7 +17,7 @@ module Confetti
16
17
  Name = Class.new Struct.new(:name, :shortname)
17
18
  License = Class.new Struct.new(:text, :href)
18
19
  Content = Class.new Struct.new(:src, :type, :encoding)
19
- Icon = Class.new Struct.new(:src, :height, :width, :extras)
20
+ Image = Class.new Struct.new(:src, :height, :width, :extras)
20
21
  Feature = Class.new Struct.new(:name, :required)
21
22
  Preference = Class.new Struct.new(:name, :value, :readonly)
22
23
 
@@ -25,8 +26,9 @@ module Confetti
25
26
  @name = Name.new
26
27
  @license = License.new
27
28
  @content = Content.new
28
- @icon_set = TypedSet.new Icon
29
+ @icon_set = TypedSet.new Image
29
30
  @feature_set = TypedSet.new Feature
31
+ @splash_set = TypedSet.new Image
30
32
  @preference_set = TypedSet.new Preference
31
33
  @viewmodes = []
32
34
 
@@ -61,11 +63,11 @@ module Confetti
61
63
  when "description"
62
64
  @description = ele.text.strip
63
65
  when "icon"
64
- extras = attr.keys.inject({}) do |hash, key|
65
- hash[key] = attr[key] unless Icon.public_instance_methods.include? key
66
- hash
67
- end
68
- @icon_set << Icon.new(attr["src"], attr["height"], attr["width"], extras)
66
+ extras = grab_extras attr
67
+ @icon_set << Image.new(attr["src"], attr["height"], attr["width"], extras)
68
+ when "splash"
69
+ extras = grab_extras attr
70
+ @splash_set << Image.new(attr["src"], attr["height"], attr["width"], extras)
69
71
  when "feature"
70
72
  @feature_set << Feature.new(attr["name"], attr["required"])
71
73
  when "license"
@@ -81,5 +83,13 @@ module Confetti
81
83
  def biggest_icon
82
84
  @icon_set.max { |a,b| a.width.to_i <=> b.width.to_i }
83
85
  end
86
+
87
+ def grab_extras(attributes)
88
+ extras = attributes.keys.inject({}) do |hash, key|
89
+ hash[key] = attributes[key] unless Image.public_instance_methods.include? key
90
+ hash
91
+ end
92
+ extras
93
+ end
84
94
  end
85
95
  end
@@ -1,3 +1,3 @@
1
1
  module Confetti
2
- VERSION = "0.2.2"
2
+ VERSION = "0.2.3"
3
3
  end
@@ -0,0 +1,22 @@
1
+ require 'spec_helper'
2
+
3
+ describe Confetti::Config::Image do
4
+ before do
5
+ @image = Confetti::Config::Image.new
6
+ end
7
+
8
+ it "should have a readable and writable src field" do
9
+ lambda { @image.src = "icon.png" }.should_not raise_error
10
+ @image.src.should == "icon.png"
11
+ end
12
+
13
+ it "should have a readable and writable width field" do
14
+ lambda { @image.width = 50 }.should_not raise_error
15
+ @image.width.should == 50
16
+ end
17
+
18
+ it "should have a readable and writable height field" do
19
+ lambda { @image.height = 50 }.should_not raise_error
20
+ @image.height.should == 50
21
+ end
22
+ end
@@ -84,8 +84,8 @@ describe Confetti::Config do
84
84
  @config.icon_set.should be_a TypedSet
85
85
  end
86
86
 
87
- it "icon_set should be typed to icon objects" do
88
- @config.icon_set.set_class.should be Confetti::Config::Icon
87
+ it "icon_set should be typed to Image objects" do
88
+ @config.icon_set.set_class.should be Confetti::Config::Image
89
89
  end
90
90
 
91
91
  it "should not allow icon_set to be clobbered" do
@@ -210,6 +210,40 @@ describe Confetti::Config do
210
210
  end
211
211
  end
212
212
 
213
+ describe "splash screens" do
214
+ it "should append splash screens to the splash_set" do
215
+ @config.splash_set.size.should be 1
216
+ end
217
+
218
+ it "should set the splash screen's src correctly" do
219
+ @config.splash_set.first.src.should == "mainsplash.png"
220
+ end
221
+
222
+ it "should set the splash screen's height correctly" do
223
+ @config.splash_set.first.height.should == "480"
224
+ end
225
+
226
+ it "should set the splash screen's width correctly" do
227
+ @config.splash_set.first.width.should == "360"
228
+ end
229
+
230
+ describe "with custom splash screen attributes" do
231
+ before do
232
+ @config = Confetti::Config.new
233
+ @config.populate_from_xml(fixture_dir + "/config-icons-custom-attribs.xml")
234
+ end
235
+
236
+ it "should populate splash screen non-standards attributes to extras field" do
237
+ @config.splash_set.size.should be 1
238
+ @config.splash_set.first.extras.should_not == nil
239
+ @config.splash_set.first.extras.length.should be 1
240
+ @config.splash_set.first.extras["main"].should == "true"
241
+ end
242
+
243
+ end
244
+
245
+ end
246
+
213
247
  describe "icons" do
214
248
  it "should append icons to the icon_set" do
215
249
  @config.icon_set.size.should be 1
@@ -250,6 +284,7 @@ describe Confetti::Config do
250
284
  @config.icon_set.first.extras.length.should be 1
251
285
  @config.icon_set.first.extras["hover"].should == "true"
252
286
  end
287
+
253
288
  end
254
289
  end
255
290
 
@@ -299,12 +334,12 @@ describe Confetti::Config do
299
334
  @config = Confetti::Config.new(fixture_dir + "/config.xml")
300
335
  end
301
336
 
302
- it "#icon should return an icon" do
303
- @config.icon.should be_a Confetti::Config::Icon
337
+ it "#icon should return an Image" do
338
+ @config.icon.should be_a Confetti::Config::Image
304
339
  end
305
340
 
306
- it "#biggest_icon should return an icon" do
307
- @config.biggest_icon.should be_a Confetti::Config::Icon
341
+ it "#biggest_icon should return an Image" do
342
+ @config.biggest_icon.should be_a Confetti::Config::Image
308
343
  end
309
344
  end
310
345
 
@@ -313,8 +348,8 @@ describe Confetti::Config do
313
348
  @config.populate_from_xml(fixture_dir + "/config-icons.xml")
314
349
  end
315
350
 
316
- it "#icon should return a single icon" do
317
- @config.icon.should be_a Confetti::Config::Icon
351
+ it "#icon should return a single Image" do
352
+ @config.icon.should be_a Confetti::Config::Image
318
353
  end
319
354
 
320
355
  it "#biggest_icon should return the bigger of the two" do
@@ -1,6 +1,7 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <widget xmlns = "http://www.w3.org/ns/widgets"
3
3
  xmlns:rim="http://www.blackberry.com/ns/widgets"
4
+ xmlns:gap = "http://phonegap.com/ns/1.0"
4
5
  id = "com.alunny.confetti"
5
6
  version = "1.0.0">
6
7
 
@@ -16,6 +17,7 @@
16
17
  </author>
17
18
 
18
19
  <icon src="smallicon.png" height="100" width="100" rim:hover="true" />
20
+ <gap:splash src="mainsplash.png" height="480" width="360" rim:main="true" />
19
21
 
20
22
  <feature name="http://api.phonegap.com/1.0/geolocation"/>
21
23
  <feature name="http://api.phonegap.com/1.0/network"/>
@@ -1,5 +1,6 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <widget xmlns = "http://www.w3.org/ns/widgets"
3
+ xmlns:gap = "http://phonegap.com/ns/1.0"
3
4
  id = "com.alunny.confetti"
4
5
  version = "1.0.0">
5
6
 
@@ -38,6 +39,8 @@ THE SOFTWARE.</license>
38
39
 
39
40
  <icon src="icon.png" height="150" width="200" />
40
41
 
42
+ <gap:splash src="mainsplash.png" height="480" width="360" />
43
+
41
44
  <feature name="http://api.phonegap.com/1.0/geolocation" required="true"/>
42
45
  <feature name="http://api.phonegap.com/1.0/camera" required="true"/>
43
46
  <feature name="http://api.phonegap.com/1.0/notification" required="true"/>
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: confetti
3
3
  version: !ruby/object:Gem::Version
4
- hash: 19
4
+ hash: 17
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 2
9
- - 2
10
- version: 0.2.2
9
+ - 3
10
+ version: 0.2.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Andrew Lunny
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-03-28 00:00:00 -07:00
18
+ date: 2011-03-29 00:00:00 -07:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -147,7 +147,7 @@ files:
147
147
  - spec/config/config_author_spec.rb
148
148
  - spec/config/config_content_spec.rb
149
149
  - spec/config/config_feature_spec.rb
150
- - spec/config/config_icon_spec.rb
150
+ - spec/config/config_image_spec.rb
151
151
  - spec/config/config_license_spec.rb
152
152
  - spec/config/config_name_spec.rb
153
153
  - spec/config/config_preference_spec.rb
@@ -212,7 +212,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
212
212
  requirements: []
213
213
 
214
214
  rubyforge_project: confetti
215
- rubygems_version: 1.6.2
215
+ rubygems_version: 1.5.0
216
216
  signing_key:
217
217
  specification_version: 3
218
218
  summary: Generate mobile app config files
@@ -228,7 +228,7 @@ test_files:
228
228
  - spec/config/config_author_spec.rb
229
229
  - spec/config/config_content_spec.rb
230
230
  - spec/config/config_feature_spec.rb
231
- - spec/config/config_icon_spec.rb
231
+ - spec/config/config_image_spec.rb
232
232
  - spec/config/config_license_spec.rb
233
233
  - spec/config/config_name_spec.rb
234
234
  - spec/config/config_preference_spec.rb
@@ -1,22 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Confetti::Config::Icon do
4
- before do
5
- @icon = Confetti::Config::Icon.new
6
- end
7
-
8
- it "should have a readable and writable src field" do
9
- lambda { @icon.src = "icon.png" }.should_not raise_error
10
- @icon.src.should == "icon.png"
11
- end
12
-
13
- it "should have a readable and writable width field" do
14
- lambda { @icon.width = 50 }.should_not raise_error
15
- @icon.width.should == 50
16
- end
17
-
18
- it "should have a readable and writable height field" do
19
- lambda { @icon.height = 50 }.should_not raise_error
20
- @icon.height.should == 50
21
- end
22
- end