From fae6cc40e112cd13697cb0e8d79976f32c72491d Mon Sep 17 00:00:00 2001 From: Eugenio Lacuesta 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'}),