robut-rdio 0.1.0 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,28 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ describe Robut::Plugin::Rdio::Server do
4
+ include Rack::Test::Methods
5
+
6
+ def app
7
+ @app ||= Robut::Plugin::Rdio::Server
8
+ end
9
+
10
+ it 'should render a web player' do
11
+ get '/'
12
+ last_response.should be_ok
13
+ last_response.body.should include '<div id="apiswf"></div>'
14
+ end
15
+
16
+ it 'should be able to tell HipChat what song is playing' do
17
+ Robut::Plugin::Rdio::Server.state_callback = lambda{ |message| @message = message }
18
+ get '/now_playing/The%20National%20-%20Bloodbuzz%20Ohio'
19
+ last_response.should be_ok
20
+ @message.should == 'is now playing: The National - Bloodbuzz Ohio'
21
+ end
22
+
23
+ it 'should degrade gracefully if a reply_callback has not been defined' do
24
+ Robut::Plugin::Rdio::Server.reply_callback = nil
25
+ get '/now_playing/Foo'
26
+ last_response.should be_ok
27
+ end
28
+ end
data/spec/spec_helper.rb CHANGED
@@ -2,6 +2,7 @@ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
2
  $LOAD_PATH.unshift(File.dirname(__FILE__))
3
3
  require 'rspec'
4
4
  require 'robut-rdio'
5
+ require 'rack/test'
5
6
 
6
7
  # Requires supporting files with custom matchers and macros, etc,
7
8
  # in ./support/ and its subdirectories.
@@ -0,0 +1,47 @@
1
+ #
2
+ # A routing method has valid/invalid input. This shared example is used by
3
+ # all of ther routing methods.
4
+ #
5
+ shared_examples "a routing method" do
6
+
7
+ context "when given valid requests" do
8
+
9
+ it "should return a truthy value" do
10
+ routing_method = example.metadata[:method]
11
+
12
+ valid_requests.each do |request|
13
+ subject.send(routing_method,request).should be_true, "expected the Request '#{request}' (#{request.class}) to be valid"
14
+ end
15
+
16
+ end
17
+
18
+ end
19
+
20
+ context "when given invalid requests" do
21
+
22
+ it "should return a falsy value" do
23
+ routing_method = example.metadata[:method]
24
+
25
+ invalid_requests.each do |request|
26
+ subject.send(routing_method,request).should be_false, "expected the Request '#{request}' (#{request.class}) to be invalid"
27
+ end
28
+
29
+ end
30
+
31
+ end
32
+
33
+ end
34
+
35
+
36
+ shared_examples "a successfully routed action" do |parameters|
37
+
38
+ it "should route the request to the correct action with the correct parameters" do
39
+
40
+ # TODO I have forgotten how to set up an expectation without replacing the original method result
41
+ # subject.should_receive(parameters[:route]).once
42
+ subject.should_receive(parameters[:action]).with(*parameters[:parameters]).and_return(parameters[:returning])
43
+ subject.handle(time,sender,message)
44
+
45
+ end
46
+
47
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: robut-rdio
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-11-10 00:00:00.000000000Z
12
+ date: 2011-12-08 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: robut
16
- requirement: &70225959595020 !ruby/object:Gem::Requirement
16
+ requirement: &70166568367240 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,32 +21,54 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70225959595020
24
+ version_requirements: *70166568367240
25
+ - !ruby/object:Gem::Dependency
26
+ name: rdio
27
+ requirement: &70166568366700 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - =
31
+ - !ruby/object:Gem::Version
32
+ version: 0.0.91
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *70166568366700
36
+ - !ruby/object:Gem::Dependency
37
+ name: sinatra
38
+ requirement: &70166568366180 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :runtime
45
+ prerelease: false
46
+ version_requirements: *70166568366180
25
47
  - !ruby/object:Gem::Dependency
26
48
  name: thin
27
- requirement: &70225959594500 !ruby/object:Gem::Requirement
49
+ requirement: &70166568365700 !ruby/object:Gem::Requirement
28
50
  none: false
29
51
  requirements:
30
52
  - - ! '>='
31
53
  - !ruby/object:Gem::Version
32
54
  version: '0'
33
- type: :development
55
+ type: :runtime
34
56
  prerelease: false
35
- version_requirements: *70225959594500
57
+ version_requirements: *70166568365700
36
58
  - !ruby/object:Gem::Dependency
37
59
  name: rspec
38
- requirement: &70225959593940 !ruby/object:Gem::Requirement
60
+ requirement: &70166568365200 !ruby/object:Gem::Requirement
39
61
  none: false
40
62
  requirements:
41
- - - ~>
63
+ - - ! '>='
42
64
  - !ruby/object:Gem::Version
43
- version: 2.3.0
65
+ version: '0'
44
66
  type: :development
45
67
  prerelease: false
46
- version_requirements: *70225959593940
68
+ version_requirements: *70166568365200
47
69
  - !ruby/object:Gem::Dependency
48
70
  name: bundler
49
- requirement: &70225959593440 !ruby/object:Gem::Requirement
71
+ requirement: &70166568364680 !ruby/object:Gem::Requirement
50
72
  none: false
51
73
  requirements:
52
74
  - - ~>
@@ -54,10 +76,10 @@ dependencies:
54
76
  version: 1.0.0
55
77
  type: :development
56
78
  prerelease: false
57
- version_requirements: *70225959593440
79
+ version_requirements: *70166568364680
58
80
  - !ruby/object:Gem::Dependency
59
81
  name: jeweler
60
- requirement: &70225959592960 !ruby/object:Gem::Requirement
82
+ requirement: &70166568364200 !ruby/object:Gem::Requirement
61
83
  none: false
