bubble-wrap 1.1.5 → 1.2.0.pre

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.
@@ -0,0 +1,54 @@
1
+ describe BubbleWrap::Font do
2
+ [[:system, "systemFontOfSize:"], [:bold, "boldSystemFontOfSize:"], [:italic, "italicSystemFontOfSize:"]].each do |font, method|
3
+ describe ".#{font}" do
4
+ it "should work" do
5
+ f = BubbleWrap::Font.send(font, 16)
6
+ f.should == UIFont.send(method, 16)
7
+
8
+ f = BubbleWrap::Font.send(font)
9
+ f.should == UIFont.send(method, UIFont.systemFontSize)
10
+ end
11
+ end
12
+ end
13
+
14
+ describe ".make" do
15
+ it "should work with UIFont" do
16
+ BubbleWrap::Font.new(UIFont.boldSystemFontOfSize(12)).should == UIFont.boldSystemFontOfSize(12)
17
+ end
18
+
19
+ it "should work with string" do
20
+ BubbleWrap::Font.new("Helvetica").should == UIFont.fontWithName("Helvetica", size: UIFont.systemFontSize)
21
+ end
22
+
23
+ it "should work with string and size" do
24
+ BubbleWrap::Font.new("Helvetica", 18).should == UIFont.fontWithName("Helvetica", size: 18)
25
+ end
26
+
27
+ it "should work with string and hash" do
28
+ BubbleWrap::Font.new("Helvetica", size: 16).should == UIFont.fontWithName("Helvetica", size: 16)
29
+ end
30
+
31
+ it "should work with hash" do
32
+ BubbleWrap::Font.new(name: "Chalkduster", size: 16).should == UIFont.fontWithName("Chalkduster", size: 16)
33
+ end
34
+ end
35
+
36
+ describe ".named" do
37
+ it "should work" do
38
+ BubbleWrap::Font.named("Helvetica").should == UIFont.fontWithName("Helvetica", size: UIFont.systemFontSize)
39
+ end
40
+ end
41
+
42
+ describe ".attributes" do
43
+ it "should work" do
44
+ _attributes = BubbleWrap::Font.attributes(font: UIFont.systemFontOfSize(12), color: "red", shadow_color: "blue", shadow_offset: {x: 5, y: 10})
45
+
46
+ _attributes.should == {
47
+ UITextAttributeFont => UIFont.systemFontOfSize(12),
48
+ UITextAttributeTextColor => UIColor.redColor,
49
+ UITextAttributeTextShadowColor => UIColor.blueColor,
50
+ UITextAttributeTextShadowOffset => NSValue.valueWithUIOffset(UIOffsetMake(5, 10))
51
+ }
52
+ end
53
+ end
54
+ end
@@ -154,8 +154,8 @@ describe "HTTP" do
154
154
  @options = {
155
155
  headers: @headers,
156
156
  }
157
- @query = BubbleWrap::HTTP::Query.new( @localhost_url , :get, @options )
158
- @query.should.not.be.nil
157
+ query = BubbleWrap::HTTP::Query.new( @localhost_url , :get, @options )
158
+ query.should.not.be.nil
159
159
  end
160
160
 
161
161
  describe "When initialized" do
@@ -219,7 +219,7 @@ describe "HTTP" do
219
219
  end
220
220
 
221
221
  it "should set payload from options{} to @payload" do
222
- payload = "user[name]=marin&user[surname]=usalj&twitter=@mneorr&website=mneorr.com&values[]=apple&values[]=orange&values[]=peach&credentials[username]=mneorr&credentials[password]=123456xx!@crazy"
222
+ payload = "user%5Bname%5D=marin&user%5Bsurname%5D=usalj&twitter=%40mneorr&website=mneorr.com&values%5B%5D=apple&values%5B%5D=orange&values%5B%5D=peach&credentials%5Busername%5D=mneorr&credentials%5Bpassword%5D=123456xx%21%40crazy"
223
223
  @query.instance_variable_get(:@payload).should.equal payload
224
224
  @options.should.not.has_key? :payload
225
225
  end
@@ -248,6 +248,35 @@ describe "HTTP" do
248
248
  end
249
249
  end
250
250
 
