-
Notifications
You must be signed in to change notification settings - Fork 199
/
CRAM.spec.js
92 lines (81 loc) · 3.16 KB
/
CRAM.spec.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
/* global dojo */
require([
'dojo/aspect',
'dojo/_base/declare',
'dojo/_base/array',
'JBrowse/Browser',
'JBrowse/FeatureFiltererMixin',
'JBrowse/Store/SeqFeature/CRAM',
'JBrowse/Model/XHRBlob',
],
function(
aspect,
declare,
array,
Browser,
FeatureFiltererMixin,
CRAMStore,
XHRBlob,
) {
describe( 'CRAM with volvox-sorted.cram', function() {
var b;
beforeEach( function() {
var browser = new Browser({ unitTestMode: true, stores: {} })
b = new CRAMStore({
browser: browser,
cram: new XHRBlob('../../sample_data/raw/volvox/volvox-sorted.cram'),
crai: new XHRBlob('../../sample_data/raw/volvox/volvox-sorted.cram.crai'),
refSeq: { name: 'ctgA', start: 1, end: 500001 }
});
});
it( 'constructs', function() {
expect(b).toBeTruthy();
});
it( 'loads some data contigA', function() {
var loaded;
var features = [];
var done;
aspect.after( b, 'loadSuccess', function() {
loaded = true;
});
b.getFeatures({ start: 0, end: 50000, name: 'contigA' },
function( feature ) {
features.push( feature );
},
function() {
done = true;
},
function(e) {
console.error(e)
}
);
waitsFor( function() { return done; }, 2000 );
runs( function() {
expect(features.length).toBeGreaterThan(1000);
});
});
it( 'loads some data ctgA', function() {
var loaded;
var features = [];
var done;
aspect.after( b, 'loadSuccess', function() {
loaded = true;
});
b.getFeatures({ start: 0, end: 50000, name: 'ctgA' },
function( feature ) {
features.push( feature );
},
function() {
done = true;
},
function(e) {
console.error(e)
}
);
waitsFor( function() { return done; }, 2000 );
runs( function() {
expect(features.length).toBeGreaterThan(1000);
});
});
});
});