aboutsummaryrefslogtreecommitdiffstats
path: root/test/XSitePostTest.js
diff options
context:
space:
mode:
authorAdam Abrons2010-01-05 16:36:58 -0800
committerAdam Abrons2010-01-05 16:36:58 -0800
commitc9c176a53b1632ca2b1c6ed27382ab72ac21d45d (patch)
treeb5f719a095c03ee9f8b2721ffdaf1e5ff8c11b41 /test/XSitePostTest.js
downloadangular.js-c9c176a53b1632ca2b1c6ed27382ab72ac21d45d.tar.bz2
angular.js
Diffstat (limited to 'test/XSitePostTest.js')
-rw-r--r--test/XSitePostTest.js47
1 files changed, 47 insertions, 0 deletions
diff --git a/test/XSitePostTest.js b/test/XSitePostTest.js
new file mode 100644
index 00000000..8a3e4d6f
--- /dev/null
+++ b/test/XSitePostTest.js
@@ -0,0 +1,47 @@
+XSitePost = TestCase("XSitePost");
+
+var e = function(text){ return Base64.encode(text); };
+
+XSitePost.prototype.testMessageReceived = function () {
+ expectAsserts(4);
+ var xPost = new nglr.XSitePost();
+ xPost.baseUrl = "http://getangular.test";
+ xPost.post = function(url, request, callback){
+ assertEquals('http://getangular.test/url', url);
+ assertEquals('abc', request.a);
+ assertEquals('xyz', request.x);
+ };
+ xPost.incomingFragment('#id;0;1;'+e('/url')+':a:'+e('abc')+':x:'+e('xyz'));
+ assertEquals('{}', nglr.toJson(xPost.inQueue));
+};
+
+XSitePost.prototype.testMessageReceivedInParts = function () {
+ expectAsserts(5);
+ var xPost = new nglr.XSitePost();
+ xPost.baseUrl = "http://getangular.test";
+ xPost.post = function(url, request, callback){
+ assertEquals('http://getangular.test/url', url);
+ assertEquals('abc', request.a);
+ assertEquals('xyz', request.x);
+ };
+ xPost.incomingFragment('#id;1;2;:x:'+e('xyz'));
+ assertNotSame('{}', nglr.toJson(xPost.inQueue));
+ xPost.incomingFragment('#id;0;2;'+e('/url')+':a:'+e('abc'));
+ assertEquals('{}', nglr.toJson(xPost.inQueue));
+};
+
+XSitePost.prototype.testPostResponsIsEnqueued = function () {
+ var xPost = new nglr.XSitePost();
+ xPost.maxMsgSize = 11;
+ xPost.response("id", "response", "status");
+
+ assertEquals('["id:0:2:cmVzcG9uc2U","id:1:2:="]',
+ nglr.toJson(xPost.outQueue));
+};
+
+XSitePost.prototype.testPush = function () {
+ var window = {};
+ var xPost = new nglr.XSitePost(window);
+ xPost.response("id", "response", "status");
+ assertEquals('id:0:1:cmVzcG9uc2U=', xPost.outQueue[0]);
+};