From 3b972fbfbb972850ce0f4af5be925789486676c8 Mon Sep 17 00:00:00 2001 From: Ariya Hidayat Date: Fri, 12 Sep 2014 23:29:40 -0500 Subject: [PATCH] Port the test to change the URL of network request. https://github.com/ariya/phantomjs/issues/12439 --- test/module/webpage/change-request-url.js | 33 +++++++++++++++++++++ test/run-tests.py | 1 + test/webpage-spec.js | 35 ----------------------- 3 files changed, 34 insertions(+), 35 deletions(-) create mode 100644 test/module/webpage/change-request-url.js diff --git a/test/module/webpage/change-request-url.js b/test/module/webpage/change-request-url.js new file mode 100644 index 00000000..f9b5cf37 --- /dev/null +++ b/test/module/webpage/change-request-url.js @@ -0,0 +1,33 @@ +var assert = require('../../assert'); +var webpage = require('webpage'); + +var page = webpage.create(); + +var urlToChange = 'http://localhost:9180/logo.png'; +var alternativeUrl = 'http://localhost:9180/phantomjs-logo.gif'; +var startStage = 0; +var endStage = 0; + +page.onResourceRequested = function(requestData, request) { + if (requestData.url === urlToChange) { + assert.typeOf(request, 'object'); + assert.typeOf(request.changeUrl, 'function'); + request.changeUrl(alternativeUrl); + } +}; + +page.onResourceReceived = function(data) { + if (data.url === alternativeUrl && data.stage === 'start') { + ++startStage; + } + if (data.url === alternativeUrl && data.stage === 'end') { + ++endStage; + } +}; + +page.open('http://localhost:9180/logo.html', function (status) { + assert.equal(status, 'success'); + assert.equal(startStage, 1); + assert.equal(endStage, 1); + assert.equal(page.content.match('logo.png'), 'logo.png'); +}); diff --git a/test/run-tests.py b/test/run-tests.py index d1c55310..54f836ff 100755 --- a/test/run-tests.py +++ b/test/run-tests.py @@ -33,6 +33,7 @@ TESTS = [ 'module/webpage/remove-header.js', 'module/webpage/modify-header.js', 'module/webpage/repaint-requested.js', + 'module/webpage/change-request-url.js', 'module/webpage/abort-network-request.js', 'module/webpage/resource-request-error.js', 'module/webpage/resource-received-error.js', diff --git a/test/webpage-spec.js b/test/webpage-spec.js index 0dda6f12..598e89a8 100644 --- a/test/webpage-spec.js +++ b/test/webpage-spec.js @@ -1208,41 +1208,6 @@ describe("WebPage object", function() { }); }); - it('should change the url of the request', function() { - var page = require('webpage').create(); - var url = 'http://phantomjs.org'; - var urlToChange = 'http://phantomjs.org/img/phantomjs-logo.png'; - var alternativeUrl = 'http://phantomjs.org/img/icon-release.png'; - - var handled = false; - - runs(function() { - page.onResourceRequested = function(requestData, request) { - if (requestData['url'] == urlToChange) { - expect(typeof request).toEqual('object'); - expect(typeof request.changeUrl).toEqual('function'); - request.changeUrl(alternativeUrl); - } - }; - - page.onResourceReceived = function(data) { - if (data['stage'] === 'end' && data['url'] == alternativeUrl) { - handled = true; - } - }; - - page.open(url, function(status) { - expect(status).toEqual('success'); - }); - }); - - waits(3000); - - runs(function() { - expect(handled).toBe(true); - }); - }); - xit("should interrupt a long-running JavaScript code", function() { var page = new WebPage(); var longRunningScriptCalled = false;