puppeteer/third_party/phantomjs/test/module/webpage/open.js
2017-05-11 00:06:41 -07:00

54 lines
1.9 KiB
JavaScript

async_test(function () {
var webpage = require('webpage');
var page = webpage.create();
assert_type_of(page, 'object');
page.onResourceReceived = this.step_func(function (resource) {
assert_equals(resource.status, 200);
});
page.open(TEST_HTTP_BASE + 'hello.html',
this.step_func_done(function (status) {
assert_equals(status, 'success');
assert_type_of(page.title, 'string');
assert_equals(page.title, 'Hello');
assert_type_of(page.plainText, 'string');
assert_equals(page.plainText, 'Hello, world!');
}));
}, "opening a webpage");
async_test(function () {
var webpage = require('webpage');
var page = webpage.create();
// both onResourceReceived and onResourceError should be called
page.onResourceReceived = this.step_func(function (resource) {
assert_equals(resource.status, 401);
});
page.onResourceError = this.step_func(function (err) {
assert_equals(err.errorString, "Operation canceled");
});
page.open(TEST_HTTP_BASE + 'status?status=401' +
'&WWW-Authenticate=Basic%20realm%3D%22PhantomJS%20test%22',
this.step_func_done(function (status) {
assert_equals(status, 'fail');
}));
}, "proper handling of HTTP error responses", {/* unsupported */expected_fail: true});
async_test(function () {
var webpage = require('webpage');
var page = webpage.create();
page.settings.resourceTimeout = 1;
// This is all you have to do to assert that a hook does get called.
page.onResourceTimeout = this.step_func(function(){});
page.open(TEST_HTTP_BASE + "delay?5",
this.step_func_done(function (s) {
assert_not_equals(s, "success");
}));
}, "onResourceTimeout fires after resourceTimeout ms", {/* unsupported */expected_fail: true});