383 lines
11 KiB
JavaScript
Executable File
383 lines
11 KiB
JavaScript
Executable File
/*eslint strict:0*/
|
|
var usedSettings;
|
|
|
|
function onOpen(url, settings) {
|
|
usedSettings = settings;
|
|
}
|
|
|
|
function setUp(test) {
|
|
casper.start().on('open', onOpen);
|
|
}
|
|
|
|
function tearDown(test) {
|
|
usedSettings = undefined;
|
|
casper.removeListener('open', onOpen);
|
|
}
|
|
|
|
casper.test.begin('open() GET tests', 2, {
|
|
setUp: setUp,
|
|
tearDown: tearDown,
|
|
test: function(test) {
|
|
casper.open('tests/site/index.html').then(function() {
|
|
test.pass("Casper.open() can open and load a location using GET");
|
|
test.assertEquals(usedSettings, {
|
|
method: "get"
|
|
}, "Casper.open() used the expected GET settings");
|
|
});
|
|
|
|
casper.run(function() {
|
|
test.done();
|
|
});
|
|
}
|
|
});
|
|
|
|
casper.test.begin('open() GET casing tests', 2, {
|
|
setUp: setUp,
|
|
tearDown: tearDown,
|
|
test: function(test) {
|
|
casper.open('tests/site/index.html', {
|
|
method: 'GET'
|
|
}).then(function() {
|
|
test.pass("Casper.open() can open and load a location using GET");
|
|
test.assertEquals(usedSettings, {
|
|
method: "GET"
|
|
}, "Casper.open() used the expected GET settings");
|
|
});
|
|
|
|
casper.run(function() {
|
|
test.done();
|
|
});
|
|
}
|
|
});
|
|
|
|
casper.test.begin('open() (JS disabled) tests', 3, {
|
|
setUp: setUp,
|
|
tearDown: tearDown,
|
|
test: function(test) {
|
|
casper.options.pageSettings.javascriptEnabled = false;
|
|
casper.open('tests/site/alert.html').then(function() {
|
|
test.pass("Casper.open() can open and load a location using GET, with JS disabled");
|
|
test.assertEquals(usedSettings, {
|
|
method: "get"
|
|
}, "Casper.open() used the expected GET settings");
|
|
test.assertHttpStatus(200, "Response Code is 200");
|
|
});
|
|
|
|
casper.run(function() {
|
|
test.done();
|
|
casper.options.pageSettings.javascriptEnabled = true;
|
|
});
|
|
}
|
|
});
|
|
|
|
casper.test.begin('open() POST tests', 2, {
|
|
setUp: setUp,
|
|
tearDown: tearDown,
|
|
test: function(test) {
|
|
casper.open('tests/site/index.html', {
|
|
method: 'post',
|
|
data: {
|
|
plop: 42,
|
|
chuck: 'norris'
|
|
}
|
|
}).then(function() {
|
|
test.pass("Casper.open() can open and load a location using POST");
|
|
test.assertEquals(usedSettings, {
|
|
method: "post",
|
|
data: "plop=42&chuck=norris"
|
|
}, "Casper.open() used the expected POST settings");
|
|
});
|
|
|
|
casper.run(function() {
|
|
test.done();
|
|
});
|
|
}
|
|
});
|
|
|
|
casper.test.begin('open() POST casing tests', 2, {
|
|
setUp: setUp,
|
|
tearDown: tearDown,
|
|
test: function(test) {
|
|
casper.open('tests/site/index.html', {
|
|
method: 'POST',
|
|
data: {
|
|
plop: 42,
|
|
chuck: 'norris'
|
|
}
|
|
}).then(function() {
|
|
test.pass("Casper.open() can open and load a location using POST");
|
|
test.assertEquals(usedSettings, {
|
|
method: "POST",
|
|
data: "plop=42&chuck=norris"
|
|
}, "Casper.open() used the expected POST settings");
|
|
});
|
|
|
|
casper.run(function() {
|
|
test.done();
|
|
});
|
|
}
|
|
});
|
|
|
|
casper.test.begin('open() POST json object', 2, {
|
|
setUp: setUp,
|
|
tearDown: tearDown,
|
|
test: function(test) {
|
|
casper.open('tests/site/index.html', {
|
|
method: 'POST',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
},
|
|
data: {
|
|
plop: 42,
|
|
chuck: 'norris',
|
|
john: {'Doe': 'is here'}
|
|
}
|
|
}).then(function() {
|
|
test.pass("Casper.open() can POST a JSON object");
|
|
test.assertEquals(usedSettings, {
|
|
method: "POST",
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
},
|
|
data: '{"plop":42,"chuck":"norris","john":{"Doe":"is here"}}'
|
|
}, "Casper.open() used the expected POST settings");
|
|
});
|
|
|
|
casper.run(function() {
|
|
test.done();
|
|
});
|
|
}
|
|
});
|
|
|
|
casper.test.begin('open() POST json object with charset info', 2, {
|
|
setUp: setUp,
|
|
tearDown: tearDown,
|
|
test: function(test) {
|
|
casper.open('tests/site/index.html', {
|
|
method: 'POST',
|
|
headers: {
|
|
'Content-Type': 'application/json; charset=utf-8'
|
|
},
|
|
data: {
|
|
plop: 42,
|
|
chuck: 'norris',
|
|
john: {'Doe': 'is here'}
|
|
}
|
|
}).then(function() {
|
|
test.pass("Casper.open() can POST a JSON object");
|
|
test.assertEquals(usedSettings, {
|
|
method: "POST",
|
|
headers: {
|
|
'Content-Type': 'application/json; charset=utf-8'
|
|
},
|
|
data: '{"plop":42,"chuck":"norris","john":{"Doe":"is here"}}'
|
|
}, "Casper.open() used the expected POST settings");
|
|
});
|
|
|
|
casper.run(function() {
|
|
test.done();
|
|
});
|
|
}
|
|
});
|
|
|
|
casper.test.begin('open() PUT tests', 2, {
|
|
setUp: setUp,
|
|
tearDown: tearDown,
|
|
test: function(test) {
|
|
casper.thenOpen('tests/site/index.html', {
|
|
method: 'put',
|
|
data: {
|
|
plop: 42,
|
|
chuck: 'norris'
|
|
}
|
|
}).then(function() {
|
|
test.pass("Casper.open() can open and load a location using PUT");
|
|
test.assertEquals(usedSettings, {
|
|
method: "put",
|
|
data: "plop=42&chuck=norris"
|
|
}, "Casper.open() used the expected PUT settings");
|
|
});
|
|
|
|
casper.run(function() {
|
|
test.done();
|
|
});
|
|
}
|
|
});
|
|
|
|
casper.test.begin('open() PUT casing tests', 2, {
|
|
setUp: setUp,
|
|
tearDown: tearDown,
|
|
test: function(test) {
|
|
casper.thenOpen('tests/site/index.html', {
|
|
method: 'PUT',
|
|
data: {
|
|
plop: 42,
|
|
chuck: 'norris'
|
|
}
|
|
}).then(function() {
|
|
test.pass("Casper.open() can open and load a location using PUT");
|
|
test.assertEquals(usedSettings, {
|
|
method: "PUT",
|
|
data: "plop=42&chuck=norris"
|
|
}, "Casper.open() used the expected PUT settings");
|
|
});
|
|
|
|
casper.run(function() {
|
|
test.done();
|
|
});
|
|
}
|
|
});
|
|
|
|
casper.test.begin('open() PUT tests', 2, {
|
|
setUp: setUp,
|
|
tearDown: tearDown,
|
|
test: function(test) {
|
|
// HTTP Auth
|
|
casper.thenOpen('tests/site/index.html', {
|
|
method: 'get',
|
|
username: 'bob',
|
|
password: 'sinclar'
|
|
}).then(function() {
|
|
test.pass("Casper.open() can open and load a location using HTTP auth");
|
|
test.assertEquals(usedSettings, {
|
|
method: "get",
|
|
username: 'bob',
|
|
password: 'sinclar'
|
|
}, "Casper.open() used the expected HTTP auth settings");
|
|
});
|
|
|
|
casper.run(function() {
|
|
test.done();
|
|
});
|
|
}
|
|
});
|
|
|
|
casper.test.begin('open() PUT tests', 2, {
|
|
setUp: setUp,
|
|
tearDown: tearDown,
|
|
test: function(test) {
|
|
// GET with thenOpen
|
|
casper.thenOpen('tests/site/index.html').then(function() {
|
|
test.pass("Casper.thenOpen() can open and load a location using GET");
|
|
test.assertEquals(usedSettings, {
|
|
method: "get"
|
|
}, "Casper.thenOpen() used the expected GET settings");
|
|
});
|
|
|
|
casper.run(function() {
|
|
test.done();
|
|
});
|
|
}
|
|
});
|
|
|
|
casper.test.begin('open() PUT tests', 2, {
|
|
setUp: setUp,
|
|
tearDown: tearDown,
|
|
test: function(test) {
|
|
// POST with thenOpen
|
|
casper.thenOpen('tests/site/index.html', {
|
|
method: 'post',
|
|
data: {
|
|
plop: 42,
|
|
chuck: 'norris'
|
|
}
|
|
}, function() {
|
|
test.pass("Casper.thenOpen() can open and load a location using POST");
|
|
test.assertEquals(usedSettings, {
|
|
method: "post",
|
|
data: "plop=42&chuck=norris"
|
|
}, "Casper.thenOpen() used the expected POST settings");
|
|
});
|
|
|
|
casper.run(function() {
|
|
test.done();
|
|
});
|
|
}
|
|
});
|
|
|
|
casper.test.begin('open() PUT tests', 2, {
|
|
setUp: setUp,
|
|
tearDown: tearDown,
|
|
test: function(test) {
|
|
// PUT with thenOpen
|
|
casper.thenOpen('tests/site/index.html', {
|
|
method: 'put',
|
|
data: {
|
|
plop: 42,
|
|
chuck: 'norris'
|
|
}
|
|
}, function() {
|
|
test.pass("Casper.thenOpen() can open and load a location using PUT");
|
|
test.assertEquals(usedSettings, {
|
|
method: "put",
|
|
data: "plop=42&chuck=norris"
|
|
}, "Casper.thenOpen() used the expected PUT settings");
|
|
});
|
|
|
|
casper.run(function() {
|
|
test.done();
|
|
});
|
|
}
|
|
});
|
|
|
|
casper.test.begin('open() PUT tests', 2, {
|
|
setUp: setUp,
|
|
tearDown: tearDown,
|
|
test: function(test) {
|
|
// HTTP Auth with thenOpen
|
|
casper.thenOpen('tests/site/index.html', {
|
|
method: 'get',
|
|
username: 'bob',
|
|
password: 'sinclar'
|
|
}, function() {
|
|
test.pass("Casper.thenOpen() can open and load a location using HTTP auth");
|
|
test.assertEquals(usedSettings, {
|
|
method: "get",
|
|
username: 'bob',
|
|
password: 'sinclar'
|
|
}, "Casper.thenOpen() used the expected HTTP auth settings");
|
|
});
|
|
|
|
casper.run(function() {
|
|
test.done();
|
|
});
|
|
}
|
|
});
|
|
|
|
|
|
casper.test.begin('open() POST json object with utf8 content', 2, {
|
|
setUp: setUp,
|
|
tearDown: tearDown,
|
|
test: function(test) {
|
|
casper.open('tests/site/index.html', {
|
|
method: 'POST',
|
|
headers: {
|
|
'Content-Type': 'application/json; charset=utf-8'
|
|
},
|
|
encoding: 'utf8',
|
|
data: {
|
|
plop: 42,
|
|
chuck: 'nórrïs',
|
|
john: {'Doe': 'ïs here™€'}
|
|
}
|
|
}).then(function() {
|
|
test.pass("Casper.open() can POST a JSON object");
|
|
test.assertEquals(usedSettings, {
|
|
method: "POST",
|
|
encoding: 'utf8',
|
|
headers: {
|
|
'Content-Type': 'application/json; charset=utf-8'
|
|
},
|
|
data: '{"plop":42,"chuck":"nórrïs","john":{"Doe":"ïs here™€"}}'
|
|
}, "Casper.open() used the expected POST settings");
|
|
});
|
|
|
|
casper.run(function() {
|
|
test.done();
|
|
});
|
|
}
|
|
});
|
|
|
|
|
|
|