tests/auto/qurl/tst_qurl.cpp
branchRCL_3
changeset 5 d3bac044e0f0
parent 4 3b1da2848fc7
child 8 3f74d0d4af4c
--- a/tests/auto/qurl/tst_qurl.cpp	Fri Feb 19 23:40:16 2010 +0200
+++ b/tests/auto/qurl/tst_qurl.cpp	Fri Mar 12 15:46:37 2010 +0200
@@ -90,7 +90,6 @@
 private slots:
     void getSetCheck();
     void constructing();
-    void isDetached();
     void assignment();
     void comparison();
     void copying();
@@ -166,6 +165,8 @@
     void ace_testsuite();
     void std3violations_data();
     void std3violations();
+    void std3deviations_data();
+    void std3deviations();
     void tldRestrictions_data();
     void tldRestrictions();
     void emptyQueryOrFragment();
@@ -319,25 +320,6 @@
     QVERIFY(!buildUNC.isEmpty());
 }
 
-void tst_QUrl::isDetached()
-{
-    QUrl url;
-    QVERIFY(!url.isDetached());
-
-    url = "http://qt.nokia.com/";
-    QVERIFY(url.isDetached());
-
-    url.clear();
-    QVERIFY(!url.isDetached());
-
-    url.setHost("qt.nokia.com");
-    QVERIFY(url.isDetached());
-
-    QUrl url2 = url;
-    QVERIFY(!url.isDetached());
-    QVERIFY(!url2.isDetached());
-}
-
 void tst_QUrl::assignment()
 {
     QUrl url("http://qt.nokia.com/");
@@ -3258,6 +3240,8 @@
     QTest::newRow("bang") << "foo!" << false;
     QTest::newRow("plus") << "foo+bar" << false;
     QTest::newRow("dot") << "foo.bar";
+    QTest::newRow("startingdot") << ".bar" << false;
+    QTest::newRow("startingdot2") << ".example.com" << false;
     QTest::newRow("slash") << "foo/bar" << true;
     QTest::newRow("colon") << "foo:80" << true;
     QTest::newRow("question") << "foo?bar" << true;
@@ -3302,6 +3286,24 @@
     QVERIFY(!url.isValid());
 }
 
+void tst_QUrl::std3deviations_data()
+{
+    QTest::addColumn<QString>("source");
+
+    QTest::newRow("ending-dot") << "example.com.";
+    QTest::newRow("ending-dot3002") << QString("example.com") + QChar(0x3002);
+}
+
+void tst_QUrl::std3deviations()
+{
+    QFETCH(QString, source);
+    QVERIFY(!QUrl::toAce(source).isEmpty());
+
+    QUrl url;
+    url.setHost(source);
+    QVERIFY(!url.host().isEmpty());
+}
+
 void tst_QUrl::tldRestrictions_data()
 {
     QTest::addColumn<QString>("tld");