ssu
featuremodeltest.cpp
Go to the documentation of this file.
1 
8 #include "featuremodeltest.h"
9 
10 #include <QtTest/QtTest>
11 #include <QtTest/QSignalSpy>
12 #include "libssu/ssufeaturemodel.h"
13 
14 void FeatureModelTest::initTestCase()
15 {
16 
17 }
18 
19 void FeatureModelTest::cleanupTestCase()
20 {
21 
22 }
23 
24 void FeatureModelTest::testFeatures()
25 {
26  SsuFeatureModel featureModel(0, ":/testdata");
27 
28  // Features with no name are skipped (feature-noname.ini)
29  QCOMPARE(featureModel.count(), 3);
30 
31  // First feature is "Feature A" in version 0.1
32 
33  // Explicit getter
34  const QHash<QByteArray, QString> featureA = featureModel.featureAt(0);
35  QCOMPARE(featureA.value("name"), QString("Feature A"));
36  QCOMPARE(featureA.value("version"), QString("0.1"));
37 
38  // Through QAbstractListModel API
39  QCOMPARE(featureModel.data(featureModel.index(0), SsuFeatureModel::Name).toString(), QString("Feature A"));
40  QCOMPARE(featureModel.data(featureModel.index(0), SsuFeatureModel::Version).toString(), QString("0.1"));
41 
42  // Second feature is "Feature B" in version 0.2
43  const QHash<QByteArray, QString> featureB = featureModel.featureAt(1);
44  QCOMPARE(featureB.value("name"), QString("Feature B"));
45  QCOMPARE(featureB.value("version"), QString("0.2"));
46 
47  // Third feature lacks version number
48  const QHash<QByteArray, QString> featureWithoutVersion = featureModel.featureAt(2);
49  QCOMPARE(featureWithoutVersion.value("name"), QString("Feature without version"));
50  QCOMPARE(featureWithoutVersion.value("version"), QString(""));
51 }
featuremodeltest.h
SsuFeatureModel
Definition: ssufeaturemodel.h:16
ssufeaturemodel.h