Skip to content
This repository has been archived by the owner on Jan 22, 2024. It is now read-only.

Use Karma test runner for Travis CI integration #47

Merged
merged 11 commits into from
Oct 14, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
language: node_js
node_js:
- "node"
- "node"
before_install:
- "export DISPLAY=:99.0"
- "sh -e /etc/init.d/xvfb start"
28 changes: 28 additions & 0 deletions app/actions/checkLayerIsSelected.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
var checkShiftHeld = require('./checkShiftHeld');
describe('checkShiftHeld', function() {
it('should call success when shiftHeld = true', function(done) {
checkShiftHeld({
shiftHeld: true
}, {}, {
success: function() {
done()
},
error: function() {
throw new Error();
}
});
});
it('should call error when shiftHeld = false', function(done) {
checkShiftHeld({
shiftHeld: false
}, {}, {
success: function() {
throw new Error();
},
error: function() {
done()
}
});
});

});
2 changes: 1 addition & 1 deletion app/actions/checkShiftHeld.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@ export default function checkShiftHeld({ shiftHeld }, tree, output) {
if (shiftHeld) {
output.success();
} else {
output.error()
output.error();
}
}
28 changes: 28 additions & 0 deletions app/actions/checkShiftHeld.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
var checkShiftHeld = require('./checkShiftHeld');
describe('checkShiftHeld', function() {
it('should call success when shiftHeld = true', function(done) {
checkShiftHeld({
shiftHeld: true
}, {}, {
success: function() {
done()
},
error: function() {
throw new Error();
}
});
});
it('should call error when shiftHeld = false', function(done) {
checkShiftHeld({
shiftHeld: false
}, {}, {
success: function() {
throw new Error();
},
error: function() {
done()
}
});
});

});
17 changes: 7 additions & 10 deletions app/actions/copySelection.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,21 @@ var assign = require('lodash/object/assign');
var getOverlapsOfPotentiallyCircularRanges = require('ve-range-utils/getOverlapsOfPotentiallyCircularRanges');
var collapseOverlapsGeneratedFromRangeComparisonIfPossible = require('ve-range-utils/collapseOverlapsGeneratedFromRangeComparisonIfPossible');
var getSubstringByRange = require('get-substring-by-range');
var areRangesValid = require('ve-range-utils/areRangesValid');
var ac = require('ve-api-check');