62
84
  requirements:
63
85
  - - ~>
@@ -65,10 +87,10 @@ dependencies:
65
87
  version: 1.6.4
66
88
  type: :development
67
89
  prerelease: false
68
- version_requirements: *70225959592960
90
+ version_requirements: *70166568364200
69
91
  - !ruby/object:Gem::Dependency
70
92
  name: rcov
71
- requirement: &70225959592440 !ruby/object:Gem::Requirement
93
+ requirement: &70166568363720 !ruby/object:Gem::Requirement
72
94
  none: false
73
95
  requirements:
74
96
  - - ! '>='
@@ -76,21 +98,21 @@ dependencies:
76
98
  version: '0'
77
99
  type: :development
78
100
  prerelease: false
79
- version_requirements: *70225959592440
101
+ version_requirements: *70166568363720
80
102
  - !ruby/object:Gem::Dependency
81
- name: rdio
82
- requirement: &70225959591920 !ruby/object:Gem::Requirement
103
+ name: highline
104
+ requirement: &70166568363220 !ruby/object:Gem::Requirement
83
105
  none: false
84
106
  requirements:
85
- - - =
107
+ - - ! '>='
86
108
  - !ruby/object:Gem::Version
87
- version: 0.0.91
109
+ version: '0'
88
110
  type: :development
89
111
  prerelease: false
90
- version_requirements: *70225959591920
112
+ version_requirements: *70166568363220
91
113
  - !ruby/object:Gem::Dependency
92
- name: sinatra
93
- requirement: &70225959591380 !ruby/object:Gem::Requirement
114
+ name: guard
115
+ requirement: &70166568362700 !ruby/object:Gem::Requirement
94
116
  none: false
95
117
  requirements:
96
118
  - - ! '>='
@@ -98,10 +120,21 @@ dependencies:
98
120
  version: '0'
99
121
  type: :development
100
122
  prerelease: false
101
- version_requirements: *70225959591380
123
+ version_requirements: *70166568362700
102
124
  - !ruby/object:Gem::Dependency
103
- name: highline
104
- requirement: &70225959590900 !ruby/object:Gem::Requirement
125
+ name: guard-rspec
126
+ requirement: &70166568362160 !ruby/object:Gem::Requirement
127
+ none: false
128
+ requirements:
129
+ - - ! '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: *70166568362160
135
+ - !ruby/object:Gem::Dependency
136
+ name: ruby-debug19
137
+ requirement: &70166568331120 !ruby/object:Gem::Requirement
105
138
  none: false
106
139
  requirements:
107
140
  - - ! '>='
@@ -109,7 +142,7 @@ dependencies:
109
142
  version: '0'
110
143
  type: :development
111
144
  prerelease: false
112
- version_requirements: *70225959590900
145
+ version_requirements: *70166568331120
113
146
  description: ''
114
147
  email: ampearson@gmail.com
115
148
  executables: []
@@ -117,16 +150,16 @@ extensions: []
117
150
  extra_rdoc_files:
118
151
  - LICENSE.txt
119
152
  - README.md
120
- - README.rdoc
121
153
  files:
122
154
  - .document
123
155
  - .rspec
124
156
  - .rvmrc
157
+ - CHANGELOG.md
125
158
  - Gemfile
126
159
  - Gemfile.lock
160
+ - Guardfile
127
161
  - LICENSE.txt
128
162
  - README.md
129
- - README.rdoc
130
163
  - Rakefile
131
164
  - VERSION
132
165
  - lib/robut-rdio.rb
@@ -134,6 +167,12 @@ files:
134
167
  - lib/server/public/css/style.css
135
168
  - lib/server/public/css/style_after.css
136
169
  - lib/server/public/images/background.png
170
+ - lib/server/public/images/buffering.png
171
+ - lib/server/public/images/circle-east.png
172
+ - lib/server/public/images/circle-pause.png
173
+ - lib/server/public/images/circle-play.png
174
+ - lib/server/public/images/circle-stop.png
175
+ - lib/server/public/images/disconnected.png
137
176
  - lib/server/public/images/no-album.png
138
177
  - lib/server/public/index.html
139
178
  - lib/server/public/js/libs/dd_belatedpng.js
@@ -145,8 +184,11 @@ files:
145
184
  - lib/tasks/shell.rake
146
185
  - plugin-tester.rb
147
186
  - robut-rdio.gemspec
187
+ - spec/integration/robut-rdio_spec.rb
148
188
  - spec/robut-rdio_spec.rb
189
+ - spec/server_spec.rb
149
190
  - spec/spec_helper.rb
191
+ - spec/support/shared_examples.rb
150
192
  homepage: http://github.com/radamant/robut-rdio
151
193
  licenses:
152
194
  - MIT
@@ -162,7 +204,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
162
204
  version: '0'
163
205
  segments:
164
206
  - 0
165
- hash: 1997263942340461692
207
+ hash: -2125228418615372686
166
208
  required_rubygems_version: !ruby/object:Gem::Requirement
167
209
  none: false
168
210
  requirements:
data/README.rdoc DELETED
@@ -1,19 +0,0 @@
1
- = robut-rdio
2
-
3
- Description goes here.
4
-
5
- == Contributing to robut-rdio
6
-
7
- * Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
8
- * Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
9
- * Fork the project
10
- * Start a feature/bugfix branch
11
- * Commit and push until you are happy with your contribution
12
- * Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
13
- * Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
14
-
15
- == Copyright
16
-
17
- Copyright (c) 2011 Adam Pearson. See LICENSE.txt for
18
- further details.
19
-