From 05388814476f6e48bb70bcb82aeef6da7cb46ab7 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 26 Aug 2021 14:32:57 +0200 Subject: [PATCH] [libcalamares] Handle multiple invalid URLs at once - expand tests with example where more than one URL is invalid - fix the call to the wrong overload of QVector::erase() --- src/libcalamares/network/Manager.cpp | 2 +- src/libcalamares/network/Tests.cpp | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/libcalamares/network/Manager.cpp b/src/libcalamares/network/Manager.cpp index 5125f592e..cceff477e 100644 --- a/src/libcalamares/network/Manager.cpp +++ b/src/libcalamares/network/Manager.cpp @@ -222,7 +222,7 @@ Manager::setCheckHasInternetUrl( const QVector< QUrl >& urls ) d->m_hasInternetUrls.begin(), d->m_hasInternetUrls.end(), []( const QUrl& u ) { return !u.isValid(); } ); if ( it != d->m_hasInternetUrls.end() ) { - d->m_hasInternetUrls.erase( it ); + d->m_hasInternetUrls.erase( it, d->m_hasInternetUrls.end() ); } } diff --git a/src/libcalamares/network/Tests.cpp b/src/libcalamares/network/Tests.cpp index a5bc52497..e5bd34c23 100644 --- a/src/libcalamares/network/Tests.cpp +++ b/src/libcalamares/network/Tests.cpp @@ -134,4 +134,14 @@ NetworkTests::testCheckMultiUrl() QVERIFY( nam.checkHasInternet() ); QCOMPARE( nam.getCheckInternetUrls().count(), 2 ); } + { + QUrl u0( "http://nonexistent.example.com" ); + QUrl u1; + QVERIFY( u0.isValid() ); + QVERIFY( !u1.isValid() ); + nam.setCheckHasInternetUrl( { u1, u1, u1, u1 } ); + QCOMPARE( nam.getCheckInternetUrls().count(), 0 ); + nam.setCheckHasInternetUrl( { u1, u1, u0, u1 } ); + QCOMPARE( nam.getCheckInternetUrls().count(), 1 ); + } }