on xenial help sign in
Add backend test
bd1928fJosh Arenson
plugins/LightDM/UsersModel.cpp+1−1
@@ -110,7 +110,7 @@ QVariant MangleModel::data(const QModelIndex &index, int role) const
110 }
110 }
111
111
112 // Workaround for liblightdm returning "" when a user has no default session
112 // 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())) {
114 variantData = Greeter::instance()->defaultSessionHint();
114 variantData = Greeter::instance()->defaultSessionHint();
115 }
115 }
116
116
tests/plugins/LightDM/IntegratedLightDM/usersmodel.cpp+13
@@ -113,6 +113,19 @@ private Q_SLOTS:
113 QCOMPARE(session, Greeter::instance()->defaultSessionHint());
113 QCOMPARE(session, Greeter::instance()->defaultSessionHint());
114 }
114 }
115
115
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+
116 void testHideUsers()
129 void testHideUsers()
117 {
130 {
118 QLightDM::MockController::instance()->setHideUsersHint(true);
131 QLightDM::MockController::instance()->setHideUsersHint(true);