facebook-stub 0.0.1.14 → 0.0.1.15

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
@@ -269,12 +269,20 @@
269
269
  perms = {data:[theState.perms.data]};
270
270
  callback(perms);
271
271
  } else if(/\/.+\/feed/.test(path) && method == 'post') { // /me/feed or /123/feed
272
- callback({id: Math.floor(Math.random() * 100000)});
272
+ FBWorld.posted({path: path, params: params});
273
+ callback({id: randomPostId()});
274
+ } else if(/\/me\/.+:.+/.test(path) && method == 'post') {
275
+ FBWorld.posted({path: path, params: params});
276
+ callback({id: randomPostId()});
273
277
  } else {
274
278
  callback(apiFailMessage(path));
275
279
  }
276
280
  }
277
281
 
282
+ function randomPostId() {
283
+ return Math.floor(Math.random() * 100000);
284
+ }
285
+
278
286
  function apiUnconnectedMessage() {
279
287
  return {
280
288
  "error": {
@@ -426,12 +434,34 @@
426
434
  FBWorld.Helpers.makeMeACookie('fb-stub', null);
427
435
  }
428
436
 
437
+ function posted(){
438
+ var p = state('posted') || [];
439
+ if (arguments.length == 1){
440
+ p.push(arguments[0]);
441
+ }
442
+ state('posted', p);
443
+ return p;
444
+ }
445
+
446
+ // Give list of params posted on path
447
+ function lastPostForPath(path) {
448
+ var results = [];
449
+ var posted = state('posted') || [];
450
+ for (var i = posted.length - 1; i >= 0; i--) {
451
+ var post = posted[i];
452
+ if (post.path == path)
453
+ return post.params;
454
+ }
455
+ return undefined;
456
+ }
457
+
429
458
  var XFBML = {
430
459
  parse: function(element, callback) {
431
460
  callback();
432
461
  }
433
462
  };
434
463
 
464
+
435
465
  FB = { // Emulates the FB API
436
466
  getLoginStatus : getLoginStatus,
437
467
  logout : logout,
@@ -501,7 +531,11 @@
501
531
 
502
532
  //friends
503
533
  addFriend : addFriend,
504
- friendList : friendList
534
+ friendList : friendList,
535
+
536
+ // posted
537
+ posted : posted,
538
+ lastPostForPath : lastPostForPath
505
539
  };
506
540
 
507
541
 
@@ -269,12 +269,20 @@
269
269
  perms = {data:[theState.perms.data]};
270
270
  callback(perms);
271
271
  } else if(/\/.+\/feed/.test(path) && method == 'post') { // /me/feed or /123/feed
272
- callback({id: Math.floor(Math.random() * 100000)});
272
+ FBWorld.posted({path: path, params: params});
273
+ callback({id: randomPostId()});
274
+ } else if(/\/me\/.+:.+/.test(path) && method == 'post') {
275
+ FBWorld.posted({path: path, params: params});
276
+ callback({id: randomPostId()});
273
277
  } else {
274
278
  callback(apiFailMessage(path));
275
279
  }
276
280
  }
277
281
 
282
+ function randomPostId() {
283
+ return Math.floor(Math.random() * 100000);
284
+ }
285
+
278
286
  function apiUnconnectedMessage() {
279
287
  return {
280
288
  "error": {
@@ -426,12 +434,34 @@
426
434
  FBWorld.Helpers.makeMeACookie('fb-stub', null);
427
435
  }
428
436
 
437
+ function posted(){
438
+ var p = state('posted') || [];
439
+ if (arguments.length == 1){
440
+ p.push(arguments[0]);
441
+ }
442
+ state('posted', p);
443
+ return p;
444
+ }
445
+
446
+ // Give list of params posted on path
447
+ function lastPostForPath(path) {
448
+ var results = [];
449
+ var posted = state('posted') || [];
450
+ for (var i = posted.length - 1; i >= 0; i--) {
451
+ var post = posted[i];
452
+ if (post.path == path)
453
+ return post.params;
454
+ }
455
+ return undefined;
456
+ }
457
+
429
458
  var XFBML = {
430
459
  parse: function(element, callback) {
431
460
  callback();
432
461
  }
433
462
  };
434
463
 
464
+
435
465
  FB = { // Emulates the FB API
436
466
  getLoginStatus : getLoginStatus,
437
467
  logout : logout,
@@ -501,7 +531,11 @@
501
531
 
502
532
  //friends
503
533
  addFriend : addFriend,
504
- friendList : friendList
534
+ friendList : friendList,
535
+
536
+ // posted
537
+ posted : posted,
538
+ lastPostForPath : lastPostForPath
505
539
  };
506
540
 
507
541
 
@@ -1,3 +1,3 @@
1
1
  module FacebookStub
2
- VERSION = "0.0.1.14"
2
+ VERSION = "0.0.1.15"
3
3
  end
@@ -66,7 +66,36 @@ describe("FB.api", function() {
66
66
  expect(r.id).toBeDefined();
67
67
  });
68
68
  });
