1
1
const { assert } = require ( 'chai' ) ;
2
- const cases = require ( './cases' ) ;
3
2
const htmlparser = require ( 'htmlparser2' ) ;
3
+ const cases = require ( './cases' ) ;
4
+ const throwsError = require ( './helpers/throws-error' ) ;
4
5
const { CASE_SENSITIVE_TAG_NAMES } = require ( '../lib/constants' ) ;
5
6
6
7
/**
@@ -18,22 +19,6 @@ function runTests(parser, cases) {
18
19
} ) ;
19
20
}
20
21
21
- /**
22
- * Throws tests (a helper that runs tests and verifies that error is thrown).
23
- *
24
- * @param {Function } parser - The parser.
25
- */
26
- function throwTests ( parser ) {
27
- const values = [ undefined , null , 1 , true , { } , [ 'Array' ] , Function , Date ] ;
28
- values . forEach ( value => {
29
- it ( `throws when argument is ${ value } ` , ( ) => {
30
- assert . throws ( ( ) => {
31
- parser ( value ) ;
32
- } , TypeError ) ;
33
- } ) ;
34
- } ) ;
35
- }
36
-
37
22
/**
38
23
* Tests case-sensitive tags (SVG) to make sure their case is preserved.
39
24
*
@@ -48,33 +33,28 @@ function testCaseSensitiveTags(parser) {
48
33
} ) ;
49
34
}
50
35
51
- /**
52
- * Tests for parser.
53
- */
54
36
describe ( 'server parser' , ( ) => {
37
+ // before
55
38
const parser = require ( '../' ) ;
56
39
57
- // check if invalid parameter type throws error
58
- throwTests ( parser ) ;
59
-
60
- // should be equivalent to `htmlparser2.parseDOM()`
40
+ // tests
41
+ throwsError ( parser ) ;
61
42
runTests ( parser , cases . html ) ;
62
43
runTests ( parser , cases . svg ) ;
63
44
} ) ;
64
45
65
46
describe ( 'client parser in jsdom' , ( ) => {
47
+ // before
66
48
const jsdomify = require ( 'jsdomify' ) . default ;
67
49
jsdomify . create ( ) ;
68
50
const parser = require ( '../lib/html-to-dom-client' ) ;
69
51
70
- // check if invalid parameter type throws error
71
- throwTests ( parser ) ;
72
-
73
- // should return the same output as `htmlparser2.parseDOM()`
52
+ // tests
53
+ throwsError ( parser ) ;
74
54
runTests ( parser , cases . html ) ;
75
55
runTests ( parser , cases . svg ) ;
76
-
77
56
testCaseSensitiveTags ( parser ) ;
78
57
58
+ // after
79
59
jsdomify . destroy ( ) ;
80
60
} ) ;
0 commit comments