Resolves #164 case insensitive branch comparison with test and validation

This commit is contained in:
Peter Cottle 2014-02-27 11:32:11 -08:00
parent 0be3577572
commit 43579378e8
5 changed files with 47 additions and 8 deletions

View file

@ -6,7 +6,7 @@ var loadTree = function(json) {
};
var compareLevelTree = function(headless, levelBlob) {
var actualTree = headless.gitEngine.exportTree();
var actualTree = headless.gitEngine.printTree();
return TreeCompare.dispatchFromLevel(levelBlob, actualTree);
};
@ -30,6 +30,7 @@ var expectLevelAsync = function(headless, levelBlob) {
return;
}
var hasWarned = false;
var start;
runs(function() {
start = Date.now();
@ -37,8 +38,11 @@ var expectLevelAsync = function(headless, levelBlob) {
});
waitsFor(function() {
var diff = (Date.now() - start);
if (diff > TIME - 10) {
console.log('not going to match', command);
if (diff > TIME - 10 && !hasWarned) {
hasWarned = true;
console.log('this goal tree', loadTree(levelBlob.goalTreeString));
console.log('not going to match with command', command);
console.log(getHeadlessSummary(headless));
}
var result = compareLevelTree(headless, levelBlob);
if (result) {

View file

@ -6,7 +6,8 @@ describe('GitEngine Levels', function() {
var sequences = require('../src/levels/index').levelSequences;
_.each(Object.keys(sequences), function(sequenceKey) {
var levels = sequences[sequenceKey];
_.each(levels, function(levelBlob) {
_.each(levels, function(levelBlob, index) {
console.log('testing level', levelBlob.name.en_US);
base.expectLevelSolved(levelBlob);
});
});

View file

@ -55,6 +55,8 @@ describe('Tree Compare', function() {
// state with originTree
'{"branches":{"master":{"target":"C1","id":"master"},"o/master":{"target":"C1","id":"o/master"}},"commits":{"C0":{"parents":[],"id":"C0","rootCommit":true},"C1":{"parents":["C0"],"id":"C1"}},"HEAD":{"target":"master","id":"HEAD"},"originTree":{"branches":{"master":{"remoteTrackingBranch":null,"remote":false,"target":"C1","id":"master","type":"branch"}},"commits":{"C0":{"type":"commit","parents":[],"author":"Peter Cottle","createTime":"Wed Jul 24 2013 09:58:50 GMT-0700 (PDT)","commitMessage":"Quick commit. Go Bears!","id":"C0","rootCommit":true},"C1":{"type":"commit","parents":["C0"],"author":"Peter Cottle","createTime":"Wed Jul 24 2013 09:58:50 GMT-0700 (PDT)","commitMessage":"Quick commit. Go Bears!","id":"C1"}},"HEAD":{"target":"master","id":"HEAD","type":"general ref"}}}',
{
// different cases for origin tree too
'{"branches":{"MaStEr":{"target":"C1","id":"MaStEr"},"o/master":{"target":"C1","id":"o/MaStEr"}},"commits":{"C0":{"parents":[],"id":"C0","rootCommit":true},"C1":{"parents":["C0"],"id":"C1"}},"HEAD":{"target":"MaStEr","id":"HEAD"},"originTree":{"branches":{"MaStEr":{"remoteTrackingBranch":null,"remote":false,"target":"C1","id":"MaStEr","type":"branch"}},"commits":{"C0":{"type":"commit","parents":[],"author":"Peter Cottle","createTime":"Wed Jul 24 2013 09:58:50 GMT-0700 (PDT)","commitMessage":"Quick commit. Go Bears!","id":"C0","rootCommit":true},"C1":{"type":"commit","parents":["C0"],"author":"Peter Cottle","createTime":"Wed Jul 24 2013 09:58:50 GMT-0800 (PDT)","commitMessage":"Quick commit. Go Bears!","id":"C1"}},"HEAD":{"target":"MaStEr","id":"HEAD","type":"general ref"}}}': true,
// one extra commit in origin
'{"branches":{"master":{"target":"C1","id":"master"},"o/master":{"target":"C1","id":"o/master"}},"commits":{"C0":{"parents":[],"id":"C0","rootCommit":true},"C1":{"parents":["C0"],"id":"C1"}},"HEAD":{"target":"master","id":"HEAD"},"originTree":{"branches":{"master":{"remoteTrackingBranch":null,"remote":false,"target":"C2","id":"master","type":"branch"}},"commits":{"C0":{"type":"commit","parents":[],"author":"Peter Cottle","createTime":"Wed Jul 24 2013 10:24:50 GMT-0700 (PDT)","commitMessage":"Quick commit. Go Bears!","id":"C0","rootCommit":true},"C1":{"type":"commit","parents":["C0"],"author":"Peter Cottle","createTime":"Wed Jul 24 2013 10:24:50 GMT-0700 (PDT)","commitMessage":"Quick commit. Go Bears!","id":"C1"},"C2":{"type":"commit","parents":["C1"],"author":"Peter Cottle","createTime":"Wed Jul 24 2013 10:24:55 GMT-0700 (PDT)","commitMessage":"Quick commit. Go Bears!","id":"C2"}},"HEAD":{"target":"master","id":"HEAD","type":"general ref"}}}': false,
// extra commit local
@ -88,6 +90,8 @@ describe('Tree Compare', function() {
{
// side branch that is checked out
'{"branches":{"master":{"target":"C2","id":"master"},"side":{"target":"C3","id":"side"}},"commits":{"C0":{"parents":[],"id":"C0","rootCommit":true},"C1":{"parents":["C0"],"id":"C1"},"C2":{"parents":["C1"],"id":"C2"},"C3":{"parents":["C2"],"id":"C3"}},"HEAD":{"target":"side","id":"HEAD"}}': false,
// different cases of branches
'{"branches":{"mAsTeR":{"target":"C3","id":"mAsTeR"}},"commits":{"C0":{"parents":[],"id":"C0","rootCommit":true},"C1":{"parents":["C0"],"id":"C1"},"C2":{"parents":["C1"],"id":"C2"},"C3":{"parents":["C2"],"id":"C3"}},"HEAD":{"target":"mAsTeR","id":"HEAD"}}': true,
// head detached
'{"branches":{"master":{"target":"C3","id":"master"}},"commits":{"C0":{"parents":[],"id":"C0","rootCommit":true},"C1":{"parents":["C0"],"id":"C1"},"C2":{"parents":["C1"],"id":"C2"},"C3":{"parents":["C2"],"id":"C3"}},"HEAD":{"target":"C2","id":"HEAD"}}': false
}