facebook-stub 0.0.1.4 → 0.0.1.6
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.
- data/.gitignore +1 -0
- data/.rspec +2 -0
- data/Rakefile +23 -0
- data/facebook-stub.gemspec +12 -4
- data/lib/facebook-stub.js +5 -0
- data/lib/facebook-stub.rb +1 -54
- data/lib/facebook_stub.rb +55 -0
- data/{src/libs → lib/facebook_stub}/base64_encode.js +0 -0
- data/{src/libs → lib/facebook_stub}/cookie.js +0 -0
- data/{src/facebook.js → lib/facebook_stub/core.js} +100 -62
- data/lib/facebook_stub/rails/action_view_helper.rb +10 -0
- data/{src/libs → lib/facebook_stub}/sha256.js +0 -0
- data/{src/libs → lib/facebook_stub}/utf8_encode.js +0 -0
- data/lib/facebook_stub/version.rb +3 -0
- data/spec/acceptance/facebook-stub_spec.rb +301 -0
- data/spec/spec_helper.rb +41 -0
- data/test/config.ru +3 -0
- data/test/server.rb +20 -0
- data/test/views/test.haml +20 -0
- metadata +173 -62
- data/builder/concat +0 -8
- data/facebook-stub.js +0 -707
- data/lib/facebook-stub/rails/action_view_helper.rb +0 -20
- data/lib/facebook-stub/version.rb +0 -5
- data/test/test.html +0 -19
@@ -0,0 +1,10 @@
|
|
1
|
+
module FacebookStub
|
2
|
+
module Rails
|
3
|
+
module ActionViewHelper
|
4
|
+
@@facebook_javascript_stub = nil
|
5
|
+
def include_facebook_stub
|
6
|
+
@@facebook_javascript_stub ||= javascript_tag File.read File.expand_path('../../../../pkg/facebook-stub.js', __FILE__)
|
7
|
+
end
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
File without changes
|
File without changes
|
@@ -0,0 +1,301 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe "facebook-stub.js" do
|
4
|
+
|
5
|
+
def js_exec script
|
6
|
+
page.evaluate_script script
|
7
|
+
end
|
8
|
+
|
9
|
+
def logged_in?
|
10
|
+
js_exec("FBWorld.state('loggedIn')")
|
11
|
+
end
|
12
|
+
|
13
|
+
def being_prompted_to_login?
|
14
|
+
js_exec("FBWorld.beingPromptedToLogin")
|
15
|
+
end
|
16
|
+
|
17
|
+
def login!(options={})
|
18
|
+
js_exec("FB.login(function() {}, #{options.to_json})")
|
19
|
+
end
|
20
|
+
|
21
|
+
def successfully_login!
|
22
|
+
js_exec("FBWorld.successfullyLogin()")
|
23
|
+
end
|
24
|
+
|
25
|
+
def fail_to_login!
|
26
|
+
js_exec("FBWorld.failToLogin()")
|
27
|
+
end
|
28
|
+
|
29
|
+
def cancel_login!
|
30
|
+
js_exec("FBWorld.cancelLogin()")
|
31
|
+
end
|
32
|
+
|
33
|
+
def logged_in!
|
34
|
+
js_exec("FBWorld.loggedIn()")
|
35
|
+
end
|
36
|
+
|
37
|
+
def connected!
|
38
|
+
js_exec("FBWorld.connected()")
|
39
|
+
end
|
40
|
+
|
41
|
+
def connected?
|
42
|
+
js_exec("FBWorld.state('connected')")
|
43
|
+
end
|
44
|
+
|
45
|
+
def being_prompted_to_connect?
|
46
|
+
js_exec("FBWorld.beingPromptedToConnect")
|
47
|
+
end
|
48
|
+
|
49
|
+
def accept_prompt_to_connect!
|
50
|
+
js_exec("FBWorld.acceptPromptToConnect()")
|
51
|
+
end
|
52
|
+
|
53
|
+
def cancel_prompt_to_connect!
|
54
|
+
js_exec("FBWorld.cancelPromptToConnect()")
|
55
|
+
end
|
56
|
+
|
57
|
+
def deny_prompt_to_connect!
|
58
|
+
js_exec("FBWorld.cancelPromptToConnect()")
|
59
|
+
end
|
60
|
+
|
61
|
+
def being_prompted_to_add_permissions?
|
62
|
+
js_exec("FBWorld.beingPromptedToAddPermissions")
|
63
|
+
end
|
64
|
+
|
65
|
+
def being_prompted_to_add_these_permissions?(perms)
|
66
|
+
js_exec("FBWorld.beingPromptedToAddThesePermissions('#{perms}')")
|
67
|
+
end
|
68
|
+
|
69
|
+
def accept_prompt_to_add_permissions!(perms=nil)
|
70
|
+
if perms
|
71
|
+
js_exec("FBWorld.acceptPromptToAddPermissions('#{perms}')")
|
72
|
+
else
|
73
|
+
js_exec("FBWorld.acceptPromptToAddPermissions()")
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
def skip_prompt_to_add_permissions!
|
78
|
+
js_exec("FBWorld.skipPromptToAddPermissions()")
|
79
|
+
end
|
80
|
+
|
81
|
+
def has_permissions?(perms)
|
82
|
+
js_exec("FBWorld.hasPermissions('#{perms}')")
|
83
|
+
end
|
84
|
+
|
85
|
+
describe "logging into facebook" do
|
86
|
+
|
87
|
+
before do
|
88
|
+
visit '/'
|
89
|
+
logged_in?.should be_false
|
90
|
+
being_prompted_to_login?.should be_false
|
91
|
+
login!
|
92
|
+
end
|
93
|
+
|
94
|
+
it "should simulate a login prompt" do
|
95
|
+
being_prompted_to_login?.should be_true
|
96
|
+
end
|
97
|
+
|
98
|
+
context "when I call FBWorld.successfullyLogin()" do
|
99
|
+
before{ successfully_login! }
|
100
|
+
it "should make FBWorld.state('loggedIn') true" do
|
101
|
+
being_prompted_to_login?.should be_false
|
102
|
+
logged_in?.should be_true
|
103
|
+
visit '/'
|
104
|
+
logged_in?.should be_true
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
context "when I call FBWorld.cancelLogin()" do
|
109
|
+
before{ cancel_login! }
|
110
|
+
it "should make FBWorld.state('loggedIn') false" do
|
111
|
+
being_prompted_to_login?.should be_false
|
112
|
+
logged_in?.should be_false
|
113
|
+
visit '/'
|
114
|
+
logged_in?.should be_false
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
118
|
+
context "when I call FBWorld.failToLogin()" do
|
119
|
+
before{ fail_to_login! }
|
120
|
+
it "should make FBWorld.state('loggedIn') false" do
|
121
|
+
being_prompted_to_login?.should be_false
|
122
|
+
logged_in?.should be_false
|
123
|
+
visit '/'
|
124
|
+
logged_in?.should be_false
|
125
|
+
end
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
129
|
+
describe "connecting to facebook" do
|
130
|
+
context "when I try login to facebook" do
|
131
|
+
before do
|
132
|
+
visit '/'
|
133
|
+
logged_in!
|
134
|
+
logged_in?.should be_true
|
135
|
+
end
|
136
|
+
|
137
|
+
context "I should see simulated connect dialogs" do
|
138
|
+
before do
|
139
|
+
connected?.should be_false
|
140
|
+
being_prompted_to_connect?.should be_false
|
141
|
+
login!
|
142
|
+
logged_in?.should be_true
|
143
|
+
being_prompted_to_connect?.should be_true
|
144
|
+
end
|
145
|
+
|
146
|
+
context "when I call FBWorld.acceptPromptToConnect()" do
|
147
|
+
before { accept_prompt_to_connect! }
|
148
|
+
it "should make FBWorld.state('connected') true" do
|
149
|
+
being_prompted_to_connect?.should be_false
|
150
|
+
connected?.should be_true
|
151
|
+
visit '/'
|
152
|
+
connected?.should be_true
|
153
|
+
end
|
154
|
+
end
|
155
|
+
|
156
|
+
context "when I call FBWorld.cancelPromptToConnect()" do
|
157
|
+
before { cancel_prompt_to_connect! }
|
158
|
+
it "should make FBWorld.state('connected') false" do
|
159
|
+
being_prompted_to_connect?.should be_false
|
160
|
+
connected?.should be_false
|
161
|
+
visit '/'
|
162
|
+
connected?.should be_false
|
163
|
+
end
|
164
|
+
end
|
165
|
+
|
166
|
+
context "when I call FBWorld.denyPromptToConnect()" do
|
167
|
+
before { deny_prompt_to_connect! }
|
168
|
+
it "should make FBWorld.state('connected') false" do
|
169
|
+
being_prompted_to_connect?.should be_false
|
170
|
+
connected?.should be_false
|
171
|
+
visit '/'
|
172
|
+
connected?.should be_false
|
173
|
+
end
|
174
|
+
end
|
175
|
+
end
|
176
|
+
end
|
177
|
+
end
|
178
|
+
|
179
|
+
describe "adding permissions after being logged in and connected" do
|
180
|
+
|
181
|
+
before do
|
182
|
+
visit '/'
|
183
|
+
logged_in?.should be_false
|
184
|
+
being_prompted_to_login?.should be_false
|
185
|
+
logged_in!
|
186
|
+
connected!
|
187
|
+
end
|
188
|
+
|
189
|
+
context "when I call FB.login with more permissions" do
|
190
|
+
before do
|
191
|
+
login! :scope => 'perm1,perm2'
|
192
|
+
end
|
193
|
+
|
194
|
+
it "should make FBWorld.beingPromptedToAddThesePermissions('perm1') return true" do
|
195
|
+
being_prompted_to_add_these_permissions?('perm1,perm2').should be_true
|
196
|
+
end
|
197
|
+
|
198
|
+
context "when I call FBWorld.acceptPromptToAddPermissions and accept partial permissions" do
|
199
|
+
before do
|
200
|
+
accept_prompt_to_add_permissions! 'perm1'
|
201
|
+
end
|
202
|
+
|
203
|
+
it "should make hasPermissions('perm1') return true and hasPermissions('perm2') return false" do
|
204
|
+
has_permissions?('perm1').should be_true
|
205
|
+
has_permissions?('perm2').should be_false
|
206
|
+
end
|
207
|
+
|
208
|
+
context "when I call FB.login with more permissions than accepted and the previous accepted permissions" do
|
209
|
+
before do
|
210
|
+
login! :scope => 'perm1,perm2'
|
211
|
+
end
|
212
|
+
|
213
|
+
it "should make FBWorld.beingPromptedToAddThesePermissions('perm2') return true" do
|
214
|
+
being_prompted_to_add_these_permissions?('perm2').should be_true
|
215
|
+
end
|
216
|
+
|
217
|
+
context "when I call FBWorld.acceptPromptToAddPermissions and accept partial permissions" do
|
218
|
+
before do
|
219
|
+
accept_prompt_to_add_permissions! 'perm2'
|
220
|
+
end
|
221
|
+
|
222
|
+
it "should make hasPermissions('perm1,perm2') return true" do
|
223
|
+
has_permissions?('perm1,perm2').should be_true
|
224
|
+
end
|
225
|
+
|
226
|
+
end
|
227
|
+
end
|
228
|
+
|
229
|
+
context "when I call FB.login with more permissions than accepted" do
|
230
|
+
before do
|
231
|
+
login! :scope => 'perm2'
|
232
|
+
end
|
233
|
+
|
234
|
+
it "should make FBWorld.beingPromptedToAddThesePermissions('perm2') return true" do
|
235
|
+
being_prompted_to_add_these_permissions?('perm2').should be_true
|
236
|
+
end
|
237
|
+
|
238
|
+
context "when I call FBWorld.acceptPromptToAddPermissions and accept partial permissions" do
|
239
|
+
before do
|
240
|
+
accept_prompt_to_add_permissions! 'perm2'
|
241
|
+
end
|
242
|
+
|
243
|
+
it "should make hasPermissions('perm1,perm2') return true" do
|
244
|
+
has_permissions?('perm1,perm2').should be_true
|
245
|
+
end
|
246
|
+
|
247
|
+
end
|
248
|
+
end
|
249
|
+
|
250
|
+
end
|
251
|
+
|
252
|
+
context "when I call FBWorld.acceptPromptToAddPermissions to accept all permissions" do
|
253
|
+
before do
|
254
|
+
accept_prompt_to_add_permissions!
|
255
|
+
end
|
256
|
+
|
257
|
+
it "should make FBWorld.hasPermissions('perm1,perm2') return true" do
|
258
|
+
has_permissions?('perm1,perm2').should be_true
|
259
|
+
end
|
260
|
+
|
261
|
+
context "when I call FB.login again" do
|
262
|
+
before do
|
263
|
+
login! :scope => "perm1,perm2"
|
264
|
+
end
|
265
|
+
|
266
|
+
it "should make call to FBWorld.beingPromptedToAddPermissions return false" do
|
267
|
+
being_prompted_to_add_permissions?.should be_false
|
268
|
+
end
|
269
|
+
end
|
270
|
+
end
|
271
|
+
|
272
|
+
context "when I call FBWorld.skipPromptToAddPermissions to skip permissions" do
|
273
|
+
before do
|
274
|
+
skip_prompt_to_add_permissions!
|
275
|
+
end
|
276
|
+
|
277
|
+
it "should make FBWorld.beingPromptedToAddThesePermissions('perm1,perm2') return false" do
|
278
|
+
being_prompted_to_add_these_permissions?('perm1,perm2').should be_false
|
279
|
+
end
|
280
|
+
|
281
|
+
it "should make FBWorld.hasPermissions('perm1,perm2') return false" do
|
282
|
+
has_permissions?('perm1,perm2').should be_false
|
283
|
+
has_permissions?('perm1').should be_false
|
284
|
+
has_permissions?('perm2').should be_false
|
285
|
+
end
|
286
|
+
|
287
|
+
context "when I call FB.login again" do
|
288
|
+
before do
|
289
|
+
login! :scope => 'perm1,perm2'
|
290
|
+
end
|
291
|
+
|
292
|
+
it "should make FBWorld.beingPromptedToAddThesePermissions('perm1,perm2') return false" do
|
293
|
+
being_prompted_to_add_these_permissions?('perm1,perm2').should be_true
|
294
|
+
end
|
295
|
+
end
|
296
|
+
|
297
|
+
end
|
298
|
+
|
299
|
+
end
|
300
|
+
end
|
301
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
# This file was generated by the `rspec --init` command. Conventionally, all
|
2
|
+
# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
|
3
|
+
# Require this file using `require "spec_helper.rb"` to ensure that it is only
|
4
|
+
# loaded once.
|
5
|
+
#
|
6
|
+
# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
|
7
|
+
|
8
|
+
$: << File.expand_path('../../lib', __FILE__)
|
9
|
+
|
10
|
+
require 'capybara'
|
11
|
+
require 'capybara/dsl'
|
12
|
+
require 'capybara/rspec'
|
13
|
+
|
14
|
+
require 'ruby-debug'
|
15
|
+
require File.expand_path('../../test/server', __FILE__)
|
16
|
+
|
17
|
+
Capybara.configure do |config|
|
18
|
+
|
19
|
+
config.register_driver :selenium_firefox do |app|
|
20
|
+
Capybara::Selenium::Driver.new(app, :browser => :firefox, :resynchronization_timeout => 20)
|
21
|
+
end
|
22
|
+
|
23
|
+
config.register_driver :selenium_chrome do |app|
|
24
|
+
Capybara::Selenium::Driver.new(app, :browser => :chrome, :resynchronization_timeout => 20)
|
25
|
+
end
|
26
|
+
|
27
|
+
config.app = TestServer
|
28
|
+
config.run_server = true
|
29
|
+
# config.server {|app, port| Capybara.run_default_server(app, port) }
|
30
|
+
config.default_driver = :selenium_chrome
|
31
|
+
config.javascript_driver = :selenium_chrome
|
32
|
+
config.default_selector = :css
|
33
|
+
config.ignore_hidden_elements = true
|
34
|
+
end
|
35
|
+
|
36
|
+
RSpec.configure do |config|
|
37
|
+
config.treat_symbols_as_metadata_keys_with_true_values = true
|
38
|
+
config.run_all_when_everything_filtered = true
|
39
|
+
config.filter_run :focus
|
40
|
+
config.include Capybara::DSL
|
41
|
+
end
|
data/test/config.ru
ADDED
data/test/server.rb
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'sinatra/base'
|
2
|
+
require 'haml'
|
3
|
+
|
4
|
+
class TestServer < Sinatra::Base
|
5
|
+
|
6
|
+
ROOT = Pathname.new(File.expand_path('../..', __FILE__))
|
7
|
+
VIEWS = ROOT + "test/views"
|
8
|
+
|
9
|
+
set :views, VIEWS
|
10
|
+
|
11
|
+
get '/javascripts/facebook-stub.js' do
|
12
|
+
response['Content-Type'] = "application/javascript"
|
13
|
+
File.read ROOT + 'pkg/facebook-stub.js'
|
14
|
+
end
|
15
|
+
|
16
|
+
get '/' do
|
17
|
+
haml :test
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
!!!
|
2
|
+
%html
|
3
|
+
%head
|
4
|
+
%meta{:charset => "utf-8"}
|
5
|
+
%title Facebook Stub Test
|
6
|
+
%script{:src => "/javascripts/facebook-stub.js", :type => "text/javascript"}
|
7
|
+
:javascript
|
8
|
+
|
9
|
+
FBWorld.setSecret('00000000000000000000000000000000');
|
10
|
+
|
11
|
+
FB.init({
|
12
|
+
appId : '000000000000000',
|
13
|
+
status : true, // check login status
|
14
|
+
cookie : true, // enable cookies to allow the server to access the session
|
15
|
+
xfbml : false, // parse XFBML
|
16
|
+
channelUrl : '/facebook/channel.html',
|
17
|
+
oauth : true
|
18
|
+
});
|
19
|
+
|
20
|
+
%body
|
metadata
CHANGED
@@ -1,95 +1,206 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: facebook-stub
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1.6
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 0
|
9
|
-
- 1
|
10
|
-
- 4
|
11
|
-
version: 0.0.1.4
|
12
6
|
platform: ruby
|
13
|
-
authors:
|
7
|
+
authors:
|
14
8
|
- Change.org
|
15
9
|
autorequire:
|
16
10
|
bindir: bin
|
17
11
|
cert_chain: []
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
12
|
+
date: 2012-04-19 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: debugger
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :development
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: sprockets
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
22
38
|
type: :development
|
23
39
|
prerelease: false
|
24
|
-
|
25
|
-
none: false
|
26
|
-
requirements:
|
27
|
-
- -
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
|
30
|
-
|
31
|
-
- 0
|
32
|
-
version: "0"
|
33
|
-
version_requirements: *id001
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
34
47
|
name: rake
|
35
|
-
|
36
|
-
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: sinatra
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
type: :development
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: shotgun
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ! '>='
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '0'
|
86
|
+
type: :development
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: haml
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ! '>='
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '0'
|
102
|
+
type: :development
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: rspec
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ! '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: capybara
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
130
|
+
requirements:
|
131
|
+
- - ! '>='
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: '0'
|
134
|
+
type: :development
|
135
|
+
prerelease: false
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ! '>='
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '0'
|
142
|
+
description: facebook-stub is a gem for stubbing out the Facebook JavaScript API in
|
143
|
+
acceptance and integration tests.
|
144
|
+
email:
|
37
145
|
- techops@change.org
|
38
146
|
executables: []
|
39
|
-
|
40
147
|
extensions: []
|
41
|
-
|
42
148
|
extra_rdoc_files: []
|
43
|
-
|
44
|
-
files:
|
149
|
+
files:
|
45
150
|
- .gitignore
|
151
|
+
- .rspec
|
46
152
|
- Gemfile
|
47
153
|
- Rakefile
|
48
154
|
- Readme.md
|
49
|
-
- builder/concat
|
50
155
|
- facebook-stub.gemspec
|
51
|
-
- facebook-stub.js
|
156
|
+
- lib/facebook-stub.js
|
52
157
|
- lib/facebook-stub.rb
|
53
|
-
- lib/
|
54
|
-
- lib/
|
55
|
-
-
|
56
|
-
-
|
57
|
-
-
|
58
|
-
-
|
59
|
-
-
|
60
|
-
-
|
61
|
-
|
158
|
+
- lib/facebook_stub.rb
|
159
|
+
- lib/facebook_stub/base64_encode.js
|
160
|
+
- lib/facebook_stub/cookie.js
|
161
|
+
- lib/facebook_stub/core.js
|
162
|
+
- lib/facebook_stub/rails/action_view_helper.rb
|
163
|
+
- lib/facebook_stub/sha256.js
|
164
|
+
- lib/facebook_stub/utf8_encode.js
|
165
|
+
- lib/facebook_stub/version.rb
|
166
|
+
- spec/acceptance/facebook-stub_spec.rb
|
167
|
+
- spec/spec_helper.rb
|
168
|
+
- test/config.ru
|
169
|
+
- test/server.rb
|
170
|
+
- test/views/test.haml
|
171
|
+
homepage: ''
|
62
172
|
licenses: []
|
63
|
-
|
64
173
|
post_install_message:
|
65
174
|
rdoc_options: []
|
66
|
-
|
67
|
-
require_paths:
|
175
|
+
require_paths:
|
68
176
|
- lib
|
69
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
177
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
70
178
|
none: false
|
71
|
-
requirements:
|
72
|
-
- -
|
73
|
-
- !ruby/object:Gem::Version
|
74
|
-
|
75
|
-
segments:
|
179
|
+
requirements:
|
180
|
+
- - ! '>='
|
181
|
+
- !ruby/object:Gem::Version
|
182
|
+
version: '0'
|
183
|
+
segments:
|
76
184
|
- 0
|
77
|
-
|
78
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
185
|
+
hash: 3582845831125202795
|
186
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
79
187
|
none: false
|
80
|
-
requirements:
|
81
|
-
- -
|
82
|
-
- !ruby/object:Gem::Version
|
83
|
-
|
84
|
-
segments:
|
188
|
+
requirements:
|
189
|
+
- - ! '>='
|
190
|
+
- !ruby/object:Gem::Version
|
191
|
+
version: '0'
|
192
|
+
segments:
|
85
193
|
- 0
|
86
|
-
|
194
|
+
hash: 3582845831125202795
|
87
195
|
requirements: []
|
88
|
-
|
89
196
|
rubyforge_project: facebook-stub
|
90
|
-
rubygems_version: 1.8.
|
197
|
+
rubygems_version: 1.8.21
|
91
198
|
signing_key:
|
92
199
|
specification_version: 3
|
93
200
|
summary: Stub out the FB JS API
|
94
|
-
test_files:
|
95
|
-
-
|
201
|
+
test_files:
|
202
|
+
- spec/acceptance/facebook-stub_spec.rb
|
203
|
+
- spec/spec_helper.rb
|
204
|
+
- test/config.ru
|
205
|
+
- test/server.rb
|
206
|
+
- test/views/test.haml
|