1
1
const { assert } = require ( 'chai' ) ;
2
2
const htmlparser = require ( 'htmlparser2' ) ;
3
3
const cases = require ( './cases' ) ;
4
+ const runTests = require ( './helpers/run-tests' ) ;
4
5
const throwsError = require ( './helpers/throws-error' ) ;
5
6
const { CASE_SENSITIVE_TAG_NAMES } = require ( '../lib/constants' ) ;
6
7
7
- /**
8
- * Runs test cases.
9
- *
10
- * @param {Function } parser - The parser.
11
- * @param {Object } cases - The test cases.
12
- */
13
- function runTests ( parser , cases ) {
14
- Object . keys ( cases ) . forEach ( type => {
15
- it ( type , ( ) => {
16
- const data = cases [ type ] ;
17
- assert . deepEqual ( parser ( data ) , htmlparser . parseDOM ( data ) ) ;
18
- } ) ;
19
- } ) ;
20
- }
21
-
22
8
/**
23
9
* Tests case-sensitive tags (SVG) to make sure their case is preserved.
24
10
*
@@ -39,8 +25,8 @@ describe('server parser', () => {
39
25
40
26
// tests
41
27
throwsError ( parser ) ;
42
- runTests ( parser , cases . html ) ;
43
- runTests ( parser , cases . svg ) ;
28
+ runTests ( cases . html , parser , htmlparser . parseDOM ) ;
29
+ runTests ( cases . svg , parser , htmlparser . parseDOM ) ;
44
30
} ) ;
45
31
46
32
describe ( 'client parser in jsdom' , ( ) => {
@@ -51,8 +37,8 @@ describe('client parser in jsdom', () => {
51
37
52
38
// tests
53
39
throwsError ( parser ) ;
54
- runTests ( parser , cases . html ) ;
55
- runTests ( parser , cases . svg ) ;
40
+ runTests ( cases . html , parser , htmlparser . parseDOM ) ;
41
+ runTests ( cases . svg , parser , htmlparser . parseDOM ) ;
56
42
testCaseSensitiveTags ( parser ) ;
57
43
58
44
// after
0 commit comments