summaryrefslogtreecommitdiffstats
path: root/tests/auto/installer
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/installer')
-rw-r--r--tests/auto/installer/settings/data/empty_config.xml3
-rw-r--r--tests/auto/installer/settings/data/full_config.xml171
-rw-r--r--tests/auto/installer/settings/data/minimal_config.xml5
-rw-r--r--tests/auto/installer/settings/data/unknown_element_config.xml6
-rw-r--r--tests/auto/installer/settings/settings.qrc6
-rw-r--r--tests/auto/installer/settings/tst_settings.cpp43
6 files changed, 229 insertions, 5 deletions
diff --git a/tests/auto/installer/settings/data/empty_config.xml b/tests/auto/installer/settings/data/empty_config.xml
new file mode 100644
index 000000000..66c9879a5
--- /dev/null
+++ b/tests/auto/installer/settings/data/empty_config.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Installer>
+</Installer>
diff --git a/tests/auto/installer/settings/data/full_config.xml b/tests/auto/installer/settings/data/full_config.xml
new file mode 100644
index 000000000..2b11c0166
--- /dev/null
+++ b/tests/auto/installer/settings/data/full_config.xml
@@ -0,0 +1,171 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+File should contain all elements we allow in a config.xml
+-->
+
+<Installer>
+ <Name>Your application</Name>
+ <Version>1.2.3</Version>
+ <Title>Your application Installer</Title>
+ <Publisher>Your vendor</Publisher>
+ <ProductUrl>Your vendor</ProductUrl>
+
+ <TargetDir>@homeDir@InstallationDirectory</TargetDir>
+ <AdminTargetDir>@rootDir@InstallationDirectory</AdminTargetDir>
+
+ <Icon>icon</Icon>
+ <Logo>logo</Logo>
+ <LogoSmall>logo_small</LogoSmall>
+ <Watermark>watermark</Watermark>
+ <Background>background</Background>
+
+ <StartMenuDir>Super App</StartMenuDir>
+
+ <UninstallerName>uninstaller</UninstallerName>
+ <UninstallerIniFile>uninstaller.ini</UninstallerIniFile>
+ <RemoveTargetDir>true</RemoveTargetDir>
+
+ <RunProgram>myapp</RunProgram>
+ <RunProgramDescription>Launch MyApp</RunProgramDescription>
+
+ <SigningCertificate>certificate1</SigningCertificate>
+ <SigningCertificate>certificate2</SigningCertificate>
+
+ <DependsOnLocalInstallerBinary>true</DependsOnLocalInstallerBinary>
+ <AllowSpaceInPath>true</AllowSpaceInPath>
+ <AllowNonAsciiCharacters>true</AllowNonAsciiCharacters>
+ <RepositorySettingsPageVisible>false</RepositorySettingsPageVisible>
+ <TargetConfigurationFile>components.xml</TargetConfigurationFile>
+
+ <RemoteRepositories>
+ <Repository>
+ <Url>http://www.yourcompany.com/packages</Url>
+ <Enabled>1</Enabled>
+ <Username>user</Username>
+ <Password>password</Password>
+ </Repository>
+ </RemoteRepositories>
+
+ <Pages>
+ <Page name="IntroductionPage">
+ <Title>
+ <Default>Introduction Page Title</Default>
+ </Title>
+ <SubTitle>
+ <Default>Introduction Page Sub Title</Default>
+ </SubTitle>
+ <MessageLabel>Introduction Page Message Label</MessageLabel>
+ </Page>
+ <Page name="LicenseAgreementPage">
+ <Title>
+ <Default>License Agreement Page Title</Default>
+ </Title>
+ <SubTitle>
+ <Default>License Agreement Page Sub Title</Default>
+ </SubTitle>
+ <AcceptLicenseLabel>Accept License Radio Button</AcceptLicenseLabel>
+ <RejectLicenseLabel>Reject License Radio Button</RejectLicenseLabel>
+ </Page>
+ <Page name="ComponentSelectionPage">
+ <Title>
+ <Default>Component Selection Page Title</Default>
+ <Updater>Component Selection Page Sub Title Updater</Updater>
+ <Installer>Component Selection Page Sub Title Installer</Installer>
+ <Uninstaller>Component Selection Page Sub Title Uninstaller</Uninstaller>
+ <PackageManager>Component Selection Page Sub Title Package Manager</PackageManager>
+ </Title>
+ <SubTitle>
+ <Default>Component Selection Page Sub Title</Default>
+ <Updater>Component Selection Page Sub Title Updater</Updater>
+ <Installer>Component Selection Page Sub Title Installer</Installer>
+ <Uninstaller>Component Selection Page Sub Title Uninstaller</Uninstaller>
+ <PackageManager>Component Selection Page Sub Title Package Manager</PackageManager>
+ </SubTitle>
+ <SelectDefaultComponentsButton>Default Button</SelectDefaultComponentsButton>
+ <SelectAllComponentsButton>Select All Button</SelectAllComponentsButton>
+ <DeselectAllComponentsButton>Deselect All Button</DeselectAllComponentsButton>
+ <ComponentSizeLabel>Component Size Label</ComponentSizeLabel>
+ </Page>
+ <Page name="TargetDirectoryPage">
+ <Title>
+ <Default>Target Directory Page Title</Default>
+ </Title>
+ <SubTitle>
+ <Default>Target Directory Page Sub Title</Default>
+ </SubTitle>
+ <MessageLabel>Target Directory Page Message Label</MessageLabel>
+ <BrowseDirectoryButton>Browse Directory Button</BrowseDirectoryButton>
+ <EmptyTargetDirectoryMessage>Empty Target Directory Message</EmptyTargetDirectoryMessage>
+ <ForbiddenTargetDirectoryMessage>Forbidden Target Directory Message</ForbiddenTargetDirectoryMessage>
+ <OverwriteTargetDirectoryMessage>Overwrite Target Directory Message</OverwriteTargetDirectoryMessage>
+ <SelectInstallationFolderCaption>Select Installation Folder Caption</SelectInstallationFolderCaption>
+ </Page>
+ <Page name="StartMenuDirectoryPage">
+ <Title>
+ <Default>Start Menu Directory Page Title</Default>
+ </Title>
+ <SubTitle>
+ <Default>Start Menu Directory Page Sub Title</Default>
+ </SubTitle>
+ </Page>
+ <Page name="ReadyForInstallationPage">
+ <Title>
+ <Default>Ready for Installation Page Title</Default>
+ <Updater>Ready for Installation Page Title Updater</Updater>
+ <Installer>Ready for Installation Page Title Installer</Installer>
+ <Uninstaller>Ready for Installation Page Title Uninstaller</Uninstaller>
+ <PackageManager>Ready for Installation Page Title Package Manager</PackageManager>
+ </Title>
+ <SubTitle>
+ <Default>Ready for Installation Page Sub Title</Default>
+ <Updater>Ready for Installation Page Sub Title Updater</Updater>
+ <Installer>Ready for Installation Page Sub Title Installer</Installer>
+ <Uninstaller>Ready for Installation Page Sub Title Uninstaller</Uninstaller>
+ <PackageManager>Ready for Installation Page Sub Title Package Manager</PackageManager>
+ </SubTitle>
+ <MessageLabel>Ready for Installation Page Message Label</MessageLabel>
+ </Page>
+ <Page name="PerformInstallationPage">
+ <Title>
+ <Default>Perform Installation Page Title</Default>
+ <Updater>Perform Installation Page Title Updater</Updater>
+ <Installer>Perform Installation Page Title Installer</Installer>
+ <Uninstaller>Perform Installation Page Title Uninstaller</Uninstaller>
+ <PackageManager>Perform Installation Page Title Package Manager</PackageManager>
+ </Title>
+ <SubTitle>
+ <Default>Perform Installation Page Sub Title</Default>
+ <Updater>Perform Installation Page Sub Title Updater</Updater>
+ <Installer>Perform Installation Page Sub Title Installer</Installer>
+ <Uninstaller>Perform Installation Page Sub Title Uninstaller</Uninstaller>
+ <PackageManager>Perform Installation Page Sub Title Package Manager</PackageManager>
+ </SubTitle>
+ </Page>
+ <Page name ="FinishedPage">
+ <Title>
+ <Default>Finished Page Title</Default>
+ <Updater>Finished Page Title Updater</Updater>
+ <Installer>Finished Page Title Installer</Installer>
+ <Uninstaller>Finished Page Title Uninstaller</Uninstaller>
+ <PackageManager>Finished Page Title Package Manager</PackageManager>
+ </Title>
+ <SubTitle>
+ <Default>Finished Page Sub Title</Default>
+ <Updater>Finished Page Sub Title Updater</Updater>
+ <Installer>Finished Page Sub Title Installer</Installer>
+ <Uninstaller>Finished Page Sub Title Uninstaller</Uninstaller>
+ <PackageManager>Finished Page Sub Title Package Manager</PackageManager>
+ </SubTitle>
+ <MessageLabel>Finished Page Message Label</MessageLabel>
+ </Page>
+ <Page name="RestartPage">
+ <Title>
+ <Default>Restart Page Title</Default>
+ </Title>
+ <SubTitle>
+ <Default>Restart Page Sub Title</Default>
+ </SubTitle>
+ </Page>
+ </Pages>
+</Installer>
diff --git a/tests/auto/installer/settings/data/minimal_config.xml b/tests/auto/installer/settings/data/minimal_config.xml
new file mode 100644
index 000000000..1b4e1d25d
--- /dev/null
+++ b/tests/auto/installer/settings/data/minimal_config.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Installer>
+ <Name>Your application</Name>
+ <Version>1.2.3</Version>
+</Installer>
diff --git a/tests/auto/installer/settings/data/unknown_element_config.xml b/tests/auto/installer/settings/data/unknown_element_config.xml
new file mode 100644
index 000000000..0d97564e6
--- /dev/null
+++ b/tests/auto/installer/settings/data/unknown_element_config.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Installer>
+ <Name>Your application</Name>
+ <Version>1.2.3</Version>
+ <unknown></unknown>
+</Installer>
diff --git a/tests/auto/installer/settings/settings.qrc b/tests/auto/installer/settings/settings.qrc
index eaa92b93e..de130ea10 100644
--- a/tests/auto/installer/settings/settings.qrc
+++ b/tests/auto/installer/settings/settings.qrc
@@ -1,6 +1,10 @@
<RCC>
<qresource prefix="/">
- <file>data/tutorial_config.xml</file>
+ <file>data/empty_config.xml</file>
+ <file>data/full_config.xml</file>
<file>data/malformed_config.xml</file>
+ <file>data/minimal_config.xml</file>
+ <file>data/tutorial_config.xml</file>
+ <file>data/unknown_element_config.xml</file>
</qresource>
</RCC>
diff --git a/tests/auto/installer/settings/tst_settings.cpp b/tests/auto/installer/settings/tst_settings.cpp
index 2fcd6bf3f..9fbbd8292 100644
--- a/tests/auto/installer/settings/tst_settings.cpp
+++ b/tests/auto/installer/settings/tst_settings.cpp
@@ -12,12 +12,15 @@ class tst_Settings : public QObject
Q_OBJECT
private slots:
- void loadConfig();
+ void loadTutorialConfig();
+ void loadFullConfig();
+ void loadEmptyConfig();
void loadNotExistingConfig();
void loadMalformedConfig();
+ void loadUnknownElementConfig();
};
-void tst_Settings::loadConfig()
+void tst_Settings::loadTutorialConfig()
{
Settings settings =
Settings::fromFileAndPrefix(":///data/tutorial_config.xml", ":///data");
@@ -62,12 +65,31 @@ void tst_Settings::loadConfig()
QCOMPARE(settings.httpProxy(), QNetworkProxy());
}
+void tst_Settings::loadFullConfig()
+{
+ Settings settings =
+ Settings::fromFileAndPrefix(":///data/full_config.xml", ":///data");
+}
+
+void tst_Settings::loadEmptyConfig()
+{
+ try {
+ Settings::fromFileAndPrefix(":/data/empty_config.xml", ":/data");
+ } catch (const Error &error) {
+ QCOMPARE(error.message(), QLatin1String("Missing or empty <Name> tag in :/data/empty_config.xml."));
+ return;
+ }
+ QFAIL("No exception thrown");
+}
+
void tst_Settings::loadNotExistingConfig()
{
try {
Settings::fromFileAndPrefix(":/data/inexisting_config.xml", ":/data");
} catch (const Error &error) {
- QVERIFY(error.message() == ("Could not open settings file :/data/inexisting_config.xml for reading: Unknown error"));
+ QCOMPARE(error.message(), QLatin1String("Could not open settings file "
+ ":/data/inexisting_config.xml for reading: "
+ "Unknown error"));
return;
}
QFAIL("No exception thrown");
@@ -78,7 +100,20 @@ void tst_Settings::loadMalformedConfig()
try {
Settings::fromFileAndPrefix(":/data/malformed_config.xml", ":/data");
} catch (const Error &error) {
- QVERIFY(error.message().startsWith("Xml parse error"));
+ QCOMPARE(error.message(), QLatin1String("Error in :/data/malformed_config.xml, line 9, column 0: "
+ "Premature end of document."));
+ return;
+ }
+ QFAIL("No exception thrown");
+}
+
+void tst_Settings::loadUnknownElementConfig()
+{
+ try {
+ Settings::fromFileAndPrefix(":/data/unknown_element_config.xml", ":/data");
+ } catch (const Error &error) {
+ QCOMPARE(error.message(), QLatin1String("Error in :/data/unknown_element_config.xml, line 5, "
+ "column 13: Unexpected element 'unknown'."));
return;
}
QFAIL("No exception thrown");