and for model destory TODO polyfill TODO mixin

This commit is contained in:
Peter Cottle 2015-04-11 12:13:19 -07:00
parent d4e0887bc7
commit 1427ba0e58
3 changed files with 54 additions and 1 deletions

View 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();

View file

@ -201,7 +201,6 @@ var Command = Backbone.Model.extend({
},
addWarning: function(msg) {
console.log('this is the warning', msg);
this.get('warnings').push(msg);
// change numWarnings so the change event fires. This is bizarre -- Backbone can't
// detect if an array changes, so adding an element does nothing

View file

@ -18,11 +18,17 @@ var CommandView = React.createClass({
componentDidMount: function() {
this.props.command.on('change', this.updateStateFromModel, this);
this.props.command.on('destroy', this.onModelDestroy, this);
this.updateStateFromModel();
},
componentWillUnmount: function() {
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() {