mirror of
https://github.com/pcottle/learnGitBranching.git
synced 2025-06-28 08:50:06 +02:00
and for model destory TODO polyfill TODO mixin
This commit is contained in:
parent
d4e0887bc7
commit
1427ba0e58
3 changed files with 54 additions and 1 deletions
48
src/__tests__/casperjs/command_view_test.js
Normal file
48
src/__tests__/casperjs/command_view_test.js
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
var CasperUtils = require('./casperUtils').CasperUtils;
|
||||||
|
|
||||||
|
casper.start(
|
||||||
|
CasperUtils.getUrlForCommands([
|
||||||
|
'asd'
|
||||||
|
]),
|
||||||
|
function() {
|
||||||
|
this.test.assertTitle('Learn Git Branching');
|
||||||
|
|
||||||
|
casper.waitFor(CasperUtils.waits.jsMount)
|
||||||
|
.wait(300)
|
||||||
|
.then(CasperUtils.screenshot.entirePage)
|
||||||
|
.then(CasperUtils.enterCommand('git checkout C1'))
|
||||||
|
.wait(800)
|
||||||
|
.then(CasperUtils.asserts.selectorContainsText(
|
||||||
|
'div.modalView.inFront div.toolbar',
|
||||||
|
'Select a level'
|
||||||
|
))
|
||||||
|
.then(CasperUtils.asserts.selectorContainsText(
|
||||||
|
'div.modalView.inFront div.displayName h3',
|
||||||
|
'Introduction Sequence'
|
||||||
|
))
|
||||||
|
.then(CasperUtils.asserts.selectorContainsText(
|
||||||
|
'div.modalView.inFront div.seriesView p',
|
||||||
|
"A nicely paced introduction to the majority of git commands"
|
||||||
|
))
|
||||||
|
.then(function() {
|
||||||
|
this.page.sendEvent('keypress', this.page.event.key.Right);
|
||||||
|
})
|
||||||
|
.wait(700)
|
||||||
|
.then(CasperUtils.screenshot.entirePage)
|
||||||
|
// Now we have selected the first level
|
||||||
|
.then(CasperUtils.asserts.selectorContainsText(
|
||||||
|
'div.modalView.inFront div.seriesView p',
|
||||||
|
"Introduction to Git Commits"
|
||||||
|
))
|
||||||
|
.then(function() {
|
||||||
|
this.page.sendEvent('keypress', this.page.event.key.Enter);
|
||||||
|
})
|
||||||
|
.wait(700)
|
||||||
|
.then(CasperUtils.screenshot.entirePage)
|
||||||
|
.then(CasperUtils.asserts.selectorContainsText(
|
||||||
|
'div.levelNameWrapper',
|
||||||
|
"Level Introduction to Git Commits"
|
||||||
|
))
|
||||||
|
.then(CasperUtils.testDone);
|
||||||
|
|
||||||
|
}).run();
|
|
@ -201,7 +201,6 @@ var Command = Backbone.Model.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
addWarning: function(msg) {
|
addWarning: function(msg) {
|
||||||
console.log('this is the warning', msg);
|
|
||||||
this.get('warnings').push(msg);
|
this.get('warnings').push(msg);
|
||||||
// change numWarnings so the change event fires. This is bizarre -- Backbone can't
|
// change numWarnings so the change event fires. This is bizarre -- Backbone can't
|
||||||
// detect if an array changes, so adding an element does nothing
|
// detect if an array changes, so adding an element does nothing
|
||||||
|
|
|
@ -18,11 +18,17 @@ var CommandView = React.createClass({
|
||||||
|
|
||||||
componentDidMount: function() {
|
componentDidMount: function() {
|
||||||
this.props.command.on('change', this.updateStateFromModel, this);
|
this.props.command.on('change', this.updateStateFromModel, this);
|
||||||
|
this.props.command.on('destroy', this.onModelDestroy, this);
|
||||||
this.updateStateFromModel();
|
this.updateStateFromModel();
|
||||||
},
|
},
|
||||||
|
|
||||||
componentWillUnmount: function() {
|
componentWillUnmount: function() {
|
||||||
this.props.command.off('change', this.updateStateFromModel, this);
|
this.props.command.off('change', this.updateStateFromModel, this);
|
||||||
|
this.props.command.off('destroy', this.onModelDestroy, this);
|
||||||
|
},
|
||||||
|
|
||||||
|
onModelDestroy: function() {
|
||||||
|
React.unmountComponentAtNode(this.getDOMNode().parentNode);
|
||||||
},
|
},
|
||||||
|
|
||||||
updateStateFromModel: function() {
|
updateStateFromModel: function() {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue