|
1 |
| -'use strict'; |
2 |
| - |
3 | 1 | import {test} from './util/helpers';
|
4 | 2 |
|
5 | 3 | test('attribute selector', '[href]', (t, tree) => {
|
6 |
| - t.plan(2); |
7 |
| - t.equal(tree.nodes[0].nodes[0].attribute, 'href'); |
8 |
| - t.equal(tree.nodes[0].nodes[0].type, 'attribute'); |
| 4 | + t.same(tree.nodes[0].nodes[0].attribute, 'href'); |
| 5 | + t.same(tree.nodes[0].nodes[0].type, 'attribute'); |
9 | 6 | });
|
10 | 7 |
|
11 | 8 | test('multiple attribute selectors', '[href][class][name]', (t, tree) => {
|
12 |
| - t.plan(3); |
13 |
| - t.equal(tree.nodes[0].nodes[0].attribute, 'href'); |
14 |
| - t.equal(tree.nodes[0].nodes[1].attribute, 'class'); |
15 |
| - t.equal(tree.nodes[0].nodes[2].attribute, 'name'); |
| 9 | + t.same(tree.nodes[0].nodes[0].attribute, 'href'); |
| 10 | + t.same(tree.nodes[0].nodes[1].attribute, 'class'); |
| 11 | + t.same(tree.nodes[0].nodes[2].attribute, 'name'); |
16 | 12 | });
|
17 | 13 |
|
18 | 14 | test('attribute selector with a value', '[name=james]', (t, tree) => {
|
19 |
| - t.plan(3); |
20 |
| - t.equal(tree.nodes[0].nodes[0].attribute, 'name'); |
21 |
| - t.equal(tree.nodes[0].nodes[0].operator, '='); |
22 |
| - t.equal(tree.nodes[0].nodes[0].value, 'james'); |
| 15 | + t.same(tree.nodes[0].nodes[0].attribute, 'name'); |
| 16 | + t.same(tree.nodes[0].nodes[0].operator, '='); |
| 17 | + t.same(tree.nodes[0].nodes[0].value, 'james'); |
23 | 18 | });
|
24 | 19 |
|
25 | 20 | test('attribute selector with quoted value', '[name="james"]', (t, tree) => {
|
26 |
| - t.plan(3); |
27 |
| - t.equal(tree.nodes[0].nodes[0].attribute, 'name'); |
28 |
| - t.equal(tree.nodes[0].nodes[0].operator, '='); |
29 |
| - t.equal(tree.nodes[0].nodes[0].value, '"james"'); |
| 21 | + t.same(tree.nodes[0].nodes[0].attribute, 'name'); |
| 22 | + t.same(tree.nodes[0].nodes[0].operator, '='); |
| 23 | + t.same(tree.nodes[0].nodes[0].value, '"james"'); |
30 | 24 | });
|
31 | 25 |
|
32 | 26 | test('multiple attribute selectors + combinator', '[href][class][name] h1 > h2', (t, tree) => {
|
33 |
| - t.plan(4); |
34 |
| - t.equal(tree.nodes[0].nodes[2].attribute, 'name'); |
35 |
| - t.equal(tree.nodes[0].nodes[3].value, ' '); |
36 |
| - t.equal(tree.nodes[0].nodes[5].value, '>'); |
37 |
| - t.equal(tree.nodes[0].nodes[6].value, 'h2'); |
| 27 | + t.same(tree.nodes[0].nodes[2].attribute, 'name'); |
| 28 | + t.same(tree.nodes[0].nodes[3].value, ' '); |
| 29 | + t.same(tree.nodes[0].nodes[5].value, '>'); |
| 30 | + t.same(tree.nodes[0].nodes[6].value, 'h2'); |
38 | 31 | });
|
39 | 32 |
|
40 | 33 | test('attribute, class, combinator', '[href] > h2.test', (t, tree) => {
|
41 |
| - t.plan(4); |
42 |
| - t.equal(tree.nodes[0].nodes[0].attribute, 'href'); |
43 |
| - t.equal(tree.nodes[0].nodes[1].value, '>'); |
44 |
| - t.equal(tree.nodes[0].nodes[2].value, 'h2'); |
45 |
| - t.equal(tree.nodes[0].nodes[3].value, 'test'); |
| 34 | + t.same(tree.nodes[0].nodes[0].attribute, 'href'); |
| 35 | + t.same(tree.nodes[0].nodes[1].value, '>'); |
| 36 | + t.same(tree.nodes[0].nodes[2].value, 'h2'); |
| 37 | + t.same(tree.nodes[0].nodes[3].value, 'test'); |
46 | 38 | });
|
47 | 39 |
|
48 | 40 | test('attribute selector with quoted value & combinator', '[name="james"] > h1', (t, tree) => {
|
49 |
| - t.plan(3); |
50 |
| - t.equal(tree.nodes[0].nodes[0].value, '"james"'); |
51 |
| - t.equal(tree.nodes[0].nodes[1].value, '>'); |
52 |
| - t.equal(tree.nodes[0].nodes[2].value, 'h1'); |
| 41 | + t.same(tree.nodes[0].nodes[0].value, '"james"'); |
| 42 | + t.same(tree.nodes[0].nodes[1].value, '>'); |
| 43 | + t.same(tree.nodes[0].nodes[2].value, 'h1'); |
53 | 44 | });
|
54 | 45 |
|
55 | 46 | test('multiple quoted attribute selectors', '[href*="test.com"][rel="external"][id][class~="test"] > [name]', (t, tree) => {
|
56 |
| - t.plan(11); |
57 |
| - t.equal(tree.nodes[0].nodes[0].attribute, 'href'); |
58 |
| - t.equal(tree.nodes[0].nodes[0].value, '"test.com"'); |
59 |
| - t.equal(tree.nodes[0].nodes[1].attribute, 'rel'); |
60 |
| - t.equal(tree.nodes[0].nodes[1].value, '"external"'); |
61 |
| - t.equal(tree.nodes[0].nodes[2].attribute, 'id'); |
| 47 | + t.same(tree.nodes[0].nodes[0].attribute, 'href'); |
| 48 | + t.same(tree.nodes[0].nodes[0].value, '"test.com"'); |
| 49 | + t.same(tree.nodes[0].nodes[1].attribute, 'rel'); |
| 50 | + t.same(tree.nodes[0].nodes[1].value, '"external"'); |
| 51 | + t.same(tree.nodes[0].nodes[2].attribute, 'id'); |
62 | 52 | t.notOk(tree.nodes[0].nodes[2].value, 'should not have a value');
|
63 |
| - t.equal(tree.nodes[0].nodes[3].attribute, 'class'); |
64 |
| - t.equal(tree.nodes[0].nodes[3].value, '"test"'); |
65 |
| - t.equal(tree.nodes[0].nodes[4].value, '>'); |
66 |
| - t.equal(tree.nodes[0].nodes[5].attribute, 'name'); |
| 53 | + t.same(tree.nodes[0].nodes[3].attribute, 'class'); |
| 54 | + t.same(tree.nodes[0].nodes[3].value, '"test"'); |
| 55 | + t.same(tree.nodes[0].nodes[4].value, '>'); |
| 56 | + t.same(tree.nodes[0].nodes[5].attribute, 'name'); |
67 | 57 | t.notOk(tree.nodes[0].nodes[5].value, 'should not have a value');
|
68 | 58 | });
|
69 | 59 |
|
70 |
| -test('more attribute operators','[href*=test],[href^=test],[href$=test],[href|=test]', (t, tree) => { |
71 |
| - t.plan(4); |
72 |
| - t.equal(tree.nodes[0].nodes[0].operator, '*='); |
73 |
| - t.equal(tree.nodes[1].nodes[0].operator, '^='); |
74 |
| - t.equal(tree.nodes[2].nodes[0].operator, '$='); |
75 |
| - t.equal(tree.nodes[3].nodes[0].operator, '|='); |
| 60 | +test('more attribute operators', '[href*=test],[href^=test],[href$=test],[href|=test]', (t, tree) => { |
| 61 | + t.same(tree.nodes[0].nodes[0].operator, '*='); |
| 62 | + t.same(tree.nodes[1].nodes[0].operator, '^='); |
| 63 | + t.same(tree.nodes[2].nodes[0].operator, '$='); |
| 64 | + t.same(tree.nodes[3].nodes[0].operator, '|='); |
76 | 65 | });
|
77 | 66 |
|
78 | 67 | test('spaces in attribute selectors', 'h1[ href *= "test" ]', (t, tree) => {
|
79 |
| - t.plan(3); |
80 |
| - t.equal(tree.nodes[0].nodes[1].attribute, ' href '); |
81 |
| - t.equal(tree.nodes[0].nodes[1].operator, '*='); |
82 |
| - t.equal(tree.nodes[0].nodes[1].value, ' "test" '); |
| 68 | + t.same(tree.nodes[0].nodes[1].attribute, ' href '); |
| 69 | + t.same(tree.nodes[0].nodes[1].operator, '*='); |
| 70 | + t.same(tree.nodes[0].nodes[1].value, ' "test" '); |
83 | 71 | });
|
84 | 72 |
|
85 | 73 | test('insensitive attribute selector 1', '[href="test" i]', (t, tree) => {
|
86 |
| - t.plan(2); |
87 |
| - t.equal(tree.nodes[0].nodes[0].value, '"test"'); |
88 |
| - t.equal(tree.nodes[0].nodes[0].insensitive, true); |
| 74 | + t.same(tree.nodes[0].nodes[0].value, '"test"'); |
| 75 | + t.same(tree.nodes[0].nodes[0].insensitive, true); |
89 | 76 | });
|
90 | 77 |
|
91 | 78 | test('insensitive attribute selector 2', '[href=TEsT i ]', (t, tree) => {
|
92 |
| - t.plan(2); |
93 |
| - t.equal(tree.nodes[0].nodes[0].value, 'TEsT'); |
94 |
| - t.equal(tree.nodes[0].nodes[0].raw.insensitive, ' i '); |
| 79 | + t.same(tree.nodes[0].nodes[0].value, 'TEsT'); |
| 80 | + t.same(tree.nodes[0].nodes[0].raw.insensitive, ' i '); |
| 81 | +}); |
| 82 | + |
| 83 | +test('insensitive attribute selector 3', '[href=test i]', (t, tree) => { |
| 84 | + t.same(tree.nodes[0].nodes[0].value, 'test'); |
| 85 | + t.same(tree.nodes[0].nodes[0].insensitive, true); |
95 | 86 | });
|
96 | 87 |
|
97 | 88 | test('extraneous non-combinating whitespace', ' [href] , [class] ', (t, tree) => {
|
98 |
| - t.plan(6); |
99 |
| - t.equal(tree.nodes[0].nodes[0].attribute, 'href'); |
100 |
| - t.equal(tree.nodes[0].nodes[0].spaces.before, ' '); |
101 |
| - t.equal(tree.nodes[0].nodes[0].spaces.after, ' '); |
102 |
| - t.equal(tree.nodes[1].nodes[0].attribute, 'class'); |
103 |
| - t.equal(tree.nodes[1].nodes[0].spaces.before, ' '); |
104 |
| - t.equal(tree.nodes[1].nodes[0].spaces.after, ' '); |
| 89 | + t.same(tree.nodes[0].nodes[0].attribute, 'href'); |
| 90 | + t.same(tree.nodes[0].nodes[0].spaces.before, ' '); |
| 91 | + t.same(tree.nodes[0].nodes[0].spaces.after, ' '); |
| 92 | + t.same(tree.nodes[1].nodes[0].attribute, 'class'); |
| 93 | + t.same(tree.nodes[1].nodes[0].spaces.before, ' '); |
| 94 | + t.same(tree.nodes[1].nodes[0].spaces.after, ' '); |
105 | 95 | });
|
0 commit comments