@@ -7,7 +7,7 @@ describe('exposedFilters', () => {
7
7
let webPageDOM ;
8
8
9
9
before ( ( ) => {
10
- webPageDOM = createWebPageDOM ( '<!DOCTYPE html><html><body></body></html>' ) ;
10
+ webPageDOM = createWebPageDOM ( '<!DOCTYPE html><html><body></body></html>' , 'https://example.com' ) ;
11
11
} ) ;
12
12
13
13
describe ( '#removeQueryParams' , ( ) => {
@@ -16,7 +16,7 @@ describe('exposedFilters', () => {
16
16
17
17
before ( ( ) => {
18
18
link = webPageDOM . createElement ( 'a' ) ;
19
- link . href = 'https://example.com/page?utm_source=test&keep=value' ;
19
+ link . setAttribute ( ' href' , 'https://example.com/page?utm_source=test&keep=value' ) ;
20
20
webPageDOM . body . appendChild ( link ) ;
21
21
} ) ;
22
22
@@ -27,7 +27,7 @@ describe('exposedFilters', () => {
27
27
it ( 'removes the specified query parameters' , ( ) => {
28
28
removeQueryParams ( webPageDOM , [ 'utm_source' ] ) ;
29
29
30
- expect ( link . href ) . to . equal ( 'https://example.com/page?keep=value' ) ;
30
+ expect ( link . getAttribute ( ' href' ) ) . to . equal ( 'https://example.com/page?keep=value' ) ;
31
31
} ) ;
32
32
} ) ;
33
33
@@ -36,7 +36,7 @@ describe('exposedFilters', () => {
36
36
37
37
before ( ( ) => {
38
38
img = webPageDOM . createElement ( 'img' ) ;
39
- img . src = 'https://example.com/image.jpg?width=100&keep=value' ;
39
+ img . setAttribute ( ' src' , 'https://example.com/image.jpg?width=100&keep=value' ) ;
40
40
webPageDOM . body . appendChild ( img ) ;
41
41
} ) ;
42
42
@@ -47,7 +47,7 @@ describe('exposedFilters', () => {
47
47
it ( 'removes the specified query parameters' , ( ) => {
48
48
removeQueryParams ( webPageDOM , [ 'width' ] ) ;
49
49
50
- expect ( img . src ) . to . equal ( 'https://example.com/image.jpg?keep=value' ) ;
50
+ expect ( img . getAttribute ( ' src' ) ) . to . equal ( 'https://example.com/image.jpg?keep=value' ) ;
51
51
} ) ;
52
52
} ) ;
53
53
@@ -56,7 +56,7 @@ describe('exposedFilters', () => {
56
56
57
57
before ( ( ) => {
58
58
link = webPageDOM . createElement ( 'a' ) ;
59
- link . href = 'https://example.com/page?utm_source=test&keep=value' ;
59
+ link . setAttribute ( ' href' , 'https://example.com/page?utm_source=test&keep=value' ) ;
60
60
webPageDOM . body . appendChild ( link ) ;
61
61
} ) ;
62
62
@@ -67,7 +67,7 @@ describe('exposedFilters', () => {
67
67
it ( 'removes a single query parameter passed as string' , ( ) => {
68
68
removeQueryParams ( webPageDOM , 'utm_source' ) ;
69
69
70
- expect ( link . href ) . to . equal ( 'https://example.com/page?keep=value' ) ;
70
+ expect ( link . getAttribute ( ' href' ) ) . to . equal ( 'https://example.com/page?keep=value' ) ;
71
71
} ) ;
72
72
} ) ;
73
73
@@ -76,7 +76,7 @@ describe('exposedFilters', () => {
76
76
77
77
before ( ( ) => {
78
78
link = webPageDOM . createElement ( 'a' ) ;
79
- link . href = 'https://example.com/page?utm_source=test&keep=value' ;
79
+ link . setAttribute ( ' href' , 'https://example.com/page?utm_source=test&keep=value' ) ;
80
80
webPageDOM . body . appendChild ( link ) ;
81
81
} ) ;
82
82
@@ -87,27 +87,33 @@ describe('exposedFilters', () => {
87
87
it ( 'leaves the URL unchanged' , ( ) => {
88
88
removeQueryParams ( webPageDOM , [ ] ) ;
89
89
90
- expect ( link . href ) . to . equal ( 'https://example.com/page?utm_source=test&keep=value' ) ;
90
+ expect ( link . getAttribute ( ' href' ) ) . to . equal ( 'https://example.com/page?utm_source=test&keep=value' ) ;
91
91
} ) ;
92
92
} ) ;
93
93
94
94
describe ( 'with invalid URLs' , ( ) => {
95
95
let link ;
96
+ let webPageDOMWithBaseURL ;
97
+ const invalidURL = 'ht^THIS_IS_WRONG^tp://example.com?utm_source=test' ;
96
98
97
99
before ( ( ) => {
98
- link = webPageDOM . createElement ( 'a' ) ;
99
- link . href = 'ht^THIS_IS_WRONG^tp://example.com?utm_source=test' ;
100
- webPageDOM . body . appendChild ( link ) ;
100
+ webPageDOMWithBaseURL = createWebPageDOM ( '<!DOCTYPE html><html><body></body></html>' ) ;
101
+ } ) ;
102
+
103
+ before ( ( ) => {
104
+ link = webPageDOMWithBaseURL . createElement ( 'a' ) ;
105
+ link . setAttribute ( 'href' , invalidURL ) ;
106
+ webPageDOMWithBaseURL . body . appendChild ( link ) ;
101
107
} ) ;
102
108
103
109
after ( ( ) => {
104
110
link . remove ( ) ;
105
111
} ) ;
106
112
107
113
it ( 'ignores elements with invalid URLs' , ( ) => {
108
- removeQueryParams ( webPageDOM , [ 'utm_source' ] ) ;
114
+ removeQueryParams ( webPageDOMWithBaseURL , [ 'utm_source' ] ) ;
109
115
110
- expect ( link . href ) . to . equal ( 'ht^THIS_IS_WRONG^tp://example.com?utm_source=test' ) ;
116
+ expect ( link . getAttribute ( ' href' ) ) . to . equal ( invalidURL ) ;
111
117
} ) ;
112
118
} ) ;
113
119
@@ -116,7 +122,7 @@ describe('exposedFilters', () => {
116
122
117
123
before ( ( ) => {
118
124
link = webPageDOM . createElement ( 'a' ) ;
119
- link . href = 'https://example.com/page?utm_source=test&utm_medium=email&keep=value&remove=me' ;
125
+ link . setAttribute ( ' href' , 'https://example.com/page?utm_source=test&utm_medium=email&keep=value&remove=me' ) ;
120
126
webPageDOM . body . appendChild ( link ) ;
121
127
} ) ;
122
128
@@ -127,7 +133,7 @@ describe('exposedFilters', () => {
127
133
it ( 'removes all specified query parameters' , ( ) => {
128
134
removeQueryParams ( webPageDOM , [ 'utm_source' , 'utm_medium' , 'remove' ] ) ;
129
135
130
- expect ( link . href ) . to . equal ( 'https://example.com/page?keep=value' ) ;
136
+ expect ( link . getAttribute ( ' href' ) ) . to . equal ( 'https://example.com/page?keep=value' ) ;
131
137
} ) ;
132
138
} ) ;
133
139
@@ -136,7 +142,7 @@ describe('exposedFilters', () => {
136
142
137
143
before ( ( ) => {
138
144
link = webPageDOM . createElement ( 'a' ) ;
139
- link . href = 'https://example.com/test?utm_source=to_remove_1&keep=true&utm_source=to_remove_2' ;
145
+ link . setAttribute ( ' href' , 'https://example.com/test?utm_source=to_remove_1&keep=true&utm_source=to_remove_2' ) ;
140
146
webPageDOM . body . appendChild ( link ) ;
141
147
} ) ;
142
148
@@ -147,7 +153,7 @@ describe('exposedFilters', () => {
147
153
it ( 'removes all instances of duplicate query parameters' , ( ) => {
148
154
removeQueryParams ( webPageDOM , [ 'utm_source' ] ) ;
149
155
150
- expect ( link . href ) . to . equal ( 'https://example.com/test?keep=true' ) ;
156
+ expect ( link . getAttribute ( ' href' ) ) . to . equal ( 'https://example.com/test?keep=true' ) ;
151
157
} ) ;
152
158
} ) ;
153
159
0 commit comments