diff --git a/.gitignore b/.gitignore
index 7c59d708..8cb6afaa 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,4 +11,5 @@ index.html
*.sw*
npm-debug.log
src/__tests__/casperjs/screenshots/*.png
+src/__tests__/casperjs/*.js-e
diff --git a/src/__tests__/casperjs/casperUtils.js b/src/__tests__/casperjs/casperUtils.js
index 063a2c3a..bbc7c3e9 100644
--- a/src/__tests__/casperjs/casperUtils.js
+++ b/src/__tests__/casperjs/casperUtils.js
@@ -10,6 +10,10 @@ var CasperUtils = {
casper.echo('Error: ' + msg, 'ERROR');
casper.echo('Stack: ' + JSON.stringify(trace));
});
+ casper.on('remote.error', function(msg) {
+ casper.echo('Console Warn: ' + msg, 'ERROR');
+ });
+
casper.options.logLevel ="debug";
casper.start(url, callback);
return casper;
@@ -106,6 +110,9 @@ var CasperUtils = {
selectorContainsText: function(selector, text) {
return function then() {
this.test.assertEvalEquals(function(selector) {
+ if (!document.querySelector(selector)) {
+ return 'Query selector ' + selector + ' did not match!!';
+ }
return document.querySelector(selector).innerText
.replace(/^\s+/g, '').replace(/\s+$/g, '');
},
diff --git a/src/__tests__/casperjs/command_history_test.js b/src/__tests__/casperjs/command_history_test.js
index 7e8b5c97..d29325ce 100755
--- a/src/__tests__/casperjs/command_history_test.js
+++ b/src/__tests__/casperjs/command_history_test.js
@@ -1,6 +1,6 @@
var CasperUtils = require('./casperUtils').CasperUtils;
-casper.start(
+CasperUtils.start(casper,
CasperUtils.getUrl(),
function() {
this.test.assertTitle('Learn Git Branching');
diff --git a/src/__tests__/casperjs/command_type_test.js b/src/__tests__/casperjs/command_type_test.js
index 2d390cc0..c5b746d1 100755
--- a/src/__tests__/casperjs/command_type_test.js
+++ b/src/__tests__/casperjs/command_type_test.js
@@ -1,6 +1,6 @@
var CasperUtils = require('./casperUtils').CasperUtils;
-casper.start(
+CasperUtils.start(casper,
CasperUtils.getUrl(),
function() {
this.test.assertTitle('Learn Git Branching');
diff --git a/src/__tests__/casperjs/helper_bar_intl_test.js b/src/__tests__/casperjs/helper_bar_intl_test.js
index 34c46fbe..23c2d225 100755
--- a/src/__tests__/casperjs/helper_bar_intl_test.js
+++ b/src/__tests__/casperjs/helper_bar_intl_test.js
@@ -1,6 +1,6 @@
var CasperUtils = require('./casperUtils').CasperUtils;
-casper.start(
+CasperUtils.start(casper,
CasperUtils.getUrl(),
function() {
diff --git a/src/__tests__/casperjs/level_dropdown_keyboard_test.js b/src/__tests__/casperjs/level_dropdown_keyboard_test.js
index e4d9173d..51528870 100755
--- a/src/__tests__/casperjs/level_dropdown_keyboard_test.js
+++ b/src/__tests__/casperjs/level_dropdown_keyboard_test.js
@@ -1,6 +1,6 @@
var CasperUtils = require('./casperUtils').CasperUtils;
-casper.start(
+CasperUtils.start(casper,
CasperUtils.getUrl(),
function() {
this.test.assertTitle('Learn Git Branching');
diff --git a/src/__tests__/casperjs/level_dropdown_page_keyboard_test.js b/src/__tests__/casperjs/level_dropdown_page_keyboard_test.js
index 5aac0397..f354c65f 100755
--- a/src/__tests__/casperjs/level_dropdown_page_keyboard_test.js
+++ b/src/__tests__/casperjs/level_dropdown_page_keyboard_test.js
@@ -1,6 +1,6 @@
var CasperUtils = require('./casperUtils').CasperUtils;
-casper.start(
+CasperUtils.start(casper,
CasperUtils.getUrl(),
function() {
this.test.assertTitle('Learn Git Branching');
@@ -51,7 +51,7 @@ casper.start(
.then(function() {
this.page.sendEvent('keypress', this.page.event.key.Enter);
})
- .wait(1700)
+ .wait(700)
.then(CasperUtils.screenshot.entirePage)
.then(CasperUtils.asserts.selectorContainsText(
'div.levelNameWrapper',
diff --git a/src/__tests__/casperjs/level_dropdown_test.js b/src/__tests__/casperjs/level_dropdown_test.js
index 837c769b..2bed7dd0 100755
--- a/src/__tests__/casperjs/level_dropdown_test.js
+++ b/src/__tests__/casperjs/level_dropdown_test.js
@@ -23,7 +23,7 @@ var levelIconIDsForPages = function(start, end) {
.reduce(flattenArray);
};
-casper.start(
+CasperUtils.start(casper,
CasperUtils.getUrlForCommands([
'levels',
]),
diff --git a/src/__tests__/casperjs/level_objective_test.js b/src/__tests__/casperjs/level_objective_test.js
index fdd08a7a..a57a4bc7 100755
--- a/src/__tests__/casperjs/level_objective_test.js
+++ b/src/__tests__/casperjs/level_objective_test.js
@@ -1,6 +1,6 @@
var CasperUtils = require('./casperUtils').CasperUtils;
-casper.start(
+CasperUtils.start(casper,
CasperUtils.getUrlForCommands([
'level intro1 --noIntroDialog --noStartCommand',
]),
diff --git a/src/__tests__/casperjs/level_show_goal_test.js b/src/__tests__/casperjs/level_show_goal_test.js
index 1cb20a80..94ca07ef 100755
--- a/src/__tests__/casperjs/level_show_goal_test.js
+++ b/src/__tests__/casperjs/level_show_goal_test.js
@@ -1,6 +1,6 @@
var CasperUtils = require('./casperUtils').CasperUtils;
-casper.start(
+CasperUtils.start(casper,
CasperUtils.getUrlForCommands([
'level intro1 --noIntroDialog --noStartCommand',
]),
diff --git a/src/__tests__/casperjs/level_solved_test.js b/src/__tests__/casperjs/level_solved_test.js
index 4ea037cb..54f67b9d 100755
--- a/src/__tests__/casperjs/level_solved_test.js
+++ b/src/__tests__/casperjs/level_solved_test.js
@@ -1,6 +1,6 @@
var CasperUtils = require('./casperUtils').CasperUtils;
-casper.start(
+CasperUtils.start(casper,
CasperUtils.getUrlForCommands([
'level intro1 --noIntroDialog --noStartCommand',
'show goal',
diff --git a/src/__tests__/casperjs/locale_comand_test.js b/src/__tests__/casperjs/locale_comand_test.js
index e91b8412..92346ee3 100755
--- a/src/__tests__/casperjs/locale_comand_test.js
+++ b/src/__tests__/casperjs/locale_comand_test.js
@@ -1,6 +1,6 @@
var CasperUtils = require('./casperUtils').CasperUtils;
-casper.start(
+CasperUtils.start(casper,
CasperUtils.getUrlForCommands([
'locale fr_FR',
]),
diff --git a/src/__tests__/casperjs/locale_header_test.js b/src/__tests__/casperjs/locale_header_test.js
index f2959146..c6aedeb4 100755
--- a/src/__tests__/casperjs/locale_header_test.js
+++ b/src/__tests__/casperjs/locale_header_test.js
@@ -21,7 +21,7 @@ var headerLocaleMap = {
'pt-BR': 'pt_BR'
};
-casper.start(
+CasperUtils.start(casper,
CasperUtils.getUrl(),
function() {
this.test.assertTitle('Learn Git Branching');
diff --git a/src/__tests__/casperjs/locale_uri_param_test.js b/src/__tests__/casperjs/locale_uri_param_test.js
index f0b9c9ce..36f8e8a8 100755
--- a/src/__tests__/casperjs/locale_uri_param_test.js
+++ b/src/__tests__/casperjs/locale_uri_param_test.js
@@ -1,6 +1,6 @@
var CasperUtils = require('./casperUtils').CasperUtils;
-casper.start(
+CasperUtils.start(casper,
CasperUtils.getUrlWithQueryParams({
locale: 'fr_FR',
}),
diff --git a/src/__tests__/casperjs/pageload_test.js b/src/__tests__/casperjs/pageload_test.js
index 6a97a56e..eac8d796 100755
--- a/src/__tests__/casperjs/pageload_test.js
+++ b/src/__tests__/casperjs/pageload_test.js
@@ -1,6 +1,6 @@
var CasperUtils = require('./casperUtils').CasperUtils;
-casper.start(
+CasperUtils.start(casper,
CasperUtils.getUrlForCommands([
'git commit',
]),
diff --git a/src/js/react_views/CommandView.jsx b/src/js/react_views/CommandView.jsx
index c101212f..cd440e52 100644
--- a/src/js/react_views/CommandView.jsx
+++ b/src/js/react_views/CommandView.jsx
@@ -28,6 +28,15 @@ var CommandView = React.createClass({
},
onModelDestroy: function() {
+ if (!this.isMounted()) {
+ return;
+ }
+ if (!this.getDOMNode) {
+ // WTF -- only happens in casperjs tests weirdly
+ console.error('this.getDOMNode not a function?');
+ return;
+ }
+
React.unmountComponentAtNode(this.getDOMNode().parentNode);
},
diff --git a/src/template.index.html b/src/template.index.html
index 9c41eabf..856a1417 100644
--- a/src/template.index.html
+++ b/src/template.index.html
@@ -94,9 +94,6 @@
- {{jsDependencies}}
-
-
+ {{jsDependencies}}
+
+
+