export default function copySelection({
selectionLayer, sequenceData
}, tree) {
}, tree, output) {
ac.throw(ac.sequenceData, sequenceData)
var allowPartialAnnotationsOnCopy = tree.get('allowPartialAnnotationsOnCopy');
if (sequenceData && selectionLayer.selected) {
tree.set(['clipboardData'], copyRangeOfSequenceData(sequenceData, selectionLayer, allowPartialAnnotationsOnCopy));
output.success({'clipboardData': copyRangeOfSequenceData(sequenceData, selectionLayer, allowPartialAnnotationsOnCopy)})
} else {
output.error();
}


function copyRangeOfSequenceData(sequenceData, rangeToCopy, allowPartialAnnotationsOnCopy) {
if (sequenceData.sequence !== '' && !sequenceData.sequence) {
throw new Error('invalid sequence data');
}
var sequenceLength = sequenceData.sequence.length;
if (!areRangesValid([rangeToCopy], sequenceLength)) {
throw new Error('invalid range passed');
}
var newSequenceData = {};
newSequenceData.sequence = getSubstringByRange(sequenceData.sequence, rangeToCopy);
newSequenceData.features = copyAnnotationsByRange(sequenceData.features, rangeToCopy, sequenceLength);
Expand Down
2 changes: 1 addition & 1 deletion app/actions/deleteSequence.test.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
require('../../testSetup.js');
require('../../test/testSetup.js');
var deleteSequence = require('./deleteSequence.js');
var tidyUpSequenceData = require('ve-sequence-utils/tidyUpSequenceData');
var sequenceData = tidyUpSequenceData({
Expand Down
32 changes: 5 additions & 27 deletions app/actions/insertSequenceData.test.js
Original file line number Diff line number Diff line change
@@ -1,34 +1,11 @@
require('../../testSetup.js');
import {testSequenceData} from '../../test/testSetup.js';
var insertSequenceData = require('./insertSequenceData.js');
var tidyUpSequenceData = require('ve-sequence-utils/tidyUpSequenceData');
var sequenceData = tidyUpSequenceData({
sequence: 'atgc',
features: [{
start: 0,
end: 3
}, {
start: 1,
end: 1
}],
parts: [{
start: 0,
end: 3
}, {
start: 1,
end: 1
}],
translations: [{
start: 3,
end: 3
}, {
start: 0,
end: 0
}]
});

describe('insertSequenceData', function() {
it('inserts sequence sequence at start of sequence and adjusts annotations correctly', function() {
insertSequenceData({
sequenceData: sequenceData,
sequenceData: testSequenceData,
newSequenceData: tidyUpSequenceData({
sequence: 'atgagagaga'
}),
Expand Down Expand Up @@ -61,9 +38,10 @@ describe('insertSequenceData', function() {
caretPosition.should.equal(10);
});
});

it('inserts mid-sequence and adjusts entire sequence and annotations correctly', function() {
insertSequenceData({
sequenceData: sequenceData,
sequenceData: testSequenceData,
newSequenceData: tidyUpSequenceData({
sequence: 'atgagagaga',
features: [{
Expand Down
35 changes: 0 additions & 35 deletions app/actions/moveCaretShiftHeld.js

This file was deleted.

39 changes: 0 additions & 39 deletions app/actions/moveCaretShiftHeld.test.js

This file was deleted.

4 changes: 2 additions & 2 deletions app/actions/prepDeleteOneBack.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
export default function prepSelectionLayer (numberToMove, caretAtEnd) {
export default function prepSelectionLayer (numberToMove, cursorAtEnd) {
return function prepSelectionLayer({caretPosition, selectionLayer}, tree, output) {
if (caretPosition > 0) {
output({
selectionLayer: {
start: caretPosition - 1,
end: caretPosition - 1,
caretAtEnd: caretAtEnd,
cursorAtEnd: cursorAtEnd,
}
});
} else {
Expand Down
38 changes: 19 additions & 19 deletions app/actions/setData.test.js
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
//var tap = require('tap');
//tap.mochaGlobals();
// //var tap = require('tap');
// //tap.mochaGlobals();

var setCaretPosition = require('../../app/actions/setCaretPosition');
var tree = require('../../app/baobabTree.js');
var assert = require('assert');
describe('setCaretPosition', function () {
it ('changes the caret position from its initial value', function () {
assert.notEqual(55,tree.get('caretPosition'));
setCaretPosition(55);
assert.equal(55,tree.get('caretPosition'));
setCaretPosition(59);
assert.equal(59,tree.get('caretPosition'));
});
it ('changes the caret position to -1 if passed anything but a non-negative integer', function () {
assert.notEqual(-1,tree.get('caretPosition'));
setCaretPosition(false);
assert.equal(-1,tree.get('caretPosition'));
});
});
// var setCaretPosition = require('../../app/actions/setCaretPosition');
// var tree = require('../../app/baobabTree.js');
// var assert = require('assert');
// describe('setCaretPosition', function () {
// it ('changes the caret position from its initial value', function () {
// assert.notEqual(55,tree.get('caretPosition'));
// setCaretPosition(55);
// assert.equal(55,tree.get('caretPosition'));
// setCaretPosition(59);
// assert.equal(59,tree.get('caretPosition'));
// });
// it ('changes the caret position to -1 if passed anything but a non-negative integer', function () {
// assert.notEqual(-1,tree.get('caretPosition'));
// setCaretPosition(false);
// assert.equal(-1,tree.get('caretPosition'));
// });
// });
56 changes: 28 additions & 28 deletions app/actions/setSelectionLayer.test.js
Original file line number Diff line number Diff line change
@@ -1,30 +1,30 @@
// var tap = require('tap');
// tap.mochaGlobals();
// // var tap = require('tap');
// // tap.mochaGlobals();

var setSelectionLayer = require('../../app/actions/setSelectionLayer');
var expect = require('chai').expect;
var tree = require('../../app/baobabTree.js');
// var setSelectionLayer = require('../../app/actions/setSelectionLayer');
// var expect = require('chai').expect;
// var tree = require('../../app/baobabTree.js');

describe('setSelectionLayer', function() {
it('clears the selection layer when called with false', function() {
//clear the selectionLayer
setSelectionLayer(false);
expect(tree.get('selectionLayer')).to.deep.equal({
start: -1,
end: -1,
selected: false,
cursorAtEnd: true
});
});
it('sets a selection layer and clears the cursor position when passed a valid range', function() {
//clear the selectionLayer
setSelectionLayer({start: 5, end: 6});
expect(tree.get('selectionLayer')).to.deep.equal({
start: 5,
end: 6,
selected: true,
cursorAtEnd: true
});
expect(tree.get('caretPosition')).to.deep.equal(-1);
});
});
// describe('setSelectionLayer', function() {
// it('clears the selection layer when called with false', function() {
// //clear the selectionLayer
// setSelectionLayer(false);
// expect(tree.get('selectionLayer')).to.deep.equal({
// start: -1,
// end: -1,
// selected: false,
// cursorAtEnd: true
// });
// });
// it('sets a selection layer and clears the cursor position when passed a valid range', function() {
// //clear the selectionLayer
// setSelectionLayer({start: 5, end: 6});
// expect(tree.get('selectionLayer')).to.deep.equal({
// start: 5,
// end: 6,
// selected: true,
// cursorAtEnd: true
// });
// expect(tree.get('caretPosition')).to.deep.equal(-1);
// });
// });
4 changes: 2 additions & 2 deletions app/actions/updateCaretPosByMoveType.test.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
require('../../testSetup.js');
require('../../test/testSetup.js');
var updateCaretPosByMoveType = require('./updateCaretPosByMoveType.js');

describe('updateCaretPosByMoveType', function() {
Expand All @@ -7,7 +7,7 @@ describe('updateCaretPosByMoveType', function() {
var bpsPerRow = 5;
var caretPosition = 0;
var newCaretPosition = 7;
var selectionLayer = {start: 4, end: 3, selected: true, caretAtEnd: true};
var selectionLayer = {start: 4, end: 3, selected: true, cursorAtEnd: true};
var shiftHeld = false;
var type = 'moveCaretLeftOne';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
var assign = require('lodash/object/assign');
var trimNumberToFitWithin0ToAnotherNumber = require('ve-range-utils/trimNumberToFitWithin0ToAnotherNumber');
var ac = require('ve-api-check');
export default function updateSelectionShiftHeldAndPreviousSelection({updatedCaretPos, sequenceLength, bpsPerRow, caretPosition, newCaretPosition, selectionLayer, shiftHeld, type}, tree, output) {
ac.throw(ac.number, caretPosition);
ac.throw(ac.bool.optional, shiftHeld);
export default function updateSelShiftHeldAndPreviousSel({updatedCaretPos, sequenceLength, selectionLayer}, tree, output) {
ac.throw(ac.object, selectionLayer);
ac.throw(ac.number.optional, newCaretPosition);
ac.throw(ac.string, type);
ac.throw(ac.number.optional, updatedCaretPos);
ac.throw(ac.number.optional, sequenceLength);

var oldCaretPos = getCaretFromSelection(selectionLayer);

function getCaretFromSelection (selectionLayer) {
Expand Down
Loading