Skip to content
This repository has been archived by the owner on Jun 19, 2020. It is now read-only.

Commit

Permalink
require is still defined (#1782)
Browse files Browse the repository at this point in the history
change localhost port navigation.js

onLongRunningScript Test Fix Bug

remove __proto__ method

add slimerJS 0.10.3 version into tests
  • Loading branch information
jefleponot committed Mar 10, 2017
1 parent f4ba508 commit aaa58c5
Show file tree
Hide file tree
Showing 16 changed files with 54 additions and 30 deletions.
4 changes: 2 additions & 2 deletions .travis.yml
Expand Up @@ -145,8 +145,8 @@ matrix:
addons:
firefox: latest-esr
- env: >
CASPERJS_ENGINE="slimerjs" ENGINE_VERSION="0.10.2" MAKE_TEST_COMMAND="test" ENGINE_XVFB="1"
ENGINE_ARCHIVE_URL="https://github.com/casperjs/slimerjs-builds/releases/download/v0.10.2/slimerjs-0.10.2.zip"
CASPERJS_ENGINE="slimerjs" ENGINE_VERSION="0.10.3" MAKE_TEST_COMMAND="test" ENGINE_XVFB="1"
ENGINE_ARCHIVE_URL="https://github.com/casperjs/slimerjs-builds/releases/download/v0.10.3/slimerjs-0.10.3.zip"
os: linux
addons:
firefox: latest-esr
Expand Down
7 changes: 7 additions & 0 deletions bin/bootstrap.js
Expand Up @@ -181,6 +181,13 @@ CasperError.prototype = Object.getPrototypeOf(new Error());
}).join('/');
};
}

if (phantom.casperEngine === 'slimerjs' && slimer.version.major === 0 && slimer.version.minor <= 9){
fs.size = function (filename){
var t = fs.read(filename, "rt");
return t.length;
};
}
return fs;
})(require('fs'));

Expand Down
16 changes: 10 additions & 6 deletions modules/casper.js
Expand Up @@ -29,7 +29,7 @@
*/

/*global __utils__, CasperError, console, exports, phantom, patchRequire, require:true*/
var require = patchRequire(require);
require = patchRequire(require);
var colorizer = require('colorizer');
var events = require('events');
var fs = require('fs');
Expand Down Expand Up @@ -119,6 +119,7 @@ var Casper = function Casper(options) {
page: null,
pageSettings: {
localToRemoteUrlAccessEnabled: true,
javascriptEnabled: true,
userAgent: defaultUserAgent
},
remoteScripts: [],
Expand Down Expand Up @@ -724,7 +725,7 @@ Casper.prototype.evaluate = function evaluate(fn, context) {
return utils.clone(this.page.evaluate(fn));
} else if (arguments.length === 2) {
// check for closure signature if it matches context
if (utils.isObject(context) && eval(fn).length === Object.keys(context).length) {
if (utils.isObject(context) && fn.length === Object.keys(context).length) {
/*
* in case if user passes argument as one array with only one object.
* evaluate shlould return original array with one object
Expand Down Expand Up @@ -1481,6 +1482,7 @@ Casper.prototype.open = function open(location, settings) {
// current request url
this.configureHttpAuth(location, settings);
this.requestUrl = this.filter('open.location', location) || location;

this.emit('open', this.requestUrl, settings);
this.log(f('opening url: %s, HTTP %s', this.requestUrl, settings.method.toUpperCase()), "debug");
// reset resources
Expand Down Expand Up @@ -1598,7 +1600,7 @@ Casper.prototype.runStep = function runStep(step) {
"use strict";
/*eslint max-statements:0*/
this.checkStarted();
var skipLog = utils.isObject(step.options) && step.options.skipLog === true,
var skipLog = !!step.options && utils.isObject(step.options) && step.options.skipLog === true,
stepInfo = f("Step %s %d/%d", step.name || "anonymous", this.step, this.steps.length),
stepResult;
function getCurrentSuiteId(casper) {
Expand Down Expand Up @@ -1691,7 +1693,7 @@ Casper.prototype.sendKeys = function(selector, keys, options) {
}, selector);
this.click(selector);
}
var modifiers = utils.computeModifier(options && options.modifiers,
var modifiers = utils.computeModifier(options && options.modifiers || null,
this.page.event.modifier);
this.page.sendEvent(options.eventType, keys, null, null, modifiers);
if (isTextInput && !options.keepFocus) {
Expand Down Expand Up @@ -2718,6 +2720,8 @@ function createPage(casper) {
this.loadInProgress = false;
if (this.isPopup) {
casper.emit('popup.loaded', this);
} else {
casper.emit('page.loaded', this);
}
};

Expand Down Expand Up @@ -2842,8 +2846,8 @@ function createPage(casper) {
casper.options.onPageInitialized.call(casper, page);
}
};
page.onLongRunningScript = function onLongRunningScript() {
casper.emit('remote.longRunningScript', this);
page.onLongRunningScript = function onLongRunningScript(message) {
casper.emit('remote.longRunningScript', page, message);
};
page.onPrompt = function onPrompt(message, value) {
return casper.filter('page.prompt', message, value);
Expand Down
2 changes: 1 addition & 1 deletion modules/cli.js
Expand Up @@ -30,7 +30,7 @@

/*global CasperError, console, exports, phantom, patchRequire, require:true*/

var require = patchRequire(require);
require = patchRequire(require);
var utils = require('utils');
var system = require('system');

Expand Down
2 changes: 1 addition & 1 deletion modules/colorizer.js
Expand Up @@ -30,7 +30,7 @@

/*global exports, console, patchRequire, require:true*/

var require = patchRequire(require);
require = patchRequire(require);
var fs = require('fs');
var utils = require('utils');
var env = require('system').env;
Expand Down
12 changes: 10 additions & 2 deletions modules/http.js
Expand Up @@ -28,7 +28,7 @@
*
*/

var require = patchRequire(require);
require = patchRequire(require);
var utils = require('utils');

/*
Expand Down Expand Up @@ -67,6 +67,14 @@ exports.augmentResponse = function(response) {
if (!utils.isHTTPResource(response)) {
return;
}
response.headers.__proto__ = responseHeaders.prototype;

// response.headers.__proto__ = responseHeaders.prototype;
Object.setPrototypeOf = Object.setPrototypeOf || function(obj, proto) {
obj.__proto__ = proto;
return obj;
};

Object.setPrototypeOf(response.headers, responseHeaders.prototype);

return response;
};
2 changes: 1 addition & 1 deletion modules/mouse.js
Expand Up @@ -30,7 +30,7 @@

/*global CasperError, exports, patchRequire, require:true*/

var require = patchRequire(require);
require = patchRequire(require);
var utils = require('utils');

var Mouse = function Mouse(casper) {
Expand Down
2 changes: 1 addition & 1 deletion modules/pagestack.js
Expand Up @@ -30,7 +30,7 @@

/*global CasperError, console, exports, phantom, patchRequire, require:true*/

var require = patchRequire(require);
require = patchRequire(require);
var utils = require('utils');
var f = utils.format;

Expand Down
3 changes: 2 additions & 1 deletion modules/tester.js
Expand Up @@ -28,7 +28,7 @@
*
*/

var require = patchRequire(require);
require = patchRequire(require);
var fs = require('fs');
var events = require('events');
var utils = require('utils');
Expand Down Expand Up @@ -114,6 +114,7 @@ var Tester = function Tester(casper, options) {
failText: "FAIL", // text to use for a failed test
passText: "PASS", // text to use for a succesful test
skipText: "SKIP", // text to use for a skipped test
save: false, // false to not save
pad: 80 , // maximum number of chars for a result line
warnText: "WARN" // text to use for a dubious test
}, options);
Expand Down
4 changes: 2 additions & 2 deletions modules/utils.js
Expand Up @@ -29,7 +29,7 @@
*/


var require = patchRequire(require);
require = patchRequire(require);

/**
* Provides a better typeof operator equivalent, able to retrieve the array
Expand Down Expand Up @@ -798,7 +798,7 @@ function unique(array) {
r = [];
for (var i = 0, len = array.length; i !== len; i++) {
var d = array[i];
if (o[d] !== 1) {
if (typeof o[d] === "undefined") {
o[d] = 1;
r[r.length] = d;
}
Expand Down
2 changes: 1 addition & 1 deletion modules/xunit.js
Expand Up @@ -30,7 +30,7 @@

/*global CasperError, console, exports, phantom, patchRequire, require:true*/

var require = patchRequire(require);
require = patchRequire(require);
var utils = require('utils');
var fs = require('fs');
var TestSuiteResult = require('tester').TestSuiteResult;
Expand Down
1 change: 1 addition & 0 deletions samples/each.js
@@ -1,6 +1,7 @@
/*eslint strict:0*/
/*global CasperError, console, phantom, require*/

require = patchRequire(require);
var casper = require("casper").create();

var links = [
Expand Down
2 changes: 1 addition & 1 deletion tests/site/area.html
Expand Up @@ -55,7 +55,7 @@
<div id="thinga"> </div>
</div>

<script src="http://www.kirupa.com/prefixfree.min.js"></script>

<script>
(function(window) {
var theThing = document.querySelector("#thing");
Expand Down
2 changes: 1 addition & 1 deletion tests/suites/casper/formfill.js
Expand Up @@ -451,7 +451,7 @@ casper.test.begin('setFieldValueName() tests', 11, function(test) {

casper.test.begin('setFieldValueLabel() tests', 11, function(test) {
var fpath = fs.pathJoin(phantom.casperPath, 'README.md');
casper.start('tests/site/form.html', function() {0
casper.start('tests/site/form.html', function() {
var data = {
Email: 'chuck@norris.com',
Password: 42,
Expand Down
19 changes: 9 additions & 10 deletions tests/suites/casper/navigation.js
@@ -1,6 +1,6 @@
/*eslint strict:0*/
var server = require('webserver').create();
var service = server.listen(8090, function(request, response) {
var service = server.listen(8092, function(request, response) {
var path = request.url.split('/');
response.statusCode = 200;

Expand Down Expand Up @@ -43,23 +43,23 @@ var resourceTimeout = function resourceTimeout (request) {
casper.test.pass('resource.timeout matched');
};

var stopScript = function stopScript (webpage) {
var stopScript = function stopScript (webpage, message) {
webpage.stopJavaScript();
casper.test.pass('remote.longRunningScript matched');
casper.test.pass('remote.longRunningScript matched ' + message);
return true;
};

var closeService = function closeService(message) {
casper.test.begin(message, 0, function(test) {
casper.start('http://localhost:8090/').run(function() {
casper.start('http://localhost:8092/').run(function() {
test.done();
server.close();
});
});
};

casper.test.begin('Link Navigation updates response', 2, function(test) {
casper.start('http://localhost:8090/', function(response) {
casper.start('http://localhost:8092/', function(response) {
casper.click('a');
casper.then(function(response) {
test.assertUrlMatch(
Expand All @@ -78,7 +78,7 @@ casper.test.begin('Link Navigation updates response', 2, function(test) {
});

casper.test.begin('Form Submittal updates the response', 2, function(test) {
casper.start('http://localhost:8090/', function(response) {
casper.start('http://localhost:8092/', function(response) {
casper.fill('form', {}, true);
casper.then(function(response) {
test.assertUrlMatch(
Expand All @@ -103,20 +103,19 @@ if (phantom.casperEngine === 'slimerjs' && utils.ltVersion(slimer.version, '0.10

casper.on("resource.timeout",resourceTimeout);
casper.page.settings.resourceTimeout = 1000;
casper.start('http://localhost:8090/indexscript2', function(response) {
casper.start('http://localhost:8092/indexscript2', function(response) {
delete casper.page.settings.resourceTimeout;
test.pass('unable to load page on time');
casper.removeListener("resource.timeout", resourceTimeout);
}).run(function() {

test.done();
});
});

casper.test.begin('Catch resourceTimeout on No response', 2, function(test) {
casper.on("resource.timeout",resourceTimeout);
casper.page.settings.resourceTimeout = 1000;
casper.start('http://localhost:8090/indexscript', function(response) {
casper.start('http://localhost:8092/indexscript', function(response) {
delete casper.page.settings.resourceTimeout;
test.pass('unable to load page on time');
casper.removeListener("resource.timeout", resourceTimeout);
Expand All @@ -131,7 +130,7 @@ if (phantom.casperEngine === 'slimerjs' && utils.ltVersion(slimer.version, '0.10
} else {
casper.test.begin('Catch longRunningScript', 2, function(test) {
casper.on("remote.longRunningScript", stopScript);
casper.start('http://localhost:8090/longScript', function(response) {
casper.start('http://localhost:8092/longScript', function(response) {
test.pass('unable to load page on time because of script');
casper.removeListener("remote.longRunningScript", stopScript);
}).run(function() {
Expand Down
4 changes: 4 additions & 0 deletions tests/suites/casper/sendAjax.js
Expand Up @@ -43,6 +43,10 @@ casper.test.begin("__utils__.sendAJAX() POST Custom Headers tests", 8, {
};
return __utils__.sendAJAX(url, 'POST', customData, true, customSettings);
}, wsurl);
}).then(function(){
casper.waitFor(function(){
return requestReceived !== null;
});
}).then(function(){
test.assertEquals(requestReceived.method, "POST",
"AJAX POST Request has been received!");
Expand Down

0 comments on commit aaa58c5

Please sign in to comment.