251
+ it "processes filenames from file hashes" do
252
+ files = {
253
+ upload: {data: sample_data, filename: "test.txt"}
254
+ }
255
+ query = BubbleWrap::HTTP::Query.new(@fake_url, :post, {files: files})
256
+ uuid = query.instance_variable_get(:@boundary)
257
+ real_payload = NSString.alloc.initWithData(query.request.HTTPBody, encoding:NSUTF8StringEncoding)
258
+ real_payload.should.equal "--#{uuid}\r\nContent-Disposition: form-data; name=\"upload\"; filename=\"test.txt\"\r\nContent-Type: application/octet-stream\r\n\r\ntwitter:@mneorr\r\n--#{uuid}--\r\n"
259
+ end
260
+
261
+ it "processes filenames from file hashes, using the name when the filename is missing" do
262
+ files = {
263
+ upload: {data: sample_data}
264
+ }
265
+ query = BubbleWrap::HTTP::Query.new(@fake_url, :post, {files: files})
266
+ uuid = query.instance_variable_get(:@boundary)
267
+ real_payload = NSString.alloc.initWithData(query.request.HTTPBody, encoding:NSUTF8StringEncoding)
268
+ real_payload.should.equal "--#{uuid}\r\nContent-Disposition: form-data; name=\"upload\"; filename=\"upload\"\r\nContent-Type: application/octet-stream\r\n\r\ntwitter:@mneorr\r\n--#{uuid}--\r\n"
269
+ end
270
+
271
+ it "throws an error for invalid file parameters" do
272
+ files = {
273
+ twitter: {filename: "test.txt", data: nil}
274
+ }
275
+ lambda {
276
+ BW::HTTP::Query.new("http://example.com", :post, { files: files})
277
+ }.should.raise InvalidFileError
278
+ end
279
+
251
280
  it "sets the HTTPBody DATA to @request for all methods except GET and HEAD" do
252
281
  payload = { name: 'apple', model: 'macbook'}
253
282
  files = { twitter: sample_data, site: "mneorr.com".dataUsingEncoding(NSUTF8StringEncoding) }
@@ -336,7 +365,7 @@ describe "HTTP" do
336
365
  end
337
366
 
338
367
  it "should call initiate_request with the URL passed in" do
339
- processed_url = "http://localhost?user%5Bname%5D=marin&user%5Bsurname%5D=usalj&twitter=@mneorr&website=mneorr.com&values%5B%5D=apple&values%5B%5D=orange&values%5B%5D=peach&credentials%5Busername%5D=mneorr&credentials%5Bpassword%5D=123456xx!@crazy"
368
+ processed_url = "http://localhost?user%5Bname%5D=marin&user%5Bsurname%5D=usalj&twitter=%40mneorr&website=mneorr.com&values%5B%5D=apple&values%5B%5D=orange&values%5B%5D=peach&credentials%5Busername%5D=mneorr&credentials%5Bpassword%5D=123456xx%21%40crazy"
340
369
  @query.instance_variable_get(:@url).description.should.equal processed_url
341
370
  end
342
371
 
@@ -583,6 +612,24 @@ describe "HTTP" do
583
612
  end
584
613
  end
585
614
 
615
+ it "should always allow canonical redirects" do
616
+ @query.options.update({:no_redirect => 1})
617
+ request = @query.connection(nil, willSendRequest:@request, redirectResponse:nil)
618
+ request.should.equal @request
619
+ end
620
+
621
+ it "should disallow non-canonical redirects if requested not to" do
622
+ @query.options.update({:no_redirect => 1})
623
+ request = @query.connection(nil, willSendRequest:@request, redirectResponse:"monkey")
624
+ request.should.equal nil
625
+ end
626
+
627
+ it "should allow non-canonical redirects by default" do
628
+ @query.options.delete(:no_redirect)
629
+ request = @query.connection(nil, willSendRequest:@request, redirectResponse:"monkey")
630
+ request.should.equal @request
631
+ end
632
+
586
633
  describe "after 30 redirects" do
587
634
  before do
588
635
  31.times do
@@ -603,6 +650,15 @@ describe "HTTP" do
603
650
  end
604
651
  end
605
652
 
653
+ it "should update the request URL after redirecting by default" do
654
+ query = BubbleWrap::HTTP::Query.new( @localhost_url , :get, {} )
655
+ redirected_request = NSMutableURLRequest.requestWithURL NSURL.URLWithString('http://expanded.local/')
656
+ query.connection(nil, willSendRequest:redirected_request, redirectResponse:nil)
657
+ query.connectionDidFinishLoading(nil)
658
+ query.response.url.absoluteString.should.equal redirected_request.URL.absoluteString
659
+ query.response.original_url.absoluteString.should.equal @localhost_url
660
+ end
661
+
606
662
  end
