init
This commit is contained in:
246
vendor/bower-asset/yii2-pjax/test/unit/fn_pjax.js
vendored
Normal file
246
vendor/bower-asset/yii2-pjax/test/unit/fn_pjax.js
vendored
Normal file
@@ -0,0 +1,246 @@
|
||||
if ($.support.pjax) {
|
||||
module("$.fn.pjax", {
|
||||
setup: function() {
|
||||
var self = this
|
||||
stop()
|
||||
window.iframeLoad = function(frame) {
|
||||
self.frame = frame
|
||||
window.iframeLoad = $.noop
|
||||
start()
|
||||
}
|
||||
$("#qunit-fixture").append("<iframe src='home.html'>")
|
||||
},
|
||||
teardown: function() {
|
||||
delete window.iframeLoad
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
asyncTest("pushes new url", function() {
|
||||
var frame = this.frame
|
||||
|
||||
frame.$("#main").pjax("a", "#main").on("pjax:end", function() {
|
||||
equal(frame.location.pathname, "/dinosaurs.html")
|
||||
start()
|
||||
})
|
||||
|
||||
frame.$("a[href='/dinosaurs.html']").click()
|
||||
})
|
||||
|
||||
asyncTest("replaces container html from response data", function() {
|
||||
var frame = this.frame
|
||||
|
||||
frame.$("#main").pjax("a", "#main").on("pjax:end", function() {
|
||||
equal(frame.$("iframe").attr('title'), "YouTube video player")
|
||||
start()
|
||||
})
|
||||
|
||||
frame.$("a[href='/dinosaurs.html']").click()
|
||||
})
|
||||
|
||||
asyncTest("sets title to response title tag", function() {
|
||||
var frame = this.frame
|
||||
|
||||
frame.$("#main").pjax("a", "#main").on("pjax:end", function() {
|
||||
equal(frame.document.title, "dinosaurs")
|
||||
start()
|
||||
})
|
||||
|
||||
frame.$("a[href='/dinosaurs.html']").trigger('click')
|
||||
})
|
||||
|
||||
asyncTest("uses second argument as options", function() {
|
||||
var frame = this.frame
|
||||
|
||||
frame.$("#main").pjax("a", {container: "#main", push: true}).on("pjax:end", function() {
|
||||
equal(frame.location.pathname, "/dinosaurs.html")
|
||||
start()
|
||||
})
|
||||
|
||||
frame.$("a[href='/dinosaurs.html']").click()
|
||||
})
|
||||
|
||||
asyncTest("uses second argument as container and third as options", function() {
|
||||
var frame = this.frame
|
||||
|
||||
frame.$("body").pjax("a", "#main", {push: true}).on("pjax:end", function() {
|
||||
equal(frame.location.pathname, "/dinosaurs.html")
|
||||
start()
|
||||
})
|
||||
|
||||
frame.$("a[href='/dinosaurs.html']").click()
|
||||
})
|
||||
|
||||
|
||||
asyncTest("defaults to data-pjax container", function() {
|
||||
var frame = this.frame
|
||||
|
||||
frame.$("a").attr('data-pjax', "#main")
|
||||
|
||||
frame.$("body").pjax("a")
|
||||
|
||||
frame.$("#main").on("pjax:end", function() {
|
||||
equal(frame.location.pathname, "/dinosaurs.html")
|
||||
start()
|
||||
})
|
||||
|
||||
frame.$("a[href='/dinosaurs.html']").click()
|
||||
})
|
||||
|
||||
asyncTest("sets relatedTarget to clicked element", function() {
|
||||
var frame = this.frame
|
||||
|
||||
frame.$("#main").pjax("a", "#main")
|
||||
|
||||
var link = frame.$("a[href='/dinosaurs.html']")[0]
|
||||
|
||||
frame.$("#main").on("pjax:end", function(event, xhr, options) {
|
||||
equal(link, event.relatedTarget)
|
||||
start()
|
||||
})
|
||||
|
||||
frame.$(link).click()
|
||||
})
|
||||
|
||||
|
||||
asyncTest("doesn't ignore left click", function() {
|
||||
var frame = this.frame
|
||||
|
||||
frame.$("#main").pjax("a", "#main")
|
||||
|
||||
var event = frame.$.Event('click')
|
||||
event.which = 0
|
||||
frame.$("a[href='/dinosaurs.html']").trigger(event)
|
||||
ok(event.isDefaultPrevented())
|
||||
|
||||
start()
|
||||
})
|
||||
|
||||
asyncTest("ignores middle clicks", function() {
|
||||
var frame = this.frame
|
||||
|
||||
frame.$("#main").pjax("a", "#main")
|
||||
|
||||
var event = frame.$.Event('click')
|
||||
event.which = 3
|
||||
frame.$("a[href='/dinosaurs.html']").trigger(event)
|
||||
ok(!event.isDefaultPrevented())
|
||||
|
||||
start()
|
||||
})
|
||||
|
||||
asyncTest("ignores command clicks", function() {
|
||||
var frame = this.frame
|
||||
|
||||
frame.$("#main").pjax("a")
|
||||
|
||||
var event = frame.$.Event('click')
|
||||
event.metaKey = true
|
||||
frame.$("a[href='/dinosaurs.html']").trigger(event)
|
||||
ok(!event.isDefaultPrevented())
|
||||
|
||||
start()
|
||||
})
|
||||
|
||||
asyncTest("ignores ctrl clicks", function() {
|
||||
var frame = this.frame
|
||||
|
||||
frame.$("#main").pjax("a")
|
||||
|
||||
var event = frame.$.Event('click')
|
||||
event.ctrlKey = true
|
||||
frame.$("a[href='/dinosaurs.html']").trigger(event)
|
||||
ok(!event.isDefaultPrevented())
|
||||
|
||||
start()
|
||||
})
|
||||
|
||||
asyncTest("ignores cross origin links", function() {
|
||||
var frame = this.frame
|
||||
|
||||
frame.$("#main").pjax("a")
|
||||
|
||||
var event = frame.$.Event('click')
|
||||
frame.$("a[href='https://www.google.com/']").trigger(event)
|
||||
notEqual(event.result, false)
|
||||
|
||||
start()
|
||||
})
|
||||
|
||||
asyncTest("ignores same page anchors", function() {
|
||||
var event, frame = this.frame
|
||||
|
||||
frame.$("#main").pjax("a")
|
||||
|
||||
event = frame.$.Event('click')
|
||||
frame.$("a[href='#main']").trigger(event)
|
||||
equal(event.isDefaultPrevented(), false)
|
||||
|
||||
event = frame.$.Event('click')
|
||||
frame.$("a[href='#']").trigger(event)
|
||||
equal(event.isDefaultPrevented(), false)
|
||||
|
||||
start()
|
||||
})
|
||||
|
||||
asyncTest("ignores same page anchors from URL that has hash", function() {
|
||||
var event, frame = this.frame
|
||||
|
||||
frame.window.location = "#foo"
|
||||
frame.$("#main").pjax("a")
|
||||
|
||||
event = frame.$.Event('click')
|
||||
frame.$("a[href='#main']").trigger(event)
|
||||
equal(event.isDefaultPrevented(), false)
|
||||
|
||||
event = frame.$.Event('click')
|
||||
frame.$("a[href='#']").trigger(event)
|
||||
equal(event.isDefaultPrevented(), false)
|
||||
|
||||
start()
|
||||
})
|
||||
|
||||
asyncTest("ignores event with prevented default", function() {
|
||||
var frame = this.frame
|
||||
var eventIgnored = true
|
||||
|
||||
frame.$("#main").pjax("a").on("pjax:click", function() {
|
||||
eventIgnored = false
|
||||
})
|
||||
frame.$("a[href='/dinosaurs.html']").on("click", function(event) {
|
||||
event.preventDefault()
|
||||
setTimeout(function() {
|
||||
ok(eventIgnored, "Event with prevented default ignored")
|
||||
start()
|
||||
}, 10)
|
||||
})
|
||||
|
||||
frame.$("a[href='/dinosaurs.html']").click()
|
||||
})
|
||||
|
||||
asyncTest("triggers pjax:click event from link", function() {
|
||||
var frame = this.frame
|
||||
|
||||
frame.$("#main").pjax("a", "#main").on("pjax:click", function(event, options) {
|
||||
ok(event)
|
||||
equal(options.container, "#main")
|
||||
ok(options.url.match("/dinosaurs.html"))
|
||||
start()
|
||||
})
|
||||
|
||||
frame.$("a[href='/dinosaurs.html']").click()
|
||||
})
|
||||
|
||||
asyncTest("triggers pjax:clicked event from link", function() {
|
||||
var frame = this.frame
|
||||
|
||||
frame.$("#main").pjax("a", "#main").on("pjax:clicked", function(event, options) {
|
||||
ok(event)
|
||||
equal(options.container, "#main")
|
||||
ok(options.url.match("/dinosaurs.html"))
|
||||
start()
|
||||
})
|
||||
|
||||
frame.$("a[href='/dinosaurs.html']").click()
|
||||
})
|
||||
}
|
||||
66
vendor/bower-asset/yii2-pjax/test/unit/helpers.js
vendored
Normal file
66
vendor/bower-asset/yii2-pjax/test/unit/helpers.js
vendored
Normal file
@@ -0,0 +1,66 @@
|
||||
// Navigation helper for the test iframe. Queues navigation actions and
|
||||
// callbacks, then executes them serially with respect to async. This is to
|
||||
// avoid deep nesting of callbacks in tests.
|
||||
//
|
||||
// If a `then`able object is returned from a callback, then the navigation will
|
||||
// resume only after the promise has been resolved.
|
||||
//
|
||||
// After last successful navigation, asyncTest is automatically resumed.
|
||||
//
|
||||
// Usage:
|
||||
//
|
||||
// navigate(this.frame)
|
||||
// .pjax(pjaxOptions, function(frame){ ... }
|
||||
// .back(-1, function(frame){ ... }
|
||||
//
|
||||
function navigate(frame) {
|
||||
var queue = []
|
||||
var api = {}
|
||||
|
||||
api.pjax = function(options, callback) {
|
||||
queue.push([options, callback])
|
||||
return api
|
||||
}
|
||||
api.back = api.pjax
|
||||
|
||||
var workOff = function() {
|
||||
var item = queue.shift()
|
||||
if (!item) {
|
||||
start()
|
||||
return
|
||||
}
|
||||
|
||||
var target = item[0], callback = item[1]
|
||||
|
||||
frame.$(frame.document).one("pjax:end", function() {
|
||||
var promise = callback && callback(frame)
|
||||
if (promise && typeof promise.then == "function") promise.then(workOff)
|
||||
else setTimeout(workOff, 0)
|
||||
})
|
||||
|
||||
if (typeof target == "number") {
|
||||
frame.history.go(target)
|
||||
} else {
|
||||
frame.$.pjax(target)
|
||||
}
|
||||
}
|
||||
|
||||
setTimeout(workOff, 0)
|
||||
|
||||
return api
|
||||
}
|
||||
|
||||
// A poor man's Promise implementation. Only resolvable promises with no
|
||||
// reject/catch support.
|
||||
function PoorMansPromise(setup) {
|
||||
var result, callback, i = 0, callbacks = []
|
||||
setup(function(_result) {
|
||||
result = _result
|
||||
while (callback = callbacks[i++]) callback(result)
|
||||
})
|
||||
this.then = function(done) {
|
||||
if (i == 0) callbacks.push(done)
|
||||
else setTimeout(function(){ done(result) }, 0)
|
||||
return this
|
||||
}
|
||||
}
|
||||
1084
vendor/bower-asset/yii2-pjax/test/unit/pjax.js
vendored
Normal file
1084
vendor/bower-asset/yii2-pjax/test/unit/pjax.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
461
vendor/bower-asset/yii2-pjax/test/unit/pjax_fallback.js
vendored
Normal file
461
vendor/bower-asset/yii2-pjax/test/unit/pjax_fallback.js
vendored
Normal file
@@ -0,0 +1,461 @@
|
||||
// $.pjax fallback tests should run on both pushState and
|
||||
// non-pushState compatible browsers.
|
||||
$.each([true, false], function() {
|
||||
|
||||
var disabled = this == false
|
||||
var s = disabled ? " (disabled)" : ""
|
||||
|
||||
var ua = navigator.userAgent
|
||||
var safari = ua.match("Safari") && !ua.match("Chrome") && !ua.match("Edge")
|
||||
var chrome = ua.match("Chrome") && !ua.match("Edge")
|
||||
|
||||
module("$.pjax fallback"+s, {
|
||||
setup: function() {
|
||||
var self = this
|
||||
stop()
|
||||
this.loaded = function(frame) {
|
||||
self.frame = frame
|
||||
self.loaded = $.noop
|
||||
start()
|
||||
}
|
||||
window.iframeLoad = function(frame) {
|
||||
setTimeout(function() {
|
||||
if (disabled && frame.$ && frame.$.pjax) frame.$.pjax.disable()
|
||||
self.loaded(frame)
|
||||
}, 0)
|
||||
}
|
||||
$("#qunit-fixture").append("<iframe src='home.html'>")
|
||||
},
|
||||
teardown: function() {
|
||||
delete window.iframeLoad
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
asyncTest("sets new url"+s, function() {
|
||||
var frame = this.frame
|
||||
|
||||
this.loaded = function() {
|
||||
equal(frame.location.pathname, "/hello.html")
|
||||
start()
|
||||
}
|
||||
|
||||
frame.$.pjax({
|
||||
url: "hello.html",
|
||||
container: "#main"
|
||||
})
|
||||
})
|
||||
|
||||
asyncTest("sets new url for function"+s, function() {
|
||||
var frame = this.frame
|
||||
|
||||
this.loaded = function() {
|
||||
equal(frame.location.pathname, "/hello.html")
|
||||
start()
|
||||
}
|
||||
|
||||
frame.$.pjax({
|
||||
url: function() { return "hello.html" },
|
||||
container: "#main"
|
||||
})
|
||||
})
|
||||
|
||||
asyncTest("updates container html"+s, function() {
|
||||
var frame = this.frame
|
||||
|
||||
this.loaded = function(frame) {
|
||||
equal(frame.$("#main p").html(), "Hello!")
|
||||
start()
|
||||
}
|
||||
|
||||
frame.$.pjax({
|
||||
url: "/hello.html",
|
||||
container: "#main"
|
||||
})
|
||||
})
|
||||
|
||||
asyncTest("sets title to response <title>"+s, function() {
|
||||
var frame = this.frame
|
||||
|
||||
this.loaded = function(frame) {
|
||||
equal(frame.document.title, "Hello")
|
||||
start()
|
||||
}
|
||||
|
||||
frame.$.pjax({
|
||||
url: "/hello.html",
|
||||
container: "#main"
|
||||
})
|
||||
})
|
||||
|
||||
asyncTest("sends correct HTTP referer"+s, function() {
|
||||
var frame = this.frame
|
||||
|
||||
this.loaded = function(frame) {
|
||||
var referer = frame.document.getElementById("referer").textContent
|
||||
ok(referer.match("/home.html"), referer)
|
||||
start()
|
||||
}
|
||||
|
||||
frame.$.pjax({
|
||||
url: "/referer.html",
|
||||
container: "#main"
|
||||
})
|
||||
})
|
||||
|
||||
asyncTest("scrolls to top of the page"+s, function() {
|
||||
var frame = this.frame
|
||||
|
||||
frame.window.scrollTo(0, 100)
|
||||
equal(frame.window.pageYOffset, 100)
|
||||
|
||||
this.loaded = function(frame) {
|
||||
equal(frame.window.pageYOffset, 0)
|
||||
start()
|
||||
}
|
||||
|
||||
frame.$.pjax({
|
||||
url: "/long.html",
|
||||
container: "#main"
|
||||
})
|
||||
})
|
||||
|
||||
asyncTest("scrolls to anchor at top page"+s, function() {
|
||||
var frame = this.frame
|
||||
|
||||
equal(frame.window.pageYOffset, 0)
|
||||
|
||||
this.loaded = function(frame) {
|
||||
setTimeout(function() {
|
||||
equal(frame.location.pathname, "/anchor.html")
|
||||
equal(frame.location.hash, "#top")
|
||||
equal(frame.window.pageYOffset, 8)
|
||||
start()
|
||||
}, 100)
|
||||
}
|
||||
|
||||
frame.$.pjax({
|
||||
url: "/anchor.html#top",
|
||||
container: "#main"
|
||||
})
|
||||
|
||||
if (disabled) {
|
||||
equal(frame.location.pathname, "/home.html")
|
||||
equal(frame.location.href.indexOf("#"), -1)
|
||||
} else {
|
||||
equal(frame.location.pathname, "/anchor.html")
|
||||
equal(frame.location.hash, "#top")
|
||||
}
|
||||
})
|
||||
|
||||
asyncTest("empty anchor doesn't scroll page"+s, function() {
|
||||
var frame = this.frame
|
||||
|
||||
equal(frame.window.pageYOffset, 0)
|
||||
|
||||
this.loaded = function(frame) {
|
||||
setTimeout(function() {
|
||||
equal(frame.window.pageYOffset, 0)
|
||||
start()
|
||||
}, 10)
|
||||
}
|
||||
|
||||
frame.$.pjax({
|
||||
url: "/anchor.html#",
|
||||
container: "#main"
|
||||
})
|
||||
})
|
||||
|
||||
asyncTest("scrolls to anchor at bottom page"+s, function() {
|
||||
var frame = this.frame
|
||||
|
||||
equal(frame.window.pageYOffset, 0)
|
||||
|
||||
this.loaded = function(frame) {
|
||||
setTimeout(function() {
|
||||
equal(frame.window.pageYOffset, 10008)
|
||||
start()
|
||||
}, 10)
|
||||
}
|
||||
|
||||
frame.$.pjax({
|
||||
url: "/anchor.html#bottom",
|
||||
container: "#main"
|
||||
})
|
||||
})
|
||||
|
||||
asyncTest("scrolls to named encoded anchor"+s, function() {
|
||||
var frame = this.frame
|
||||
|
||||
equal(frame.window.pageYOffset, 0)
|
||||
|
||||
this.loaded = function(frame) {
|
||||
setTimeout(function() {
|
||||
equal(frame.window.pageYOffset, 10008)
|
||||
start()
|
||||
}, 10)
|
||||
}
|
||||
|
||||
frame.$.pjax({
|
||||
url: "/anchor.html#%62%6F%74%74%6F%6D",
|
||||
container: "#main"
|
||||
})
|
||||
})
|
||||
|
||||
asyncTest("sets GET method"+s, function() {
|
||||
var frame = this.frame
|
||||
|
||||
this.loaded = function() {
|
||||
equal(frame.location.pathname, "/env.html")
|
||||
var env = JSON.parse(frame.$("#env").text())
|
||||
equal(env['REQUEST_METHOD'], "GET")
|
||||
start()
|
||||
}
|
||||
|
||||
frame.$.pjax({
|
||||
type: 'GET',
|
||||
url: "env.html",
|
||||
container: "#main"
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
asyncTest("sets POST method"+s, function() {
|
||||
var frame = this.frame
|
||||
|
||||
this.loaded = function() {
|
||||
equal(frame.location.pathname, "/env.html")
|
||||
var env = JSON.parse(frame.$("#env").text())
|
||||
equal(env['REQUEST_METHOD'], "POST")
|
||||
start()
|
||||
}
|
||||
|
||||
frame.$.pjax({
|
||||
type: 'POST',
|
||||
url: "env.html",
|
||||
container: "#main"
|
||||
})
|
||||
})
|
||||
|
||||
asyncTest("sets PUT method"+s, function() {
|
||||
var frame = this.frame
|
||||
|
||||
this.loaded = function() {
|
||||
equal(frame.location.pathname, "/env.html")
|
||||
var env = JSON.parse(frame.$("#env").text())
|
||||
equal(env['REQUEST_METHOD'], "PUT")
|
||||
start()
|
||||
}
|
||||
|
||||
frame.$.pjax({
|
||||
type: 'PUT',
|
||||
url: "env.html",
|
||||
container: "#main"
|
||||
})
|
||||
})
|
||||
|
||||
asyncTest("sets DELETE method"+s, function() {
|
||||
var frame = this.frame
|
||||
|
||||
this.loaded = function() {
|
||||
equal(frame.location.pathname, "/env.html")
|
||||
var env = JSON.parse(frame.$("#env").text())
|
||||
equal(env['REQUEST_METHOD'], "DELETE")
|
||||
start()
|
||||
}
|
||||
|
||||
frame.$.pjax({
|
||||
type: 'DELETE',
|
||||
url: "env.html",
|
||||
container: "#main"
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
asyncTest("GET with data object"+s, function() {
|
||||
var frame = this.frame
|
||||
|
||||
this.loaded = function() {
|
||||
equal(frame.location.pathname, "/env.html")
|
||||
equal(frame.location.search, "?foo=bar")
|
||||
|
||||
var env = JSON.parse(frame.$("#env").text())
|
||||
equal(env['REQUEST_METHOD'], "GET")
|
||||
equal(env['rack.request.query_hash']['foo'], 'bar')
|
||||
|
||||
start()
|
||||
}
|
||||
|
||||
frame.$.pjax({
|
||||
type: 'GET',
|
||||
url: "env.html",
|
||||
data: {foo: 'bar'},
|
||||
container: "#main"
|
||||
})
|
||||
})
|
||||
|
||||
asyncTest("POST with data object"+s, function() {
|
||||
var frame = this.frame
|
||||
|
||||
this.loaded = function() {
|
||||
equal(frame.location.pathname, "/env.html")
|
||||
equal(frame.location.search, "")
|
||||
|
||||
var env = JSON.parse(frame.$("#env").text())
|
||||
equal(env['REQUEST_METHOD'], "POST")
|
||||
equal(env['rack.request.form_hash']['foo'], 'bar')
|
||||
|
||||
start()
|
||||
}
|
||||
|
||||
frame.$.pjax({
|
||||
type: 'POST',
|
||||
url: "env.html",
|
||||
data: {foo: 'bar'},
|
||||
container: "#main"
|
||||
})
|
||||
})
|
||||
|
||||
asyncTest("GET with data array"+s, function() {
|
||||
var frame = this.frame
|
||||
|
||||
this.loaded = function() {
|
||||
equal(frame.location.pathname, "/env.html")
|
||||
equal(frame.location.search, "?foo%5B%5D=bar&foo%5B%5D=baz")
|
||||
|
||||
var env = JSON.parse(frame.$("#env").text())
|
||||
equal(env['REQUEST_METHOD'], "GET")
|
||||
var expected = {'foo': ['bar', 'baz']}
|
||||
if (!disabled) expected._pjax = "#main"
|
||||
deepEqual(env['rack.request.query_hash'], expected)
|
||||
|
||||
start()
|
||||
}
|
||||
|
||||
frame.$.pjax({
|
||||
type: 'GET',
|
||||
url: "env.html",
|
||||
data: [{name: "foo[]", value: "bar"}, {name: "foo[]", value: "baz"}],
|
||||
container: "#main"
|
||||
})
|
||||
})
|
||||
|
||||
asyncTest("POST with data array"+s, function() {
|
||||
var frame = this.frame
|
||||
|
||||
this.loaded = function() {
|
||||
equal(frame.location.pathname, "/env.html")
|
||||
equal(frame.location.search, "")
|
||||
|
||||
var env = JSON.parse(frame.$("#env").text())
|
||||
equal(env['REQUEST_METHOD'], "POST")
|
||||
var expected = {'foo': ['bar', 'baz']}
|
||||
if (!disabled) expected._pjax = "#main"
|
||||
deepEqual(env['rack.request.form_hash'], expected)
|
||||
|
||||
start()
|
||||
}
|
||||
|
||||
frame.$.pjax({
|
||||
type: 'POST',
|
||||
url: "env.html",
|
||||
data: [{name: "foo[]", value: "bar"}, {name: "foo[]", value: "baz"}],
|
||||
container: "#main"
|
||||
})
|
||||
})
|
||||
|
||||
asyncTest("GET with data string"+s, function() {
|
||||
var frame = this.frame
|
||||
|
||||
this.loaded = function() {
|
||||
equal(frame.location.pathname, "/env.html")
|
||||
equal(frame.location.search, "?foo=bar")
|
||||
|
||||
var env = JSON.parse(frame.$("#env").text())
|
||||
equal(env['REQUEST_METHOD'], "GET")
|
||||
equal(env['rack.request.query_hash']['foo'], 'bar')
|
||||
|
||||
start()
|
||||
}
|
||||
|
||||
frame.$.pjax({
|
||||
type: 'GET',
|
||||
url: "env.html",
|
||||
data: "foo=bar",
|
||||
container: "#main"
|
||||
})
|
||||
})
|
||||
|
||||
asyncTest("POST with data string"+s, function() {
|
||||
var frame = this.frame
|
||||
|
||||
this.loaded = function() {
|
||||
equal(frame.location.pathname, "/env.html")
|
||||
equal(frame.location.search, "")
|
||||
|
||||
var env = JSON.parse(frame.$("#env").text())
|
||||
equal(env['REQUEST_METHOD'], "POST")
|
||||
equal(env['rack.request.form_hash']['foo'], 'bar')
|
||||
|
||||
start()
|
||||
}
|
||||
|
||||
frame.$.pjax({
|
||||
type: 'POST',
|
||||
url: "env.html",
|
||||
data: "foo=bar",
|
||||
container: "#main"
|
||||
})
|
||||
})
|
||||
|
||||
asyncTest("handle form submit"+s, function() {
|
||||
var frame = this.frame
|
||||
|
||||
frame.$(frame.document).on("submit", "form", function(event) {
|
||||
frame.$.pjax.submit(event, "#main")
|
||||
})
|
||||
|
||||
this.loaded = function() {
|
||||
var env = JSON.parse(frame.$("#env").text())
|
||||
var expected = {foo: "1", bar: "2"}
|
||||
if (!disabled) expected._pjax = "#main"
|
||||
deepEqual(env['rack.request.query_hash'], expected)
|
||||
start()
|
||||
}
|
||||
|
||||
frame.$("form").submit()
|
||||
})
|
||||
|
||||
asyncTest("browser URL is correct after redirect"+s, function() {
|
||||
var frame = this.frame
|
||||
|
||||
this.loaded = function() {
|
||||
equal(frame.location.pathname, "/hello.html")
|
||||
var expectedHash = safari && disabled ? "" : "#new"
|
||||
equal(frame.location.hash, expectedHash)
|
||||
start()
|
||||
}
|
||||
|
||||
frame.$.pjax({
|
||||
url: "redirect.html#new",
|
||||
container: "#main"
|
||||
})
|
||||
})
|
||||
|
||||
asyncTest("server can't affect anchor after redirect"+s, function() {
|
||||
var frame = this.frame
|
||||
|
||||
this.loaded = function() {
|
||||
equal(frame.location.pathname, "/hello.html")
|
||||
var expectedHash = safari && disabled ? "" : "#new"
|
||||
equal(frame.location.hash, expectedHash)
|
||||
start()
|
||||
}
|
||||
|
||||
frame.$.pjax({
|
||||
url: "redirect.html?anchor=server#new",
|
||||
container: "#main"
|
||||
})
|
||||
})
|
||||
|
||||
})
|
||||
Reference in New Issue
Block a user