69
+ it("should push onto FBWorld.published", function() {
70
+ var path = '/me/feed';
71
+ var params = {
72
+ bar: 'baz',
73
+ foobar: 'foo'
74
+ };
75
+ FB.api(path, 'post', params, function (r) {
76
+ expect(FBWorld.lastPostForPath(path)).toEqual(params);
77
+ });
78
+ });
69
79
  });
80
+
81
+ describe("when I call FB.api('/me/APP_NAMESPACE:ACTION', 'post', params, callback)", function() {
82
+ it("should callback with a random id", function() {
83
+ FB.api('/me/foo:bar', 'post', {}, function (r) {
84
+ expect(r.id).toBeDefined();
85
+ });
86
+ });
87
+ it("should push onto FBWorld.published", function() {
88
+ var path = '/me/foo:bar';
89
+ var params = {
90
+ bar: 'baz',
91
+ foobar: 'foo'
92
+ };
93
+ FB.api(path, 'post', params, function (r) {
94
+ expect(FBWorld.lastPostForPath(path)).toEqual(params);
95
+ });
96
+ });
97
+ });
98
+
70
99
  });
71
100
 
72
101
  describe("when not connected", function () {
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.14
4
+ version: 0.0.1.15
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: 2012-05-03 00:00:00.000000000 Z
12
+ date: 2012-05-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: debugger
16
- requirement: &70104358544640 !ruby/object:Gem::Requirement
16
+ requirement: &70349102469860 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70104358544640
24
+ version_requirements: *70349102469860
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: sprockets
27
- requirement: &70104358547960 !ruby/object:Gem::Requirement
27
+ requirement: &70349102469440 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70104358547960
35
+ version_requirements: *70349102469440
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rake
38
- requirement: &70104358533100 !ruby/object:Gem::Requirement
38
+ requirement: &70349102511760 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70104358533100
46
+ version_requirements: *70349102511760
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: sinatra
49
- requirement: &70104358371960 !ruby/object:Gem::Requirement
49
+ requirement: &70349102511020 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70104358371960
57
+ version_requirements: *70349102511020
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: shotgun
60
- requirement: &70104358326520 !ruby/object:Gem::Requirement
60
+ requirement: &70349102508840 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70104358326520
68
+ version_requirements: *70349102508840
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: haml
71
- requirement: &70104358302360 !ruby/object:Gem::Requirement
71
+ requirement: &70349102506340 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70104358302360
79
+ version_requirements: *70349102506340
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: rspec
82
- requirement: &70104358205460 !ruby/object:Gem::Requirement
82
+ requirement: &70349102505000 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: '0'
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *70104358205460
90
+ version_requirements: *70349102505000
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: capybara
93
- requirement: &70104352096940 !ruby/object:Gem::Requirement
93
+ requirement: &70349102504580 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: '0'
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *70104352096940
101
+ version_requirements: *70349102504580
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: jasmine
104
- requirement: &70104352096080 !ruby/object:Gem::Requirement
104
+ requirement: &70349091360720 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ! '>='
@@ -109,7 +109,7 @@ dependencies:
109
109
  version: '0'
110
110
  type: :development
111
111
  prerelease: false
112
- version_requirements: *70104352096080
112
+ version_requirements: *70349091360720
113
113
  description: facebook-stub is a gem for stubbing out the Facebook JavaScript API in
114
114
  acceptance and integration tests.
115
115
  email:
@@ -160,7 +160,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
160
160
  version: '0'
161
161
  segments:
162
162
  - 0
163
- hash: 2190103251761564407
163
+ hash: 3233229171749605837
164
164
  required_rubygems_version: !ruby/object:Gem::Requirement
165
165
  none: false
166
166
  requirements:
@@ -169,7 +169,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
169
169
  version: '0'
170
170
  segments:
171
171
  - 0
172
- hash: 2190103251761564407
172
+ hash: 3233229171749605837
173
173
  requirements: []
174
174
  rubyforge_project: facebook-stub
175
175
  rubygems_version: 1.8.11