607
663
 
608
664
  describe "didReceiveAuthenticationChallenge" do
@@ -630,8 +686,8 @@ describe "HTTP" do
630
686
 
631
687
  it 'should continue without credentials when no credentials provided' do
632
688
  @options.delete :credentials
633
- @query = BubbleWrap::HTTP::Query.new( @localhost_url , :get, @options )
634
- @query.connection(nil, didReceiveAuthenticationChallenge:@challenge)
689
+ query = BubbleWrap::HTTP::Query.new( @localhost_url , :get, @options )
690
+ query.connection(nil, didReceiveAuthenticationChallenge:@challenge)
635
691
  @challenge.sender.continue_without_credential.should.equal true
636
692
  end
637
693
 
@@ -640,18 +696,36 @@ describe "HTTP" do
640
696
  describe "properly format payload to url get query string" do
641
697
 
642
698
  before do
643
- @payload = {"we love" => '#==Rock&Roll==#', "radio" => "Ga Ga", "qual" => 3.0, "incr" => -1}
699
+ @payload = {"we love" => '#==Rock&Roll==#', "radio" => "Ga Ga", "qual" => 3.0, "incr" => -1, "RFC3986" => "!*'();:@&=+$,/?%#[]"}
644
700
  @url_string = 'http://fake.url/method'
645
701
  @get_query = BubbleWrap::HTTP::Query.new( @url_string, :get, :payload => @payload)
646
- @escaped_url = "http://fake.url/method?we%20love=%23%3D%3DRock%26Roll%3D%3D%23&radio=Ga%20Ga&qual=3.0&incr=-1"
702
+ @escaped_url = "http://fake.url/method?we%20love=%23%3D%3DRock%26Roll%3D%3D%23&radio=Ga%20Ga&qual=3.0&incr=-1&RFC3986=%21%2A%27%28%29%3B%3A%40%26%3D%2B%24%2C%2F%3F%25%23%5B%5D"
647
703
  end
648
704
 
649
- it "should escape \#=& characters only in keys and values" do
705
+ it "should escape !*'();:@&=+$,/?%#[] characters only in keys and values" do
650
706
  @get_query.instance_variable_get(:@url).description.should.equal @escaped_url
651
707
  end
652
708
 
653
709
  end
654
710
 
711
+ describe 'properly support cookie-option for nsmutableurlrequest' do
712
+
713
+ before do
714
+ @no_cookie_query = BubbleWrap::HTTP::Query.new("http://haz-no-cookiez.url", :get, {:payload => {:something => "else"}, :cookies => false})
715
+ @cookie_query = BubbleWrap::HTTP::Query.new("http://haz-cookiez.url", :get, :payload => {:something => "else"})
716
+ end
717
+
718
+ it 'should disabled cookie-usage on nsurlrequest' do
719
+ @no_cookie_query.instance_variable_get(:@request).HTTPShouldHandleCookies.should.equal false
720
+ end
721
+
722
+ it 'should keep sane cookie-related defaults on nsurlrequest' do
723
+ @cookie_query.instance_variable_get(:@request).HTTPShouldHandleCookies.should.equal true
724
+ end
725
+
726
+
727
+ end
728
+
655
729
  class FakeSender
656
730
  attr_reader :challenge, :credential, :was_cancelled, :continue_without_credential
657
731
  def cancelAuthenticationChallenge(challenge)
@@ -14,7 +14,7 @@ class CLLocationManager
14
14
 
15
15
  def self.locationServicesEnabled
16
16
  return true if @enabled.nil?
17
- @enabled
17
+ @enabled
18
18
  end
19
19
 
20
20
  def startUpdatingLocation
@@ -101,6 +101,27 @@ describe BubbleWrap::Location do
101
101
  end
102
102
  end
103
103
 
104
+ describe ".get_once" do
105
+ it "should have correct location when succeeding" do
106
+ to = CLLocation.alloc.initWithLatitude(100, longitude: 50)
107
+ from = CLLocation.alloc.initWithLatitude(100, longitude: 49)
108
+
109
+ @number_times = 0
110
+ BW::Location.get_once do |location|
111
+ location.longitude.should == 50
112
+ location.latitude.should == 100
113
+ @number_times += 1
114
+ end
115
+
116
+ BW::Location.locationManager(location_manager, didUpdateToLocation: to, fromLocation: from)
117
+
118
+ to = CLLocation.alloc.initWithLatitude(0, longitude: 0)
119
+ from = CLLocation.alloc.initWithLatitude(0, longitude: 0)
120
+ BW::Location.locationManager(location_manager, didUpdateToLocation: to, fromLocation: from)
121
+ @number_times.should == 1
122
+ end
123
+ end
124
+
104
125
  describe ".get_significant" do
