From d17ec768af77605af7cea56979aa9c30a8482fba Mon Sep 17 00:00:00 2001 From: Peter Cottle Date: Sun, 5 Apr 2015 22:39:22 -0700 Subject: [PATCH] more test for command history --- src/__tests__/casperjs/casperUtils.js | 14 +++++++++++ .../casperjs/command_history_test.js | 25 +++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 src/__tests__/casperjs/command_history_test.js diff --git a/src/__tests__/casperjs/casperUtils.js b/src/__tests__/casperjs/casperUtils.js index ef8a6fb0..6e3a9d10 100644 --- a/src/__tests__/casperjs/casperUtils.js +++ b/src/__tests__/casperjs/casperUtils.js @@ -78,6 +78,20 @@ var CasperUtils = { }; }, + selectorMatchesRegex: function(selector, regex) { + return function then() { + this.test.assertEvalEquals(function(selector, regex) { + return !!document.querySelector(selector).innerText + .match(regex); + }, + true, + 'Checking that selector "' + selector + '" matches regex "' + + regex + '".', + {selector: selector, regex: regex} + ); + }; + }, + selectorContainsText: function(selector, text) { return function then() { this.test.assertEvalEquals(function(selector) { diff --git a/src/__tests__/casperjs/command_history_test.js b/src/__tests__/casperjs/command_history_test.js new file mode 100644 index 00000000..7e8b5c97 --- /dev/null +++ b/src/__tests__/casperjs/command_history_test.js @@ -0,0 +1,25 @@ +var CasperUtils = require('./casperUtils').CasperUtils; + +casper.start( + CasperUtils.getUrl(), + function() { + this.test.assertTitle('Learn Git Branching'); + + casper.waitFor(CasperUtils.waits.jsMount) + .wait(300) + .then(CasperUtils.enterCommand('git commit')) + .wait(800) + .then(CasperUtils.screenshot.entirePage) + .then(function() { + this.page.sendEvent('keypress', this.page.event.key.Up); + }) + .wait(700) + .then(CasperUtils.screenshot.entirePage) + // Our command got remembered + .then(CasperUtils.asserts.selectorMatchesRegex( + '#commandLineBar p.command', + // some weird whitespace conversion of non-breaking space + /git\scommit/g + )) + .then(CasperUtils.testDone); +}).run();