From 822ed2e7fa144ca0888901dced59aefdf594c738 Mon Sep 17 00:00:00 2001 From: Peter Cottle Date: Mon, 17 Dec 2012 11:49:08 -0800 Subject: [PATCH] git tests coming --- spec/git.spec.js | 25 +++++++++++++++++++++++++ todo.txt | 2 +- 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 spec/git.spec.js diff --git a/spec/git.spec.js b/spec/git.spec.js new file mode 100644 index 00000000..2d895370 --- /dev/null +++ b/spec/git.spec.js @@ -0,0 +1,25 @@ +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)); +}; + +var compareAnswer = function(headless, expectedJSON) { + var expectedTree = loadTree(expectedJSON); + var actualTree = headless.gitEngine.exportTree() + + var equal = treeCompare.compareTrees(expectedTree, actualTree); + expect(equal).toBe(true); +}; + +describe('GitEngine', function() { + it('Should commit off of head', function() { + var headless = new HeadlessGit(); + var expectedJSON = '{"branches":{"master":{"target":"C2","id":"master","type":"branch"}},"commits":{"C0":{"type":"commit","parents":[],"id":"C0","rootCommit":true},"C1":{"type":"commit","parents":["C0"],"id":"C1"},"C2":{"type":"commit","parents":["C1"],"id":"C2"}},"HEAD":{"id":"HEAD","target":"master","type":"general ref"}}'; + + headless.sendCommand('git commit'); + compareAnswer(headless, expectedJSON); + }); +}); diff --git a/todo.txt b/todo.txt index a4ebbc23..33be4562 100644 --- a/todo.txt +++ b/todo.txt @@ -8,7 +8,6 @@ Big Graphic things: Medium things: ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ ] gitEngine loads from tree immediately, not the weird thing we have now! -[.] headless Git for testing (send it commands and expected trees) [.] few tests Small things to implement: @@ -30,4 +29,5 @@ Done things: (I only started this on Dec 17th 2012 to get a better sense of what was done) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [x] aliases replace when put into commands +[x] headless Git for testing (send it commands and expected trees)