105
126
  before do
106
127
  reset
@@ -15,6 +15,21 @@ describe BubbleWrap::Reactor::Eventable do
15
15
  events = @subject.instance_variable_get(:@events)
16
16
  events[:foo].member?(proof).should == true
17
17
  end
18
+
19
+ it 'returns the array of blocks for the event' do
20
+ proof = proc { }
21
+ @subject.on(:foo, &proof).should == [proof]
22
+ end
23
+ end
24
+
25
+ describe '.off' do
26
+ it 'unregisters events' do
27
+ proof = proc { }
28
+ @subject.on(:foo, &proof)
29
+ events = @subject.instance_variable_get(:@events)
30
+ @subject.off(:foo, &proof)
31
+ events[:foo].member?(proof).should == false
32
+ end
18
33
  end
19
34
 
20
35
  describe '.trigger' do
@@ -53,6 +53,29 @@ describe BubbleWrap::Reactor do
53
53
  @proxy.proof.should >= 2
54
54
  end
55
55
  end
56
+
57
+ it 'accepts non-block callbacks' do
58
+ @proxy.proof = 0
59
+ callback = lambda {
60
+ @proxy.proof = @proxy.proof + 1
61
+ @subject.cancel_timer(@timer) if @proxy.proof > 2
62
+ }
63
+ @timer = @subject.add_periodic_timer 0.5, callback
64
+ wait 1.1 do
65
+ @proxy.proof.should >= 2
66
+ end
67
+ end
68
+
69
+ it 'runs callbacks repeatedly in common runloop modes' do
70
+ @proxy.proof = 0
71
+ @timer = @subject.add_periodic_timer 0.5, :common_modes => true do
72
+ @proxy.proof = @proxy.proof + 1
73
+ @subject.cancel_timer(@timer) if @proxy.proof > 2
74
+ end
75
+ wait 1.1 do
76
+ @proxy.proof.should >= 2
77
+ end
78
+ end
56
79
  end
57
80
 
58
81
  describe '.cancel_timer' do
@@ -73,6 +96,15 @@ describe BubbleWrap::Reactor do
73
96
  @subject.cancel_timer(timer)
74
97
  @proxy.proof.should == true
75
98
  end
99
+
100
+ it 'cancels common modes periodic timers' do
101
+ @proxy.proof = true
102
+ timer = @subject.add_periodic_timer 10.0, :common_modes => true do
103
+ @proxy.proof = false
104
+ end
105
+ @subject.cancel_timer(timer)
106
+ @proxy.proof.should == true
107
+ end
76
108
  end
77
109
 
78
110
  describe '.defer' do
@@ -0,0 +1,26 @@
1
+ describe BubbleWrap::Constants do
2
+ describe ".get" do
3
+ BubbleWrap::Constants.register UIReturnKeyDone, UIReturnKeyNext
4
+
5
+
6
+ it "should return integer passed" do
7
+ BW::Constants.get("anything", 5).should == 5
8
+ end
9
+
10
+ it "should return integer for decimal passed" do
11
+ BW::Constants.get("anything", 5.0).should == 5
12
+ end
13
+
14
+ it "should return the correct integer for a string" do
15
+ BW::Constants.get("UIReturnKey", "done").should == UIReturnKeyDone
16
+ end
17
+
18
+ it "should return the correct integer for a symbol" do
19
+ BW::Constants.get("UIReturnKey", :done).should == UIReturnKeyDone
20
+ end
21
+
22
+ it "should bitmask array values" do
23
+ BW::Constants.get("UIReturnKey", :done, :next).should == (UIReturnKeyDone | UIReturnKeyNext)
24
+ end
25
+ end
26
+ end
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bubble-wrap
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.5
5
- prerelease:
4
+ version: 1.2.0.pre
6
5
  platform: ruby
7
6
  authors:
8
7
  - Matt Aimonetti
@@ -15,12 +14,11 @@ authors:
15
14
  autorequire:
16
15
  bindir: bin
17
16
  cert_chain: []
18
- date: 2013-01-22 00:00:00.000000000 Z
17
+ date: 2013-04-19 00:00:00.000000000 Z
19
18
  dependencies:
20
19
  - !ruby/object:Gem::Dependency
21
20
  name: mocha
22
21
  requirement: !ruby/object:Gem::Requirement
23
- none: false
24
22
  requirements:
25
23
  - - '='
26
24
  - !ruby/object:Gem::Version
@@ -28,7 +26,6 @@ dependencies:
28
26
  type: :development
29
27
  prerelease: false
30
28
  version_requirements: !ruby/object:Gem::Requirement
31
- none: false
32
29
  requirements:
33
30
  - - '='
34
31
  - !ruby/object:Gem::Version
@@ -36,7 +33,6 @@ dependencies:
36
33
  - !ruby/object:Gem::Dependency
37
34
  name: mocha-on-bacon
38
35
  requirement: !ruby/object:Gem::Requirement
39
- none: false
40
36
  requirements:
41
37
  - - ! '>='
42
38
  - !ruby/object:Gem::Version
@@ -44,7 +40,6 @@ dependencies:
44
40
  type: :development
45
41
  prerelease: false
46
42
  version_requirements: !ruby/object:Gem::Requirement
47
- none: false
48
43
  requirements:
49
44
  - - ! '>='
50
45
  - !ruby/object:Gem::Version
@@ -52,7 +47,6 @@ dependencies:
52
47
  - !ruby/object:Gem::Dependency
53
48
  name: bacon
54
49
  requirement: !ruby/object:Gem::Requirement
55
- none: false
56
50
  requirements:
57
51
  - - ! '>='
58
52
  - !ruby/object:Gem::Version
@@ -60,7 +54,6 @@ dependencies:
60
54
  type: :development
61
55
  prerelease: false
62
56
  version_requirements: !ruby/object:Gem::Requirement
63
- none: false
64
57
  requirements:
65
58
  - - ! '>='
66
59
  - !ruby/object:Gem::Version
@@ -68,7 +61,6 @@ dependencies:
68
61
  - !ruby/object:Gem::Dependency
69
62
  name: rake
70
63
  requirement: !ruby/object:Gem::Requirement
71
- none: false
72
64
  requirements:
73
65
  - - ! '>='
74
66
  - !ruby/object:Gem::Version
@@ -76,7 +68,6 @@ dependencies:
76
68
  type: :development
77
69
  prerelease: false
78
70
  version_requirements: !ruby/object:Gem::Requirement
79
- none: false
80
71
  requirements:
81
72
  - - ! '>='
82
73
  - !ruby/object:Gem::Version
@@ -112,6 +103,7 @@ extra_rdoc_files:
112
103
  - motion/core/pollute.rb
113
104
  - motion/core/string.rb
114
105
  - motion/core/time.rb
106
+ - motion/font/font.rb
115
107
  - motion/http.rb
116
108
  - motion/location/location.rb
117
109
  - motion/location/pollute.rb
@@ -130,8 +122,10 @@ extra_rdoc_files:
130
122
  - motion/test_suite_delegate.rb
131
123
  - motion/ui/gestures.rb
132
124
  - motion/ui/pollute.rb
125
+ - motion/ui/ui_bar_button_item.rb
133
126
  - motion/ui/ui_control.rb
134
127
  - motion/ui/ui_view_controller.rb
128
+ - motion/util/constants.rb
135
129
  - spec/lib/bubble-wrap/ext/motion_project_app_spec.rb
136
130
  - spec/lib/bubble-wrap/ext/motion_project_config_spec.rb
137
131
  - spec/lib/motion_stub.rb
@@ -148,16 +142,20 @@ extra_rdoc_files:
148
142
  - spec/motion/core/persistence_spec.rb
149
143
  - spec/motion/core/string_spec.rb
150
144
  - spec/motion/core/time_spec.rb
145
+ - spec/motion/core/ui_bar_button_item_spec.rb
151
146
  - spec/motion/core/ui_control_spec.rb
152
147
  - spec/motion/core_spec.rb
148
+ - spec/motion/font/font_spec.rb
153
149
  - spec/motion/http_spec.rb
154
150
  - spec/motion/location/location_spec.rb
155
151
  - spec/motion/media/player_spec.rb
156
152
  - spec/motion/reactor/eventable_spec.rb
157
153
  - spec/motion/reactor_spec.rb
158
154
  - spec/motion/rss_parser_spec.rb
155
+ - spec/motion/util/constants_spec.rb
159
156
  files:
160
157
  - .gitignore
158
+ - .travis.yml
161
159
  - .yardopts
162
160
  - CHANGELOG.md
163
161
  - GEM.md
@@ -176,6 +174,7 @@ files:
176
174
  - lib/bubble-wrap/ext.rb
177
175
  - lib/bubble-wrap/ext/motion_project_app.rb
178
176
  - lib/bubble-wrap/ext/motion_project_config.rb
177
+ - lib/bubble-wrap/font.rb
179
178
  - lib/bubble-wrap/http.rb
180
179
  - lib/bubble-wrap/loader.rb
181
180
  - lib/bubble-wrap/location.rb
@@ -203,6 +202,7 @@ files:
203
202
  - motion/core/pollute.rb
204
203
  - motion/core/string.rb
205
204
  - motion/core/time.rb
205
+ - motion/font/font.rb
206
206
  - motion/http.rb
207
207
  - motion/location/location.rb
208
208
  - motion/location/pollute.rb
@@ -221,8 +221,10 @@ files:
221
221
  - motion/test_suite_delegate.rb
222
222
  - motion/ui/gestures.rb
223
223
  - motion/ui/pollute.rb
224
+ - motion/ui/ui_bar_button_item.rb
224
225
  - motion/ui/ui_control.rb
225
226
  - motion/ui/ui_view_controller.rb
227
+ - motion/util/constants.rb
226
228
  - resources/atom.xml
227
229
  - resources/test.mp3
228
230
  - samples/camera/Gemfile
@@ -269,37 +271,39 @@ files:
269
271
  - spec/motion/core/persistence_spec.rb
270
272
  - spec/motion/core/string_spec.rb
271
273
  - spec/motion/core/time_spec.rb
274
+ - spec/motion/core/ui_bar_button_item_spec.rb
272
275
  - spec/motion/core/ui_control_spec.rb
273
276
  - spec/motion/core_spec.rb
277
+ - spec/motion/font/font_spec.rb
274
278
  - spec/motion/http_spec.rb
275
279
  - spec/motion/location/location_spec.rb
276
280
  - spec/motion/media/player_spec.rb
277
281
  - spec/motion/reactor/eventable_spec.rb
278
282
  - spec/motion/reactor_spec.rb
279
283
  - spec/motion/rss_parser_spec.rb
284
+ - spec/motion/util/constants_spec.rb
280
285
  homepage: http://bubblewrap.io/
281
286
  licenses: []
287
+ metadata: {}
282
288
  post_install_message:
283
289
  rdoc_options: []
284
290
  require_paths:
285
291
  - lib
286
292
  required_ruby_version: !ruby/object:Gem::Requirement
287
- none: false
288
293
  requirements:
289
294
  - - ! '>='
290
295
  - !ruby/object:Gem::Version
291
296
  version: '0'
292
297
  required_rubygems_version: !ruby/object:Gem::Requirement
293
- none: false
294
298
  requirements:
295
- - - ! '>='
299
+ - - ! '>'
296
300
  - !ruby/object:Gem::Version
297
- version: '0'
301
+ version: 1.3.1
298
302
  requirements: []
299
303
  rubyforge_project:
300
- rubygems_version: 1.8.23
304
+ rubygems_version: 2.0.3
301
305
  signing_key:
302
- specification_version: 3
306
+ specification_version: 4
303
307
  summary: RubyMotion wrappers and helpers (Ruby for iOS) - Making Cocoa APIs more Ruby
304
308
  like, one API at a time. Fork away and send your pull request.
305
309
  test_files:
@@ -322,12 +326,14 @@ test_files:
322
326
  - spec/motion/core/persistence_spec.rb
323
327
  - spec/motion/core/string_spec.rb
324
328
  - spec/motion/core/time_spec.rb
329
+ - spec/motion/core/ui_bar_button_item_spec.rb
325
330
  - spec/motion/core/ui_control_spec.rb
326
331
  - spec/motion/core_spec.rb
332
+ - spec/motion/font/font_spec.rb
327
333
  - spec/motion/http_spec.rb
328
334
  - spec/motion/location/location_spec.rb
329
335
  - spec/motion/media/player_spec.rb
330
336
  - spec/motion/reactor/eventable_spec.rb
331
337
  - spec/motion/reactor_spec.rb
332
338
  - spec/motion/rss_parser_spec.rb
333
- has_rdoc:
339
+ - spec/motion/util/constants_spec.rb