refactored to base compare

This commit is contained in:
Peter Cottle 2013-08-04 12:55:49 -07:00
parent fbb0da00f4
commit 7db6f0d38c
6 changed files with 82 additions and 93 deletions

View file

@ -1,50 +1,5 @@
var HeadlessGit = require('../src/js/git/headless').HeadlessGit;
var TreeCompare = require('../src/js/git/treeCompare').TreeCompare;
var _ = require('underscore');
var TIME = 150;
var loadTree = function(json) {
return JSON.parse(unescape(json));
};
var compareLevelTree = function(headless, levelBlob) {
var actualTree = headless.gitEngine.exportTree();
return TreeCompare.dispatchFromLevel(levelBlob, actualTree);
};
var expectTreeAsync = function(headless, levelBlob) {
var command = levelBlob.solutionCommand;
if (command.indexOf('git rebase -i') !== -1) {
// dont do interactive rebase levels
return;
}
var start;
runs(function() {
start = Date.now();
headless.sendCommand(command);
});
waitsFor(function() {
var diff = (Date.now() - start);
if (diff > TIME - 10) {
console.log('not going to match', command);
}
var result = compareLevelTree(headless, levelBlob);
if (result) {
console.log('solved level ' + levelBlob.name.en_US);
}
return result;
}, 'trees should be equal', TIME);
};
var expectLevelSolved = function(levelBlob) {
var headless = new HeadlessGit();
if (levelBlob.startTree) {
headless.gitEngine.loadTreeFromString(levelBlob.startTree);
}
expectTreeAsync(headless, levelBlob);
};
var base = require('./base');
describe('GitEngine Levels', function() {
it('solves levels', function() {
@ -52,7 +7,7 @@ describe('GitEngine Levels', function() {
_.each(Object.keys(sequences), function(sequenceKey) {
var levels = sequences[sequenceKey];
_.each(levels, function(levelBlob) {
expectLevelSolved(levelBlob);
base.expectLevelSolved(levelBlob);
});
});
});