@@ -157,6 +157,60 @@ describe('exposedFilters', () => {
157
157
} ) ;
158
158
} ) ;
159
159
160
+ describe ( 'with URLs without target parameters' , ( ) => {
161
+ let absoluteLink ;
162
+ let relativeLink ;
163
+ let anchorLink ;
164
+ let img ;
165
+ const originalAbsoluteHref = 'https://example.com/page?keep=value&preserve=me' ;
166
+ const originalRelativeHref = './relative/path?existing=param' ;
167
+ const originalAnchorHref = '#section1' ;
168
+ const originalImgSrc = 'https://example.com/image.jpg?width=100&height=200' ;
169
+
170
+ before ( ( ) => {
171
+ absoluteLink = webPageDOM . createElement ( 'a' ) ;
172
+ absoluteLink . setAttribute ( 'href' , originalAbsoluteHref ) ;
173
+ webPageDOM . body . appendChild ( absoluteLink ) ;
174
+
175
+ relativeLink = webPageDOM . createElement ( 'a' ) ;
176
+ relativeLink . setAttribute ( 'href' , originalRelativeHref ) ;
177
+ webPageDOM . body . appendChild ( relativeLink ) ;
178
+
179
+ anchorLink = webPageDOM . createElement ( 'a' ) ;
180
+ anchorLink . setAttribute ( 'href' , originalAnchorHref ) ;
181
+ webPageDOM . body . appendChild ( anchorLink ) ;
182
+
183
+ img = webPageDOM . createElement ( 'img' ) ;
184
+ img . setAttribute ( 'src' , originalImgSrc ) ;
185
+ webPageDOM . body . appendChild ( img ) ;
186
+
187
+ removeQueryParams ( webPageDOM , [ 'utm_source' , 'utm_medium' , 'session_id' ] ) ;
188
+ } ) ;
189
+
190
+ after ( ( ) => {
191
+ absoluteLink . remove ( ) ;
192
+ relativeLink . remove ( ) ;
193
+ anchorLink . remove ( ) ;
194
+ img . remove ( ) ;
195
+ } ) ;
196
+
197
+ it ( 'leaves absolute link URLs untouched' , ( ) => {
198
+ expect ( absoluteLink . getAttribute ( 'href' ) ) . to . equal ( originalAbsoluteHref ) ;
199
+ } ) ;
200
+
201
+ it ( 'leaves relative link URLs untouched' , ( ) => {
202
+ expect ( relativeLink . getAttribute ( 'href' ) ) . to . equal ( originalRelativeHref ) ;
203
+ } ) ;
204
+
205
+ it ( 'leaves anchor link URLs untouched' , ( ) => {
206
+ expect ( anchorLink . getAttribute ( 'href' ) ) . to . equal ( originalAnchorHref ) ;
207
+ } ) ;
208
+
209
+ it ( 'leaves image source URLs untouched' , ( ) => {
210
+ expect ( img . getAttribute ( 'src' ) ) . to . equal ( originalImgSrc ) ;
211
+ } ) ;
212
+ } ) ;
213
+
160
214
describe ( 'textual content preservation' , ( ) => {
161
215
let codeElement ;
162
216
let paragraphElement ;
0 commit comments