facebook-stub 0.0.1.13 → 0.0.1.14

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/bin/facebook-stub.js CHANGED
@@ -56,10 +56,11 @@
56
56
  }
57
57
 
58
58
  // simulate prompt to login
59
- function promptToLogin(options, callback) {
59
+ function promptToLogin(options, callback, skipConnection) {
60
60
  FBWorld.beingPromptedToLogin = true;
61
61
  FBWorld.beingPromptedToLoginOptions = options;
62
62
  FBWorld.beingPromptedToLoginCallback = callback;
63
+ FBWorld.beingPromptedToLoginSkipConnection = skipConnection
63
64
  }
64
65
 
65
66
  // simulates resolving a login prompt in one of three ways
@@ -78,12 +79,13 @@
78
79
  FBWorld.setUid(facebook_uid);
79
80
  FBWorld.loggedIn();
80
81
 
81
- if (!FBWorld.state('connected')) {
82
+ if (!FBWorld.beingPromptedToLoginSkipConnection && !FBWorld.state('connected')) {
82
83
  promptToConnect(options, callback);
83
84
  } else {
84
85
  setPermissions(options.scope);
85
86
  callback(getStatus());
86
87
  }
88
+ FBWorld.beingPromptedToLoginSkipConnection = false;
87
89
 
88
90
  } else {
89
91
  FBWorld.notLoggedIn();
@@ -368,11 +370,19 @@
368
370
  // sharing
369
371
 
370
372
  function ui(options, callback) {
371
- if (options.method === 'feed'){
372
- FBWorld.beingPromptedToShare = true;
373
- FBWorld.beingPromptedToShareOptions = options;
374
- FBWorld.beingPromptedToShareCallback = callback;
373
+ if (FBWorld.state('loggedIn')) {
374
+ if (options.method === 'feed'){
375
+ FBWorld.beingPromptedToShare = true;
376
+ FBWorld.beingPromptedToShareOptions = options;
377
+ FBWorld.beingPromptedToShareCallback = callback;
378
+ }
379
+ }else{
380
+ // if not logged in, prompt to login without connecting to app
381
+ promptToLogin(options, function() {
382
+ FB.ui(options, callback);
383
+ }, true);
375
384
  }
385
+
376
386
  }
377
387
 
378
388
  // simulate closing the share prompt by either sharing or canceling
@@ -401,6 +411,7 @@
401
411
  FBWorld.beingPromptedToLogin = false;
402
412
  FBWorld.beingPromptedToLoginOptions = undefined;
403
413
  FBWorld.beingPromptedToLoginCallback = undefined;
414
+ FBWorld.beingPromptedToLoginSkipConnection = false;
404
415
  FBWorld.beingPromptedToConnect = false;
405
416
  FBWorld.beingPromptedToConnectOptions = undefined;
406
417
  FBWorld.beingPromptedToConnectCallback = undefined;
@@ -459,6 +470,7 @@
459
470
  beingPromptedToLogin : false,
460
471
  beingPromptedToLoginOptions : undefined,
461
472
  beingPromptedToLoginCallback : undefined,
473
+ beingPromptedToLoginSkipConnection : false,
462
474
  successfullyLogin : successfullyLogin,
463
475
  failToLogin : failToLogin,
464
476
  cancelLogin : cancelLogin,
@@ -56,10 +56,11 @@
56
56
  }
57
57
 
58
58
  // simulate prompt to login
59
- function promptToLogin(options, callback) {
59
+ function promptToLogin(options, callback, skipConnection) {
60
60
  FBWorld.beingPromptedToLogin = true;
61
61
  FBWorld.beingPromptedToLoginOptions = options;
62
62
  FBWorld.beingPromptedToLoginCallback = callback;
63
+ FBWorld.beingPromptedToLoginSkipConnection = skipConnection
63
64
  }
64
65
 
65
66
  // simulates resolving a login prompt in one of three ways
@@ -78,12 +79,13 @@
78
79
  FBWorld.setUid(facebook_uid);
79
80
  FBWorld.loggedIn();
80
81
 
81
- if (!FBWorld.state('connected')) {
82
+ if (!FBWorld.beingPromptedToLoginSkipConnection && !FBWorld.state('connected')) {
82
83
  promptToConnect(options, callback);
83
84
  } else {
84
85
  setPermissions(options.scope);
85
86
  callback(getStatus());
86
87
  }
88
+ FBWorld.beingPromptedToLoginSkipConnection = false;
87
89
 
88
90
  } else {
89
91
  FBWorld.notLoggedIn();
@@ -368,11 +370,19 @@
368
370
  // sharing
369
371
 
370
372
  function ui(options, callback) {
371
- if (options.method === 'feed'){
372
- FBWorld.beingPromptedToShare = true;
373
- FBWorld.beingPromptedToShareOptions = options;
374
- FBWorld.beingPromptedToShareCallback = callback;
373
+ if (FBWorld.state('loggedIn')) {
374
+ if (options.method === 'feed'){
375
+ FBWorld.beingPromptedToShare = true;
376
+ FBWorld.beingPromptedToShareOptions = options;
377
+ FBWorld.beingPromptedToShareCallback = callback;
378
+ }
379
+ }else{
380
+ // if not logged in, prompt to login without connecting to app
381
+ promptToLogin(options, function() {
382
+ FB.ui(options, callback);
383
+ }, true);
375
384
  }
385
+
376
386
  }
377
387
 
378
388
  // simulate closing the share prompt by either sharing or canceling
@@ -401,6 +411,7 @@
401
411
  FBWorld.beingPromptedToLogin = false;
402
412
  FBWorld.beingPromptedToLoginOptions = undefined;
403
413
  FBWorld.beingPromptedToLoginCallback = undefined;
414
+ FBWorld.beingPromptedToLoginSkipConnection = false;
404
415
  FBWorld.beingPromptedToConnect = false;
405
416
  FBWorld.beingPromptedToConnectOptions = undefined;
406
417
  FBWorld.beingPromptedToConnectCallback = undefined;
@@ -459,6 +470,7 @@
459
470
  beingPromptedToLogin : false,
460
471
  beingPromptedToLoginOptions : undefined,
461
472
  beingPromptedToLoginCallback : undefined,
473
+ beingPromptedToLoginSkipConnection : false,
462
474
  successfullyLogin : successfullyLogin,
463
475
  failToLogin : failToLogin,
464
476
  cancelLogin : cancelLogin,
@@ -1,3 +1,3 @@
1
1
  module FacebookStub
2
- VERSION = "0.0.1.13"
2
+ VERSION = "0.0.1.14"
3
3
  end
@@ -0,0 +1,37 @@
1
+ describe("FB.ui", function() {
2
+ beforeEach(function() {
3
+ setup();
4
+ });
5
+
6
+ afterEach(function() {
7
+ FBWorld.reset();
8
+ });
9
+
10
+ describe("when calling with {method: 'feed'}", function() {
11
+ describe("when loggedIn", function() {
12
+
13
+ beforeEach(function() {
14
+ FBWorld.loggedIn();
15
+ });
16
+
17
+ it("should set me to beingPromptedToShare", function() {
18
+ FB.ui({method: 'feed'});
19
+ expect(FBWorld.beingPromptedToShare).toBeTruthy();
20
+ });
21
+ });
22
+
23
+ describe("when not loggedIn", function () {
24
+ it("should set me to beingPromptedToLogin", function() {
25
+ FB.ui({method: 'feed'});
26
+ expect(FBWorld.beingPromptedToLogin).toBeTruthy();
27
+ expect(FBWorld.beingPromptedToShare).toBeFalsy();
28
+
29
+ FBWorld.successfullyLogin(Math.floor(Math.random() * 100000));
30
+
31
+ expect(FBWorld.beingPromptedToShare).toBeTruthy();
32
+
33
+ });
34
+ });
35
+ });
36
+
37
+ });
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: facebook-stub
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.13
4
+ version: 0.0.1.14
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-05-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: debugger
16
- requirement: !ruby/object:Gem::Requirement
16
+ requirement: &70104358544640 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,15 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ! '>='
28
- - !ruby/object:Gem::Version
29
- version: '0'
24
+ version_requirements: *70104358544640
30
25
  - !ruby/object:Gem::Dependency
31
26
  name: sprockets
32
- requirement: !ruby/object:Gem::Requirement
27
+ requirement: &70104358547960 !ruby/object:Gem::Requirement
33
28
  none: false
34
29
  requirements:
35
30
  - - ! '>='
@@ -37,15 +32,10 @@ dependencies:
37
32
  version: '0'
38
33
  type: :development
39
34
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
45
- version: '0'
35
+ version_requirements: *70104358547960
46
36
  - !ruby/object:Gem::Dependency
47
37
  name: rake
48
- requirement: !ruby/object:Gem::Requirement
38
+ requirement: &70104358533100 !ruby/object:Gem::Requirement
49
39
  none: false
50
40
  requirements:
51
41
  - - ! '>='
@@ -53,15 +43,10 @@ dependencies:
53
43
  version: '0'
54
44
  type: :development
55
45
  prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - ! '>='
60
- - !ruby/object:Gem::Version
61
- version: '0'
46
+ version_requirements: *70104358533100
62
47
  - !ruby/object:Gem::Dependency
63
48
  name: sinatra
64
- requirement: !ruby/object:Gem::Requirement
49
+ requirement: &70104358371960 !ruby/object:Gem::Requirement
65
50
  none: false
66
51
  requirements:
67
52
  - - ! '>='
@@ -69,15 +54,10 @@ dependencies:
69
54
  version: '0'
70
55
  type: :development
71
56
  prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ! '>='
76
- - !ruby/object:Gem::Version
77
- version: '0'
57
+ version_requirements: *70104358371960
78
58
  - !ruby/object:Gem::Dependency
79
59
  name: shotgun
80
- requirement: !ruby/object:Gem::Requirement
60
+ requirement: &70104358326520 !ruby/object:Gem::Requirement
81
61
  none: false
82
62
  requirements:
83
63
  - - ! '>='
@@ -85,15 +65,10 @@ dependencies:
85
65
  version: '0'
86
66
  type: :development
87
67
  prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
- requirements:
91
- - - ! '>='
92
- - !ruby/object:Gem::Version
93
- version: '0'
68
+ version_requirements: *70104358326520
94
69
  - !ruby/object:Gem::Dependency
95
70
  name: haml
96
- requirement: !ruby/object:Gem::Requirement
71
+ requirement: &70104358302360 !ruby/object:Gem::Requirement
97
72
  none: false
98
73
  requirements:
99
74
  - - ! '>='
@@ -101,15 +76,10 @@ dependencies:
101
76
  version: '0'
102
77
  type: :development
103
78
  prerelease: false
104
- version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
- requirements:
107
- - - ! '>='
108
- - !ruby/object:Gem::Version
109
- version: '0'
79
+ version_requirements: *70104358302360
110
80
  - !ruby/object:Gem::Dependency
111
81
  name: rspec
112
- requirement: !ruby/object:Gem::Requirement
82
+ requirement: &70104358205460 !ruby/object:Gem::Requirement
113
83
  none: false
114
84
  requirements:
115
85
  - - ! '>='
@@ -117,15 +87,10 @@ dependencies:
117
87
  version: '0'
118
88
  type: :development
119
89
  prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
- requirements:
123
- - - ! '>='
124
- - !ruby/object:Gem::Version
125
- version: '0'
90
+ version_requirements: *70104358205460
126
91
  - !ruby/object:Gem::Dependency
127
92
  name: capybara
128
- requirement: !ruby/object:Gem::Requirement
93
+ requirement: &70104352096940 !ruby/object:Gem::Requirement
129
94
  none: false
130
95
  requirements:
131
96
  - - ! '>='
@@ -133,15 +98,10 @@ dependencies:
133
98
  version: '0'
134
99
  type: :development
135
100
  prerelease: false
136
- version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
- requirements:
139
- - - ! '>='
140
- - !ruby/object:Gem::Version
141
- version: '0'
101
+ version_requirements: *70104352096940
142
102
  - !ruby/object:Gem::Dependency
143
103
  name: jasmine
144
- requirement: !ruby/object:Gem::Requirement
104
+ requirement: &70104352096080 !ruby/object:Gem::Requirement
145
105
  none: false
146
106
  requirements:
147
107
  - - ! '>='
@@ -149,12 +109,7 @@ dependencies:
149
109
  version: '0'
150
110
  type: :development
151
111
  prerelease: false
152
- version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
- requirements:
155
- - - ! '>='
156
- - !ruby/object:Gem::Version
157
- version: '0'
112
+ version_requirements: *70104352096080
158
113
  description: facebook-stub is a gem for stubbing out the Facebook JavaScript API in
159
114
  acceptance and integration tests.
160
115
  email:
@@ -181,7 +136,8 @@ files:
181
136
  - lib/facebook_stub/utf8_encode.js
182
137
  - lib/facebook_stub/version.rb
183
138
  - spec/acceptance/facebook-stub_spec.rb
184
- - spec/javascripts/FacebookStubSpec.js
139
+ - spec/javascripts/FBApiSpec.js
140
+ - spec/javascripts/FBUiSpec.js
185
141
  - spec/javascripts/helpers/SpecHelper.js
186
142
  - spec/javascripts/support/jasmine.yml
187
143
  - spec/javascripts/support/jasmine_config.rb
@@ -204,7 +160,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
204
160
  version: '0'
205
161
  segments:
206
162
  - 0
207
- hash: -3282262625462427927
163
+ hash: 2190103251761564407
208
164
  required_rubygems_version: !ruby/object:Gem::Requirement
209
165
  none: false
210
166
  requirements:
@@ -213,16 +169,17 @@ required_rubygems_version: !ruby/object:Gem::Requirement
213
169
  version: '0'
214
170
  segments:
215
171
  - 0
216
- hash: -3282262625462427927
172
+ hash: 2190103251761564407
217
173
  requirements: []
218
174
  rubyforge_project: facebook-stub
219
- rubygems_version: 1.8.21
175
+ rubygems_version: 1.8.11
220
176
  signing_key:
221
177
  specification_version: 3
222
178
  summary: Stub out the FB JS API
223
179
  test_files:
224
180
  - spec/acceptance/facebook-stub_spec.rb
225
- - spec/javascripts/FacebookStubSpec.js
181
+ - spec/javascripts/FBApiSpec.js
182
+ - spec/javascripts/FBUiSpec.js
226
183
  - spec/javascripts/helpers/SpecHelper.js
227
184
  - spec/javascripts/support/jasmine.yml
228
185
  - spec/javascripts/support/jasmine_config.rb