Skip to content

Commit 9f9e76f

Browse files
committedAug 4, 2015
Fix RangeSet for validated_ledger as single ledger
1 parent 5b51db1 commit 9f9e76f

File tree

2 files changed

+26
-1
lines changed

2 files changed

+26
-1
lines changed
 

‎src/core/rangeset.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ class RangeSet {
4545
const rangeStrings = rangesString.split(',');
4646
_.forEach(rangeStrings, rangeString => {
4747
const range = rangeString.split('-').map(Number);
48-
this.addRange(range[0], range[1]);
48+
this.addRange(range[0], range.length === 1 ? range[0] : range[1]);
4949
});
5050
}
5151

‎test/rangeset-test.js

+25
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,31 @@ describe('RangeSet', function() {
2626
r.parseAndAddRanges('4-5,7-10,1-2,3-3');
2727
assert.deepEqual(r.serialize(), '1-5,7-10');
2828
});
29+
it('parseAndAddRanges() -- single ledger', function() {
30+
const r = new RangeSet();
31+
32+
r.parseAndAddRanges('3');
33+
assert.strictEqual(r.serialize(), '3-3');
34+
assert(r.containsValue(3));
35+
assert(!r.containsValue(0));
36+
assert(!r.containsValue(2));
37+
assert(!r.containsValue(4));
38+
assert(r.containsRange(3, 3));
39+
assert(!r.containsRange(2, 3));
40+
assert(!r.containsRange(3, 4));
41+
42+
r.parseAndAddRanges('1-5');
43+
assert.strictEqual(r.serialize(), '1-5');
44+
assert(r.containsValue(3));
45+
assert(r.containsValue(1));
46+
assert(r.containsValue(5));
47+
assert(!r.containsValue(6));
48+
assert(!r.containsValue(0));
49+
assert(r.containsRange(1, 5));
50+
assert(r.containsRange(2, 4));
51+
assert(!r.containsRange(1, 6));
52+
assert(!r.containsRange(0, 3));
53+
});
2954

3055
it('containsValue()', function() {
3156
const r = new RangeSet();

0 commit comments

Comments
 (0)