on xenial help sign in
Add backend test

Also, clean up string length logic

commitbd1928fd150cb5a2c94925d5603405207716d2ef authorJosh Arenson <joshua.arenson@canonical.com> dateWed 22 Mar 2017, 15:54 (10 years ago) parent4d6f862
2 files changed+14−1
plugins/LightDM/UsersModel.cpp+1−1 tests/plugins/LightDM/IntegratedLightDM/usersmodel.cpp+13
plugins/LightDM/UsersModel.cpp+1−1
@@ -110,7 +110,7 @@ QVariant MangleModel::data(const QModelIndex &index, int role) const
110110 }
111111
112112 // Workaround for liblightdm returning "" when a user has no default session
113− if (Q_UNLIKELY(role == QLightDM::UsersModel::SessionRole && variantData.toString().length() == 0)) {
113+ if (Q_UNLIKELY(role == QLightDM::UsersModel::SessionRole && variantData.toString().isEmpty())) {
114114 variantData = Greeter::instance()->defaultSessionHint();
115115 }
116116
tests/plugins/LightDM/IntegratedLightDM/usersmodel.cpp+13
@@ -113,6 +113,19 @@ private Q_SLOTS:
113113 QCOMPARE(session, Greeter::instance()->defaultSessionHint());
114114 }
115115
116+
117+ void testEmptySession()
118+ {
119+ int i = findName(model, QStringLiteral("no-session"));
120+ QVERIFY(i >= 0);
121+
122+ // A valid test as 'no-session' is instantiated with it's
123+ // SessionRole as an empty string. This ensures something,
124+ // hopefully sensical, is returned.
125+ auto session = model->data(i, QLightDM::UsersModel::SessionRole);
126+ QCOMPARE(session.toString().isEmpty(), false);
127+ }
128+
116129 void testHideUsers()
117130 {
118131 QLightDM::MockController::instance()->setHideUsersHint(true);