File 166-add-xfail-test_add_or_replace_parameter_fail.patch of Package python-w3lib

From 34c62eb265cdb75b748d8aca43a2f8b9581dbd6a Mon Sep 17 00:00:00 2001
From: Eugenio Lacuesta <eugenio.lacuesta@gmail.com>
Date: Wed, 10 Mar 2021 12:20:24 -0300
Subject: [PATCH 1/8] [CI] Run tests on GitHub actions

---
 tests/test_url.py |   24 ++++++++++++++----------
 1 file changed, 14 insertions(+), 10 deletions(-)
 delete mode 100644 .github/workflows/build.yml
 create mode 100644 .github/workflows/tests.yml

--- a/tests/test_url.py
+++ b/tests/test_url.py
@@ -2,11 +2,14 @@
 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):
@@ -76,17 +79,16 @@ class UrlTests(unittest.TestCase):
     def test_safe_url_string_unsafe_chars(self):
         safeurl = safe_url_string(r"http://localhost:8001/unwise{,},|,\,^,[,],`?|=[]&[]=|")
         self.assertEqual(safeurl, r"http://localhost:8001/unwise%7B,%7D,|,%5C,%5E,[,],%60?|=[]&[]=|")
-        
+
     def test_safe_url_string_quote_path(self):
         safeurl = safe_url_string(u'http://google.com/"hello"', quote_path=True)
         self.assertEqual(safeurl, u'http://google.com/%22hello%22')
-        
+
         safeurl = safe_url_string(u'http://google.com/"hello"', quote_path=False)
         self.assertEqual(safeurl, u'http://google.com/"hello"')
-        
+
         safeurl = safe_url_string(u'http://google.com/"hello"')
         self.assertEqual(safeurl, u'http://google.com/%22hello%22')
-        
 
     def test_safe_url_string_with_query(self):
         safeurl = safe_url_string(u"http://www.example.com/£?unit=µ")
@@ -299,10 +301,6 @@ class UrlTests(unittest.TestCase):
         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'
@@ -327,6 +325,13 @@ class UrlTests(unittest.TestCase):
         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'}),
@@ -741,4 +746,3 @@ class DataURITests(unittest.TestCase):
 
 if __name__ == "__main__":
     unittest.main()
-
openSUSE Build Service is sponsored by