Skip to content

Commit 7eca622

Browse files
authored
Fix blob tests (#489)
* Update fixtures * Jestify tests
1 parent d06cda8 commit 7eca622

File tree

9 files changed

+2659
-1574
lines changed

9 files changed

+2659
-1574
lines changed
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
// Jest Snapshot v1, https://goo.gl/fbAQLP
2+
3+
exports[`blob-reader blob 1st line 1`] = `
4+
Object {
5+
"lineNumber": "1",
6+
"value": "// Most popular rabbit names",
7+
}
8+
`;
9+
10+
exports[`blob-reader blob 2nd line 1`] = `
11+
Object {
12+
"lineNumber": "2",
13+
"value": "",
14+
}
15+
`;
16+
17+
exports[`blob-reader blob 3rd line 1`] = `
18+
Object {
19+
"lineNumber": "3",
20+
"value": "Thumper",
21+
}
22+
`;
23+
24+
exports[`blob-reader blob 4th line 1`] = `
25+
Object {
26+
"lineNumber": "4",
27+
"value": "Daisy",
28+
}
29+
`;
30+
31+
exports[`blob-reader diff split 1st line 1`] = `
32+
Object {
33+
"lineNumber": 1,
34+
"value": "// Most popular rabbit names",
35+
}
36+
`;
37+
38+
exports[`blob-reader diff split additions 1`] = `
39+
Object {
40+
"addition": true,
41+
"lineNumber": 4,
42+
"value": "Mozart",
43+
}
44+
`;
45+
46+
exports[`blob-reader diff split deletions 1`] = `
47+
Object {
48+
"deletion": true,
49+
"lineNumber": 5,
50+
"value": "Lily",
51+
}
52+
`;
53+
54+
exports[`blob-reader diff unified 1st line 1`] = `
55+
Object {
56+
"lineNumber": 1,
57+
"value": "// Most popular rabbit names",
58+
}
59+
`;
60+
61+
exports[`blob-reader diff unified additions 1`] = `
62+
Object {
63+
"addition": true,
64+
"lineNumber": 4,
65+
"value": "Mozart",
66+
}
67+
`;
68+
69+
exports[`blob-reader diff unified deletions 1`] = `
70+
Object {
71+
"deletion": true,
72+
"lineNumber": 5,
73+
"value": "Lily",
74+
}
75+
`;
76+
77+
exports[`blob-reader issue contains lines 1`] = `
78+
Array [
79+
Object {
80+
"lineNumber": 1,
81+
"value": "import os",
82+
},
83+
]
84+
`;
85+
86+
exports[`blob-reader returned values object toJSON() returns a JSON representation of the blobs content 1`] = `
87+
Object {
88+
"foo": "bar",
89+
}
90+
`;
91+
92+
exports[`blob-reader returned values object toString() returns a string representation of the blobs content 1`] = `
93+
"a
94+
b"
95+
`;

packages/blob-reader/fixtures/github.com/blob/89f13651df126efdb4f1e3ae40183c9fdccdb4d3.html

Lines changed: 268 additions & 169 deletions
Large diffs are not rendered by default.

packages/blob-reader/fixtures/github.com/commit/b0775a93ea27ee381858ddd9fa2bb953d5b74acb_split.html

Lines changed: 270 additions & 174 deletions
Large diffs are not rendered by default.

packages/blob-reader/fixtures/github.com/commit/b0775a93ea27ee381858ddd9fa2bb953d5b74acb_unified.html

Lines changed: 425 additions & 169 deletions
Large diffs are not rendered by default.

packages/blob-reader/fixtures/github.com/gist/113827963013e98c6196db51cd889c39.html

Lines changed: 178 additions & 183 deletions
Large diffs are not rendered by default.

packages/blob-reader/fixtures/github.com/issue/code.html

Lines changed: 356 additions & 269 deletions
Large diffs are not rendered by default.

packages/blob-reader/fixtures/github.com/pull/comments.html

Lines changed: 627 additions & 340 deletions
Large diffs are not rendered by default.

packages/blob-reader/fixtures/github.com/pull/diff.html

Lines changed: 410 additions & 196 deletions
Large diffs are not rendered by default.

packages/blob-reader/test.js

Lines changed: 30 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import assert from 'assert';
21
import BlobReader from './index.js';
32

43
describe('blob-reader', () => {
@@ -19,8 +18,7 @@ describe('blob-reader', () => {
1918

2019
describe('contains blob path', () => {
2120
it('contains blob path', () => {
22-
assert.equal(
23-
result.path,
21+
expect(result.path).toBe(
2422
'/OctoLinker/testrepo/blob/89f13651df126efdb4f1e3ae40183c9fdccdb4d3/sourcereader/popular-rabbit-names.js',
2523
);
2624
});
@@ -31,8 +29,7 @@ describe('blob-reader', () => {
3129
);
3230
const reader = new BlobReader();
3331

34-
assert.equal(
35-
reader.read()._blobs[0].path,
32+
expect(reader.read()._blobs[0].path).toBe(
3633
'/OctoLinker/testrepo/blob/9981d1a99ef8fff1f569c2ae24b136d5a0275132/sourcereader/popular-cat-names.js',
3734
);
3835
});
@@ -43,8 +40,7 @@ describe('blob-reader', () => {
4340
);
4441
const reader = new BlobReader();
4542

46-
assert.equal(
47-
reader.read()._blobs[0].path,
43+
expect(reader.read()._blobs[0].path).toBe(
4844
'/OctoLinker/testrepo/blob/64dc9c25b3e09d1d9af437e09d968d08ad5ec903/sourcereader/popular-cat-names.js',
4945
);
5046
});
@@ -55,26 +51,25 @@ describe('blob-reader', () => {
5551
);
5652
const reader = new BlobReader();
5753

58-
assert.equal(
59-
reader.read()._blobs[1].path,
54+
expect(reader.read()._blobs[1].path).toBe(
6055
'/OctoLinker/testrepo/blob/cc14b0ce8b94b7044f8c5d2d7af656270330bca2/sourcereader/popular-rabbit-names.js',
6156
);
6257
});
6358
});
6459

6560
it('contains blob root element', () => {
66-
assert(result.el !== undefined);
61+
expect(result.el).toBeDefined();
6762
});
6863

6964
it('contains lines', () => {
70-
assert(Array.isArray(result.lines));
71-
assert.equal(result.lines.length, 4);
65+
expect(Array.isArray(result.lines)).toBe(true);
66+
expect(result.lines).toHaveLength(4);
7267
});
7368

7469
describe('toString()', () => {
7570
it('returns a string representation of the blobs content', () => {
7671
result.lines = [{ value: 'a' }, { value: 'b' }];
77-
assert.equal(result.toString(), 'a\nb');
72+
expect(result.toString()).toMatchSnapshot();
7873
});
7974
});
8075

@@ -85,14 +80,12 @@ describe('blob-reader', () => {
8580
{ value: '"foo": "bar"' },
8681
{ value: '}' },
8782
];
88-
assert.deepEqual(result.toJSON(), {
89-
foo: 'bar',
90-
});
83+
expect(result.toJSON()).toMatchSnapshot();
9184
});
9285

9386
it('returns an empty object if JSON.parse fails', () => {
9487
result.lines = [{ value: '{' }, { value: 'invalid' }, { value: '}' }];
95-
assert.deepEqual(result.toJSON(), {});
88+
expect(result.toJSON()).toEqual({});
9689
});
9790
});
9891
});
@@ -109,34 +102,30 @@ describe('blob-reader', () => {
109102
});
110103

111104
it('contains four lines', () => {
112-
assert.equal(result.lines.length, 4);
105+
expect(Array.isArray(result.lines)).toBe(true);
106+
expect(result.lines).toHaveLength(4);
113107
});
114108

115109
it('does not contain any diff meta information', () => {
116-
assert.equal(
117-
result.lines.filter(line => line.additions || line.deletions).length,
118-
0,
119-
);
110+
expect(
111+
result.lines.filter(line => line.additions || line.deletions),
112+
).toHaveLength(0);
120113
});
121114

122115
it('1st line', () => {
123-
assert.equal(result.lines[0].lineNumber, 1);
124-
assert.equal(result.lines[0].value, '// Most popular rabbit names');
116+
expect(result.lines[0]).toMatchSnapshot();
125117
});
126118

127119
it('2nd line', () => {
128-
assert.equal(result.lines[1].lineNumber, 2);
129-
assert.equal(result.lines[1].value, '');
120+
expect(result.lines[1]).toMatchSnapshot();
130121
});
131122

132123
it('3rd line', () => {
133-
assert.equal(result.lines[2].lineNumber, 3);
134-
assert.equal(result.lines[2].value, 'Thumper');
124+
expect(result.lines[2]).toMatchSnapshot();
135125
});
136126

137127
it('4th line', () => {
138-
assert.equal(result.lines[3].lineNumber, 4);
139-
assert.equal(result.lines[3].value, 'Daisy');
128+
expect(result.lines[3]).toMatchSnapshot();
140129
});
141130
});
142131

@@ -153,28 +142,15 @@ describe('blob-reader', () => {
153142
});
154143

155144
it('1st line', () => {
156-
assert.equal(result.lines[0].lineNumber, 1);
157-
// Use .trim() because Firefox puts a leading space, but Chrome doesn't.
158-
assert.equal(
159-
result.lines[0].value.trim(),
160-
'// Most popular rabbit names',
161-
);
145+
expect(result.lines[0]).toMatchSnapshot();
162146
});
163147

164148
it('additions', () => {
165-
const line = result.lines[6];
166-
167-
assert.equal(line.lineNumber, 4);
168-
assert.equal(line.value, '+Mozart');
169-
assert.equal(line.addition, true);
149+
expect(result.lines[6]).toMatchSnapshot();
170150
});
171151

172152
it('deletions', () => {
173-
const line = result.lines[9];
174-
175-
assert.equal(line.lineNumber, 5);
176-
assert.equal(line.value, '-Lily');
177-
assert.equal(line.deletion, true);
153+
expect(result.lines[9]).toMatchSnapshot();
178154
});
179155
});
180156

@@ -190,32 +166,19 @@ describe('blob-reader', () => {
190166
});
191167

192168
it('contains four lines', () => {
193-
assert.equal(result.lines.length, 7);
169+
expect(result.lines).toHaveLength(7);
194170
});
195171

