[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/libraries/jquery/defunkt-jquery-pjax/test/unit/ -> pjax_fallback.js (source)

   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  })


Generated: Fri Nov 28 20:08:37 2014 Cross-referenced by PHPXref 0.7.1