1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
From fae6cc40e112cd13697cb0e8d79976f32c72491d Mon Sep 17 00:00:00 2001
From: Eugenio Lacuesta <eugenio.lacuesta@gmail.com>
Date: Wed, 10 Mar 2021 12:31:05 -0300
Subject: [PATCH] [CI] Mark single add_or_replace_parameter test as xfail
---
This patch is based on upstream commit
fae6cc40e112cd13697cb0e8d79976f32c72491d which is part of
https://github.com/scrapy/w3lib/pull/166.
.gitignore | 3 ++-
tests/test_url.py | 25 ++++++++++++++-----------
2 files changed, 16 insertions(+), 12 deletions(-)
diff --git a/tests/test_url.py b/tests/test_url.py
index 8b07c00..0f7458e 100644
--- a/tests/test_url.py
+++ b/tests/test_url.py
@@ -1,12 +1,14 @@
-# -*- coding: utf-8 -*-
from __future__ import absolute_import
import os
import unittest
+
+import pytest
+from six.moves.urllib.parse import urlparse
+
from w3lib.url import (is_url, safe_url_string, safe_download_url,
url_query_parameter, add_or_replace_parameter, url_query_cleaner,
file_uri_to_path, parse_data_uri, path_to_file_uri, any_to_uri,
urljoin_rfc, canonicalize_url, parse_url, add_or_replace_parameters)
-from six.moves.urllib.parse import urlparse
class UrlTests(unittest.TestCase):
@@ -310,10 +311,6 @@ def test_add_or_replace_parameter(self):
self.assertEqual(add_or_replace_parameter(url, 'arg3', 'nv3'),
'http://domain/test?arg1=v1&arg2=v2&arg3=nv3')
- url = 'http://domain/test?arg1=v1;arg2=v2'
- self.assertEqual(add_or_replace_parameter(url, 'arg1', 'v3'),
- 'http://domain/test?arg1=v3&arg2=v2')
-
self.assertEqual(add_or_replace_parameter("http://domain/moreInfo.asp?prodID=", 'prodID', '20'),
'http://domain/moreInfo.asp?prodID=20')
url = 'http://rmc-offers.co.uk/productlist.asp?BCat=2%2C60&CatID=60'
@@ -338,6 +335,13 @@ def test_add_or_replace_parameter(self):
self.assertEqual(add_or_replace_parameter(url, 'arg1', 'v3'),
'http://domain/test?arg1=v3&arg2=v2')
+ @pytest.mark.xfail(reason="https://github.com/scrapy/w3lib/issues/164")
+ def test_add_or_replace_parameter_fail(self):
+ self.assertEqual(
+ add_or_replace_parameter('http://domain/test?arg1=v1;arg2=v2', 'arg1', 'v3'),
+ 'http://domain/test?arg1=v3&arg2=v2'
+ )
+
def test_add_or_replace_parameters(self):
url = 'http://domain/test'
self.assertEqual(add_or_replace_parameters(url, {'arg': 'v'}),
|