From kde-commits Sat Aug 31 23:41:39 2013 From: Andrea Iacovitti Date: Sat, 31 Aug 2013 23:41:39 +0000 To: kde-commits Subject: [kdelibs/KDE/4.11] kdecore/tests: Test to ensure that when setting an encoded plus sign '+' in query Message-Id: X-MARC-Message: https://marc.info/?l=kde-commits&m=137799250926556 Git commit e8b29e145745c008ecc893e3f9ce00f291884184 by Andrea Iacovitti. Committed on 31/08/2013 at 23:40. Pushed by aiacovitti into branch 'KDE/4.11'. Test to ensure that when setting an encoded plus sign '+' in query part it = doesn't get decoded by KUrl::url(). Needed for uri intended to submit html forms where an unencoded '+' means a= space char. M +11 -0 kdecore/tests/kurltest.cpp http://commits.kde.org/kdelibs/e8b29e145745c008ecc893e3f9ce00f291884184 diff --git a/kdecore/tests/kurltest.cpp b/kdecore/tests/kurltest.cpp index a5a537f..d628665 100644 --- a/kdecore/tests/kurltest.cpp +++ b/kdecore/tests/kurltest.cpp @@ -111,6 +111,13 @@ void KUrlTest::testSetQuery() QCOMPARE( url1.query(), QString("?") ); url1.setQuery( QString() ); QCOMPARE( url1.query(), QString() ); + + url1.setQuery("4=3D2+2"); + QCOMPARE( url1.url(), QString("http://www.kde.org/foo.cgi?4=3D2+2")); + QCOMPARE( url1.query(), QString("?4=3D2+2")); + url1.setQuery("4=3D2%2B2"); + QCOMPARE( url1.url(), QString("http://www.kde.org/foo.cgi?4=3D2%2B2")); = // %2B should not be decoded to + + QCOMPARE( url1.query(), QString("?4=3D2%2B2")); } = void KUrlTest::testEmptyNullReference() @@ -272,6 +279,10 @@ void KUrlTest::testSimpleMethods() // to test parsing,= mostly QCOMPARE( url0.htmlRef(), QString("/?:@-._~!$&'()*+,;=3D%A") ); QCOMPARE( url0.url(), QString("http://www.kde.org#/?:@-._~!$&'()*+,;=3D%= 25A") ); = + url0 =3D "http://www.kde.org/foo.cgi?4=3D2+2"; + QCOMPARE( url0.url(), QString("http://www.kde.org/foo.cgi?4=3D2+2") ); + url0 =3D "http://www.kde.org/foo.cgi?4=3D2%2B2"; + QCOMPARE( url0.url(), QString("http://www.kde.org/foo.cgi?4=3D2%2B2") );= // %2B should not be decoded to + = KUrl fileURL( "file:///home/dfaure/myfile" ); QCOMPARE( fileURL.url(), QString("file:///home/dfaure/myfile") );