mirror of
https://github.com/pcottle/learnGitBranching.git
synced 2025-07-10 14:44:28 +02:00
Tests all greengs! woooo
This commit is contained in:
parent
afebc47c4a
commit
ea30b42616
2 changed files with 24 additions and 60 deletions
|
@ -9,10 +9,16 @@ var compareAnswer = function(headless, expectedJSON) {
|
||||||
var expectedTree = loadTree(expectedJSON);
|
var expectedTree = loadTree(expectedJSON);
|
||||||
var actualTree = headless.gitEngine.exportTree();
|
var actualTree = headless.gitEngine.exportTree();
|
||||||
|
|
||||||
var equal = TreeCompare.compareTrees(expectedTree, actualTree);
|
return TreeCompare.compareTrees(expectedTree, actualTree);
|
||||||
|
};
|
||||||
|
|
||||||
|
var compareAnswerExpect = function(headless, expectedJSON) {
|
||||||
|
var equal = compareAnswer(headless, expectedJSON);
|
||||||
if (!equal) {
|
if (!equal) {
|
||||||
console.log('tree1', expectedTree);
|
var expectedTree = loadTree(expectedJSON);
|
||||||
console.log('tree2', actualTree);
|
var actualTree = headless.gitEngine.exportTree();
|
||||||
|
console.log('expected Tree', expectedTree);
|
||||||
|
console.log('actual Tree', actualTree);
|
||||||
console.log('~~~~~~~~~~~~~~~~~~~~~');
|
console.log('~~~~~~~~~~~~~~~~~~~~~');
|
||||||
}
|
}
|
||||||
expect(equal).toBe(true);
|
expect(equal).toBe(true);
|
||||||
|
@ -21,7 +27,17 @@ var compareAnswer = function(headless, expectedJSON) {
|
||||||
var expectTree = function(command, expectedJSON) {
|
var expectTree = function(command, expectedJSON) {
|
||||||
var headless = new HeadlessGit();
|
var headless = new HeadlessGit();
|
||||||
headless.sendCommand(command);
|
headless.sendCommand(command);
|
||||||
compareAnswer(headless, expectedJSON);
|
compareAnswerExpect(headless, expectedJSON);
|
||||||
|
};
|
||||||
|
|
||||||
|
var expectTreeAsync = function(command, expectedJSON) {
|
||||||
|
var headless = new HeadlessGit();
|
||||||
|
runs(function() {
|
||||||
|
headless.sendCommand(command);
|
||||||
|
});
|
||||||
|
waitsFor(function() {
|
||||||
|
return compareAnswer(headless, expectedJSON);
|
||||||
|
}, 'trees should be equal', 750);
|
||||||
};
|
};
|
||||||
|
|
||||||
describe('GitEngine', function() {
|
describe('GitEngine', function() {
|
||||||
|
@ -40,14 +56,14 @@ describe('GitEngine', function() {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Rebases', function() {
|
it('Rebases', function() {
|
||||||
expectTree(
|
expectTreeAsync(
|
||||||
'gc; git checkout -b side C1; gc; git rebase master',
|
'gc; git checkout -b side C1; gc; git rebase master',
|
||||||
'%7B%22branches%22%3A%7B%22master%22%3A%7B%22target%22%3A%22C2%22%2C%22id%22%3A%22master%22%7D%2C%22side%22%3A%7B%22target%22%3A%22C3%27%22%2C%22id%22%3A%22side%22%7D%7D%2C%22commits%22%3A%7B%22C0%22%3A%7B%22parents%22%3A%5B%5D%2C%22id%22%3A%22C0%22%2C%22rootCommit%22%3Atrue%7D%2C%22C1%22%3A%7B%22parents%22%3A%5B%22C0%22%5D%2C%22id%22%3A%22C1%22%7D%2C%22C2%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C2%22%7D%2C%22C3%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C3%22%7D%2C%22C3%27%22%3A%7B%22parents%22%3A%5B%22C2%22%5D%2C%22id%22%3A%22C3%27%22%7D%7D%2C%22HEAD%22%3A%7B%22target%22%3A%22side%22%2C%22id%22%3A%22HEAD%22%7D%7D'
|
'%7B%22branches%22%3A%7B%22master%22%3A%7B%22target%22%3A%22C2%22%2C%22id%22%3A%22master%22%7D%2C%22side%22%3A%7B%22target%22%3A%22C3%27%22%2C%22id%22%3A%22side%22%7D%7D%2C%22commits%22%3A%7B%22C0%22%3A%7B%22parents%22%3A%5B%5D%2C%22id%22%3A%22C0%22%2C%22rootCommit%22%3Atrue%7D%2C%22C1%22%3A%7B%22parents%22%3A%5B%22C0%22%5D%2C%22id%22%3A%22C1%22%7D%2C%22C2%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C2%22%7D%2C%22C3%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C3%22%7D%2C%22C3%27%22%3A%7B%22parents%22%3A%5B%22C2%22%5D%2C%22id%22%3A%22C3%27%22%7D%7D%2C%22HEAD%22%3A%7B%22target%22%3A%22side%22%2C%22id%22%3A%22HEAD%22%7D%7D'
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Reverts', function() {
|
it('Reverts', function() {
|
||||||
expectTree(
|
expectTreeAsync(
|
||||||
'git revert HEAD',
|
'git revert HEAD',
|
||||||
'%7B%22branches%22%3A%7B%22master%22%3A%7B%22target%22%3A%22C1%27%22%2C%22id%22%3A%22master%22%7D%7D%2C%22commits%22%3A%7B%22C0%22%3A%7B%22parents%22%3A%5B%5D%2C%22id%22%3A%22C0%22%2C%22rootCommit%22%3Atrue%7D%2C%22C1%22%3A%7B%22parents%22%3A%5B%22C0%22%5D%2C%22id%22%3A%22C1%22%7D%2C%22C1%27%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C1%27%22%7D%7D%2C%22HEAD%22%3A%7B%22target%22%3A%22master%22%2C%22id%22%3A%22HEAD%22%7D%7D'
|
'%7B%22branches%22%3A%7B%22master%22%3A%7B%22target%22%3A%22C1%27%22%2C%22id%22%3A%22master%22%7D%7D%2C%22commits%22%3A%7B%22C0%22%3A%7B%22parents%22%3A%5B%5D%2C%22id%22%3A%22C0%22%2C%22rootCommit%22%3Atrue%7D%2C%22C1%22%3A%7B%22parents%22%3A%5B%22C0%22%5D%2C%22id%22%3A%22C1%22%7D%2C%22C1%27%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C1%27%22%7D%7D%2C%22HEAD%22%3A%7B%22target%22%3A%22master%22%2C%22id%22%3A%22HEAD%22%7D%7D'
|
||||||
);
|
);
|
||||||
|
@ -89,7 +105,7 @@ describe('GitEngine', function() {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Cherry picks', function() {
|
it('Cherry picks', function() {
|
||||||
expectTree(
|
expectTreeAsync(
|
||||||
'git checkout -b side C0; gc; git cherry-pick C1',
|
'git checkout -b side C0; gc; git cherry-pick C1',
|
||||||
'%7B%22branches%22%3A%7B%22master%22%3A%7B%22target%22%3A%22C1%22%2C%22id%22%3A%22master%22%7D%2C%22side%22%3A%7B%22target%22%3A%22C1%27%22%2C%22id%22%3A%22side%22%7D%7D%2C%22commits%22%3A%7B%22C0%22%3A%7B%22parents%22%3A%5B%5D%2C%22id%22%3A%22C0%22%2C%22rootCommit%22%3Atrue%7D%2C%22C1%22%3A%7B%22parents%22%3A%5B%22C0%22%5D%2C%22id%22%3A%22C1%22%7D%2C%22C2%22%3A%7B%22parents%22%3A%5B%22C0%22%5D%2C%22id%22%3A%22C2%22%7D%2C%22C1%27%22%3A%7B%22parents%22%3A%5B%22C2%22%5D%2C%22id%22%3A%22C1%27%22%7D%7D%2C%22HEAD%22%3A%7B%22target%22%3A%22side%22%2C%22id%22%3A%22HEAD%22%7D%7D'
|
'%7B%22branches%22%3A%7B%22master%22%3A%7B%22target%22%3A%22C1%22%2C%22id%22%3A%22master%22%7D%2C%22side%22%3A%7B%22target%22%3A%22C1%27%22%2C%22id%22%3A%22side%22%7D%7D%2C%22commits%22%3A%7B%22C0%22%3A%7B%22parents%22%3A%5B%5D%2C%22id%22%3A%22C0%22%2C%22rootCommit%22%3Atrue%7D%2C%22C1%22%3A%7B%22parents%22%3A%5B%22C0%22%5D%2C%22id%22%3A%22C1%22%7D%2C%22C2%22%3A%7B%22parents%22%3A%5B%22C0%22%5D%2C%22id%22%3A%22C2%22%7D%2C%22C1%27%22%3A%7B%22parents%22%3A%5B%22C2%22%5D%2C%22id%22%3A%22C1%27%22%7D%7D%2C%22HEAD%22%3A%7B%22target%22%3A%22side%22%2C%22id%22%3A%22HEAD%22%7D%7D'
|
||||||
);
|
);
|
||||||
|
@ -103,7 +119,7 @@ describe('GitEngine', function() {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Rebases only new commits to destination', function() {
|
it('Rebases only new commits to destination', function() {
|
||||||
expectTree(
|
expectTreeAsync(
|
||||||
'git checkout -b side C0; gc; gc;git cherry-pick C1;git rebase master',
|
'git checkout -b side C0; gc; gc;git cherry-pick C1;git rebase master',
|
||||||
'%7B%22branches%22%3A%7B%22master%22%3A%7B%22target%22%3A%22C1%22%2C%22id%22%3A%22master%22%7D%2C%22side%22%3A%7B%22target%22%3A%22C3%27%22%2C%22id%22%3A%22side%22%7D%7D%2C%22commits%22%3A%7B%22C0%22%3A%7B%22parents%22%3A%5B%5D%2C%22id%22%3A%22C0%22%2C%22rootCommit%22%3Atrue%7D%2C%22C1%22%3A%7B%22parents%22%3A%5B%22C0%22%5D%2C%22id%22%3A%22C1%22%7D%2C%22C2%22%3A%7B%22parents%22%3A%5B%22C0%22%5D%2C%22id%22%3A%22C2%22%7D%2C%22C3%22%3A%7B%22parents%22%3A%5B%22C2%22%5D%2C%22id%22%3A%22C3%22%7D%2C%22C1%27%22%3A%7B%22parents%22%3A%5B%22C3%22%5D%2C%22id%22%3A%22C1%27%22%7D%2C%22C2%27%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C2%27%22%7D%2C%22C3%27%22%3A%7B%22parents%22%3A%5B%22C2%27%22%5D%2C%22id%22%3A%22C3%27%22%7D%7D%2C%22HEAD%22%3A%7B%22target%22%3A%22side%22%2C%22id%22%3A%22HEAD%22%7D%7D'
|
'%7B%22branches%22%3A%7B%22master%22%3A%7B%22target%22%3A%22C1%22%2C%22id%22%3A%22master%22%7D%2C%22side%22%3A%7B%22target%22%3A%22C3%27%22%2C%22id%22%3A%22side%22%7D%7D%2C%22commits%22%3A%7B%22C0%22%3A%7B%22parents%22%3A%5B%5D%2C%22id%22%3A%22C0%22%2C%22rootCommit%22%3Atrue%7D%2C%22C1%22%3A%7B%22parents%22%3A%5B%22C0%22%5D%2C%22id%22%3A%22C1%22%7D%2C%22C2%22%3A%7B%22parents%22%3A%5B%22C0%22%5D%2C%22id%22%3A%22C2%22%7D%2C%22C3%22%3A%7B%22parents%22%3A%5B%22C2%22%5D%2C%22id%22%3A%22C3%22%7D%2C%22C1%27%22%3A%7B%22parents%22%3A%5B%22C3%22%5D%2C%22id%22%3A%22C1%27%22%7D%2C%22C2%27%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C2%27%22%7D%2C%22C3%27%22%3A%7B%22parents%22%3A%5B%22C2%27%22%5D%2C%22id%22%3A%22C3%27%22%7D%7D%2C%22HEAD%22%3A%7B%22target%22%3A%22side%22%2C%22id%22%3A%22HEAD%22%7D%7D'
|
||||||
);
|
);
|
||||||
|
|
|
@ -1,52 +0,0 @@
|
||||||
var HeadlessGit = require('../src/js/git/headless').HeadlessGit;
|
|
||||||
var TreeCompare = require('../src/js/git/treeCompare').TreeCompare;
|
|
||||||
|
|
||||||
var loadTree = function(json) {
|
|
||||||
return JSON.parse(unescape(json));
|
|
||||||
};
|
|
||||||
|
|
||||||
var compareAnswer = function(headless, expectedJSON) {
|
|
||||||
var expectedTree = loadTree(expectedJSON);
|
|
||||||
var actualTree = headless.gitEngine.exportTree();
|
|
||||||
|
|
||||||
return TreeCompare.compareTrees(expectedTree, actualTree);
|
|
||||||
};
|
|
||||||
|
|
||||||
var compareAnswerExpect = function(headless, expectedJSON) {
|
|
||||||
var equal = compareAnswer(headless, expectedJSON);
|
|
||||||
if (!equal) {
|
|
||||||
var expectedTree = loadTree(expectedJSON);
|
|
||||||
var actualTree = headless.gitEngine.exportTree();
|
|
||||||
console.log('expected Tree', expectedTree);
|
|
||||||
console.log('actual Tree', actualTree);
|
|
||||||
console.log('~~~~~~~~~~~~~~~~~~~~~');
|
|
||||||
}
|
|
||||||
expect(equal).toBe(true);
|
|
||||||
};
|
|
||||||
|
|
||||||
var expectTree = function(command, expectedJSON) {
|
|
||||||
var headless = new HeadlessGit();
|
|
||||||
headless.sendCommand(command);
|
|
||||||
compareAnswerExpect(headless, expectedJSON);
|
|
||||||
};
|
|
||||||
|
|
||||||
var expectTreeAsync = function(command, expectedJSON) {
|
|
||||||
var headless = new HeadlessGit();
|
|
||||||
runs(function() {
|
|
||||||
headless.sendCommand(command);
|
|
||||||
});
|
|
||||||
waitsFor(function() {
|
|
||||||
return compareAnswer(headless, expectedJSON);
|
|
||||||
}, 'trees should be equal', 750);
|
|
||||||
};
|
|
||||||
|
|
||||||
describe('GitEngine', function() {
|
|
||||||
it('Rebases', function() {
|
|
||||||
expectTreeAsync(
|
|
||||||
'gc; git checkout -b side C1; gc; git rebase master',
|
|
||||||
'%7B%22branches%22%3A%7B%22master%22%3A%7B%22target%22%3A%22C2%22%2C%22id%22%3A%22master%22%7D%2C%22side%22%3A%7B%22target%22%3A%22C3%27%22%2C%22id%22%3A%22side%22%7D%7D%2C%22commits%22%3A%7B%22C0%22%3A%7B%22parents%22%3A%5B%5D%2C%22id%22%3A%22C0%22%2C%22rootCommit%22%3Atrue%7D%2C%22C1%22%3A%7B%22parents%22%3A%5B%22C0%22%5D%2C%22id%22%3A%22C1%22%7D%2C%22C2%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C2%22%7D%2C%22C3%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C3%22%7D%2C%22C3%27%22%3A%7B%22parents%22%3A%5B%22C2%22%5D%2C%22id%22%3A%22C3%27%22%7D%7D%2C%22HEAD%22%3A%7B%22target%22%3A%22side%22%2C%22id%22%3A%22HEAD%22%7D%7D'
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue