[ Index ] |
PHP Cross Reference of vtigercrm-6.1.0 |
[Summary view] [Print] [Text view]
1 // $.pjax fallback tests should run on both pushState and 2 // non-pushState compatible browsers. 3 module("$.pjax fallback", { 4 setup: function() { 5 var self = this 6 stop() 7 this.loaded = function(frame) { 8 self.frame = frame 9 self.loaded = $.noop 10 start() 11 } 12 window.iframeLoad = function(frame) { 13 setTimeout(function() { self.loaded(frame) }, 0) 14 } 15 $("#qunit-fixture").append("<iframe src='home.html'>") 16 }, 17 teardown: function() { 18 delete window.iframeLoad 19 } 20 }) 21 22 23 asyncTest("sets new url", function() { 24 var frame = this.frame 25 26 this.loaded = function() { 27 equal(frame.location.pathname, "/hello.html") 28 start() 29 } 30 31 frame.$.pjax({ 32 url: "hello.html", 33 container: "#main" 34 }) 35 }) 36 37 asyncTest("sets new url for function", function() { 38 var frame = this.frame 39 40 this.loaded = function() { 41 equal(frame.location.pathname, "/hello.html") 42 start() 43 } 44 45 frame.$.pjax({ 46 url: function() { return "hello.html" }, 47 container: "#main" 48 }) 49 }) 50 51 asyncTest("updates container html", function() { 52 var frame = this.frame 53 54 this.loaded = function(frame) { 55 equal(frame.$("#main p").html(), "Hello!") 56 start() 57 } 58 59 frame.$.pjax({ 60 url: "/hello.html", 61 container: "#main" 62 }) 63 }) 64 65 asyncTest("sets title to response <title>", function() { 66 var frame = this.frame 67 68 this.loaded = function(frame) { 69 equal(frame.document.title, "Hello") 70 start() 71 } 72 73 frame.$.pjax({ 74 url: "/hello.html", 75 container: "#main" 76 }) 77 }) 78 79 asyncTest("sends correct HTTP referer", function() { 80 var frame = this.frame 81 82 this.loaded = function(frame) { 83 var referer = frame.document.getElementById("referer").textContent 84 ok(referer.match("/home.html"), referer) 85 start() 86 } 87 88 frame.$.pjax({ 89 url: "/referer.html", 90 container: "#main" 91 }) 92 }) 93 94 asyncTest("adds entry to browser history", function() { 95 var frame = this.frame 96 var count = 0 97 98 this.loaded = function() { 99 count++ 100 101 if (count == 1) { 102 equal(frame.location.pathname, "/hello.html") 103 ok(frame.history.length > 1) 104 frame.history.back() 105 } else if (count == 2) { 106 equal(frame.location.pathname, "/home.html") 107 frame.history.forward() 108 start() 109 } 110 } 111 112 frame.$.pjax({ 113 url: "hello.html", 114 container: "#main" 115 }) 116 }) 117 118 asyncTest("scrolls to top of the page", function() { 119 var frame = this.frame 120 121 frame.window.scrollTo(0, 100) 122 equal(frame.window.scrollY, 100) 123 124 this.loaded = function(frame) { 125 equal(frame.window.scrollY, 0) 126 start() 127 } 128 129 frame.$.pjax({ 130 url: "/long.html", 131 container: "#main" 132 }) 133 }) 134 135 136 asyncTest("sets GET method", function() { 137 var frame = this.frame 138 139 this.loaded = function() { 140 equal(frame.location.pathname, "/env.html") 141 var env = JSON.parse(frame.$("#env").text()) 142 equal(env['REQUEST_METHOD'], "GET") 143 start() 144 } 145 146 frame.$.pjax({ 147 type: 'GET', 148 url: "env.html", 149 container: "#main" 150 }) 151 }) 152 153 154 asyncTest("sets POST method", function() { 155 var frame = this.frame 156 157 this.loaded = function() { 158 equal(frame.location.pathname, "/env.html") 159 var env = JSON.parse(frame.$("#env").text()) 160 equal(env['REQUEST_METHOD'], "POST") 161 start() 162 } 163 164 frame.$.pjax({ 165 type: 'POST', 166 url: "env.html", 167 container: "#main" 168 }) 169 }) 170 171 asyncTest("sets PUT method", function() { 172 var frame = this.frame 173 174 this.loaded = function() { 175 equal(frame.location.pathname, "/env.html") 176 var env = JSON.parse(frame.$("#env").text()) 177 equal(env['REQUEST_METHOD'], "PUT") 178 start() 179 } 180 181 frame.$.pjax({ 182 type: 'PUT', 183 url: "env.html", 184 container: "#main" 185 }) 186 }) 187 188 asyncTest("sets DELETE method", function() { 189 var frame = this.frame 190 191 this.loaded = function() { 192 equal(frame.location.pathname, "/env.html") 193 var env = JSON.parse(frame.$("#env").text()) 194 equal(env['REQUEST_METHOD'], "DELETE") 195 start() 196 } 197 198 frame.$.pjax({ 199 type: 'DELETE', 200 url: "env.html", 201 container: "#main" 202 }) 203 }) 204 205 206 asyncTest("GET with data object", function() { 207 var frame = this.frame 208 209 this.loaded = function() { 210 equal(frame.location.pathname, "/env.html") 211 equal(frame.location.search, "?foo=bar") 212 213 var env = JSON.parse(frame.$("#env").text()) 214 equal(env['REQUEST_METHOD'], "GET") 215 equal(env['rack.request.query_hash']['foo'], 'bar') 216 217 start() 218 } 219 220 frame.$.pjax({ 221 type: 'GET', 222 url: "env.html", 223 data: {foo: 'bar'}, 224 container: "#main" 225 }) 226 }) 227 228 asyncTest("POST with data object", function() { 229 var frame = this.frame 230 231 this.loaded = function() { 232 equal(frame.location.pathname, "/env.html") 233 equal(frame.location.search, "") 234 235 var env = JSON.parse(frame.$("#env").text()) 236 equal(env['REQUEST_METHOD'], "POST") 237 equal(env['rack.request.form_hash']['foo'], 'bar') 238 239 start() 240 } 241 242 frame.$.pjax({ 243 type: 'POST', 244 url: "env.html", 245 data: {foo: 'bar'}, 246 container: "#main" 247 }) 248 }) 249 250 asyncTest("GET with data string", function() { 251 var frame = this.frame 252 253 this.loaded = function() { 254 equal(frame.location.pathname, "/env.html") 255 equal(frame.location.search, "?foo=bar") 256 257 var env = JSON.parse(frame.$("#env").text()) 258 equal(env['REQUEST_METHOD'], "GET") 259 equal(env['rack.request.query_hash']['foo'], 'bar') 260 261 start() 262 } 263 264 frame.$.pjax({ 265 type: 'GET', 266 url: "env.html", 267 data: "foo=bar", 268 container: "#main" 269 }) 270 }) 271 272 asyncTest("POST with data string", function() { 273 var frame = this.frame 274 275 this.loaded = function() { 276 equal(frame.location.pathname, "/env.html") 277 equal(frame.location.search, "") 278 279 var env = JSON.parse(frame.$("#env").text()) 280 equal(env['REQUEST_METHOD'], "POST") 281 equal(env['rack.request.form_hash']['foo'], 'bar') 282 283 start() 284 } 285 286 frame.$.pjax({ 287 type: 'POST', 288 url: "env.html", 289 data: "foo=bar", 290 container: "#main" 291 }) 292 })
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 20:08:37 2014 | Cross-referenced by PHPXref 0.7.1 |