196172
it('1st line', () => {
197-
assert.equal(result.lines[0].lineNumber, 1);
198-
// Use .trim() because Firefox puts a leading space, but Chrome doesn't.
199-
assert.equal(
200-
result.lines[0].value.trim(),
201-
'// Most popular rabbit names',
202-
);
173+
expect(result.lines[0]).toMatchSnapshot();
203174
});
204175

205176
it('additions', () => {
206-
const line = result.lines[3];
207-
208-
assert.equal(line.lineNumber, 4);
209-
assert.equal(line.value, '+Mozart');
210-
assert.equal(line.addition, true);
177+
expect(result.lines[3]).toMatchSnapshot();
211178
});
212179

213180
it('deletions', () => {
214-
const line = result.lines[5];
215-
216-
assert.equal(line.lineNumber, 5);
217-
assert.equal(line.value, '-Lily');
218-
assert.equal(line.deletion, true);
181+
expect(result.lines[5]).toMatchSnapshot();
219182
});
220183
});
221184
});
@@ -232,7 +195,7 @@ describe('blob-reader', () => {
232195
});
233196

234197
it('contains blob path', () => {
235-
assert.equal(result.path, 'package.json');
198+
expect(result.path).toBe('package.json');
236199
});
237200
});
238201

@@ -246,22 +209,15 @@ describe('blob-reader', () => {
246209
});
247210

248211
it('contains blob root element', () => {
249-
assert(result.el !== undefined);
212+
expect(result.el).toBeDefined();
250213
});
251214

252215
it('contains lines', () => {
253-
assert(Array.isArray(result.lines));
254-
assert.equal(result.lines.length, 1);
255-
assert.deepEqual(result.lines, [
256-
{
257-
value: 'import os',
258-
lineNumber: 1,
259-
},
260-
]);
216+
expect(result.lines).toMatchSnapshot();
261217
});
262218

263219
it('does not contain path', () => {
264-
assert.equal(result.path, undefined);
220+
expect(result.path).toBeUndefined();
265221
});
266222
});
267223
});

0 commit comments

Comments
 (0)