summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/installer/treename/data/repository/Updates.xml16
-rw-r--r--tests/auto/installer/treename/tst_treename.cpp12
2 files changed, 28 insertions, 0 deletions
diff --git a/tests/auto/installer/treename/data/repository/Updates.xml b/tests/auto/installer/treename/data/repository/Updates.xml
index 1ab3caa23..295f076dd 100644
--- a/tests/auto/installer/treename/data/repository/Updates.xml
+++ b/tests/auto/installer/treename/data/repository/Updates.xml
@@ -116,4 +116,20 @@
<DownloadableArchives>content.7z</DownloadableArchives>
<SHA1>3ca69d6bb062c4442fdb20fe0e62bb0f04e8a419</SHA1>
</PackageUpdate>
+ <PackageUpdate>
+ <Name>componentE</Name>
+ <DisplayName>Component E</DisplayName>
+ <Description>Component with tree name, is replaced by other component.</Description>
+ <Version>1.0.0</Version>
+ <ReleaseDate>2022-01-01</ReleaseDate>
+ <TreeName>EToNewRoot</TreeName>
+ </PackageUpdate>
+ <PackageUpdate>
+ <Name>componentF</Name>
+ <DisplayName>Component F</DisplayName>
+ <Description>Component that replaces other component</Description>
+ <Version>1.0.0</Version>
+ <ReleaseDate>2022-01-01</ReleaseDate>
+ <Replaces>componentE</Replaces>
+ </PackageUpdate>
</Updates>
diff --git a/tests/auto/installer/treename/tst_treename.cpp b/tests/auto/installer/treename/tst_treename.cpp
index 58d005848..2945d499a 100644
--- a/tests/auto/installer/treename/tst_treename.cpp
+++ b/tests/auto/installer/treename/tst_treename.cpp
@@ -47,6 +47,8 @@ private slots:
void moveToExistingItemAllowUnstableComponents();
void moveToExistingItemNoUnstableComponents();
+ void replaceComponentWithTreeName();
+
void init();
void cleanup();
@@ -132,6 +134,16 @@ void tst_TreeName::moveToExistingItemNoUnstableComponents()
QVERIFY(!core->componentByName("componentB"));
}
+void tst_TreeName::replaceComponentWithTreeName()
+{
+ QScopedPointer<PackageManagerCore> core(PackageManager::getPackageManagerWithInit
+ (m_installDir, ":///data/repository"));
+
+ QCOMPARE(PackageManagerCore::Success, core->installSelectedComponentsSilently(QStringList() << "componentF"));
+ QVERIFY(core->componentByName("componentF")->value(scTreeName).isEmpty());
+ QVERIFY(!core->componentByName("componentE"));
+}
+
void tst_TreeName::init()
{
m_installDir = QInstaller::generateTemporaryFileName();