mirror of
https://github.com/pcottle/learnGitBranching.git
synced 2025-07-10 06:34:26 +02:00
working on tree compare tests etc
This commit is contained in:
parent
89fa08e149
commit
3d8e40851e
5 changed files with 71 additions and 4 deletions
|
@ -28136,7 +28136,9 @@ var toGlobalize = {
|
|||
};
|
||||
|
||||
_.each(toGlobalize, function(module) {
|
||||
_.extend(window, module);
|
||||
for (var key in module) {
|
||||
window['debug_' + key] = module[key];
|
||||
}
|
||||
});
|
||||
|
||||
$(document).ready(function() {
|
||||
|
@ -28145,6 +28147,7 @@ $(document).ready(function() {
|
|||
window.sandbox = toGlobalize.Main.getSandbox();
|
||||
window.modules = toGlobalize;
|
||||
window.levelDropdown = toGlobalize.Main.getLevelDropdown();
|
||||
window.under = _;
|
||||
});
|
||||
|
||||
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
var HeadlessGit = require('../src/js/git/headless').HeadlessGit;
|
||||
var TreeCompare = require('../src/js/git/treeCompare').TreeCompare;
|
||||
var treeCompare = new TreeCompare();
|
||||
|
||||
var loadTree = function(json) {
|
||||
return JSON.parse(unescape(json));
|
||||
|
@ -10,7 +9,7 @@ var compareAnswer = function(headless, expectedJSON) {
|
|||
var expectedTree = loadTree(expectedJSON);
|
||||
var actualTree = headless.gitEngine.exportTree();
|
||||
|
||||
var equal = treeCompare.compareTrees(expectedTree, actualTree);
|
||||
var equal = TreeCompare.compareTrees(expectedTree, actualTree);
|
||||
if (!equal) {
|
||||
console.log('tree1', expectedTree);
|
||||
console.log('tree2', actualTree);
|
||||
|
|
39
spec/treeCompare.spec.js
Normal file
39
spec/treeCompare.spec.js
Normal file
|
@ -0,0 +1,39 @@
|
|||
var TreeCompare = require('../src/js/git/treeCompare').TreeCompare;
|
||||
var _ = require('underscore');
|
||||
|
||||
var loadTree = function(json) {
|
||||
return JSON.parse(unescape(json));
|
||||
};
|
||||
|
||||
var copyArgs = function(args) {
|
||||
return _.map(args, function(arg) {
|
||||
return arg;
|
||||
});
|
||||
};
|
||||
|
||||
var loadTree = function(treeString) {
|
||||
return TreeCompare.convertTreeSafe(treeString);
|
||||
};
|
||||
|
||||
var testMethod = function(compareMethod, goalTreeString /* other trees */) {
|
||||
if (arguments.length < 3) {
|
||||
throw new Error('not allowed! need at least one tree to compare');
|
||||
}
|
||||
|
||||
var toCompare = copyArgs(arguments).slice(2);
|
||||
_.each(toCompare, function(actualTree) {
|
||||
var isEqual = TreeCompare.dispatch(compareMethod, goalTreeString, actualTree);
|
||||
if (!isEqual) {
|
||||
console.log('this goal tree', loadTree(goalTreeString));
|
||||
console.log('did not match this tree', loadTree(actualTree));
|
||||
}
|
||||
expect(isEqual).toBe(true);
|
||||
});
|
||||
};
|
||||
|
||||
describe('Tree Compare', function() {
|
||||
it('can compare only master', function() {
|
||||
|
||||
});
|
||||
});
|
||||
|
|
@ -3,6 +3,29 @@ var _ = require('underscore');
|
|||
// static class...
|
||||
var TreeCompare = {};
|
||||
|
||||
TreeCompare.dispatchFromLevel = function(levelBlob, treeToCompare) {
|
||||
var goalTreeString = levelBlob.goalTreeString;
|
||||
return TreeCompare.dispatch(levelBlob, goalTreeString, treeToCompare);
|
||||
};
|
||||
|
||||
TreeCompare.dispatch = function(levelBlob, goalTreeString, treeToCompare) {
|
||||
switch(true) {
|
||||
case !!levelBlob.compareOnlyMaster:
|
||||
return TreeCompare.compareBranchWithinTrees(current, goalTreeString, 'master');
|
||||
case !!levelBlob.compareOnlyBranches:
|
||||
return TreeCompare.compareAllBranchesWithinTrees(current, goalTreeString);
|
||||
case !!levelBlob.compareAllBranchesHashAgnostic:
|
||||
return TreeCompare.compareAllBranchesWithinTreesHashAgnostic(current, goalTreeString);
|
||||
case !!levelBlob.compareOnlyMasterHashAgnostic:
|
||||
return TreeCompare.compareBranchesWithinTreesHashAgnostic(current, goalTreeString, ['master']);
|
||||
case !!levelBlob.compareOnlyMasterHashAgnosticWithAsserts:
|
||||
return TreeCompare.compareBranchesWithinTreesHashAgnostic(current, goalTreeString, ['master']) &&
|
||||
TreeCompare.evalAsserts(current, levelBlob.goalAsserts);
|
||||
default:
|
||||
return TreeCompare.compareAllBranchesWithinTreesAndHEAD(current, goalTreeString);
|
||||
}
|
||||
};
|
||||
|
||||
// would love to have copy properties here.. :(
|
||||
TreeCompare.compareAllBranchesWithinTreesAndHEAD = function(treeA, treeB) {
|
||||
treeA = this.convertTreeSafe(treeA);
|
||||
|
|
|
@ -28,7 +28,9 @@ var toGlobalize = {
|
|||
};
|
||||
|
||||
_.each(toGlobalize, function(module) {
|
||||
_.extend(window, module);
|
||||
for (var key in module) {
|
||||
window['debug_' + key] = module[key];
|
||||
}
|
||||
});
|
||||
|
||||
$(document).ready(function() {
|
||||
|
@ -37,5 +39,6 @@ $(document).ready(function() {
|
|||
window.sandbox = toGlobalize.Main.getSandbox();
|
||||
window.modules = toGlobalize;
|
||||
window.levelDropdown = toGlobalize.Main.getLevelDropdown();
|
||||
window.under = _;
|
||||
});
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue