Skip to content

Commit

Permalink
Add unit tests for save user name
Browse files Browse the repository at this point in the history
  • Loading branch information
nyalldawson committed Jan 21, 2020
1 parent b14997d commit cbba10b
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 2 deletions.
9 changes: 7 additions & 2 deletions src/core/qgsproject.cpp
Expand Up @@ -1994,6 +1994,13 @@ bool QgsProject::writeProjectFile( const QString &filename )
QString newSaveUserFull = QgsApplication::userFullName();
qgisNode.setAttribute( QStringLiteral( "saveUser" ), newSaveUser );
qgisNode.setAttribute( QStringLiteral( "saveUserFull" ), newSaveUserFull );
mSaveUser = newSaveUser;
mSaveUserFull = newSaveUserFull;
}
else
{
mSaveUser.clear();
mSaveUserFull.clear();
}
doc->appendChild( qgisNode );

Expand Down Expand Up @@ -2234,8 +2241,6 @@ bool QgsProject::writeProjectFile( const QString &filename )
setDirty( false ); // reset to pristine state

emit projectSaved();
mSaveUser = newSaveUser;
mSaveUserFull = newSaveUserFull;
return true;
}

Expand Down
32 changes: 32 additions & 0 deletions tests/src/core/testqgsproject.cpp
Expand Up @@ -47,6 +47,7 @@ class TestQgsProject : public QObject
void testReadFlags();
void testSetGetCrs();
void testEmbeddedLayerGroupFromQgz();
void projectSaveUser();
};

void TestQgsProject::init()
Expand All @@ -69,6 +70,7 @@ void TestQgsProject::initTestCase()

QgsApplication::init();
QgsApplication::initQgis();
QgsSettings().clear();
}


Expand Down Expand Up @@ -485,6 +487,36 @@ void TestQgsProject::testEmbeddedLayerGroupFromQgz()
QCOMPARE( p1.layerIsEmbedded( polys->id() ), path );
}

void TestQgsProject::projectSaveUser()
{
QgsProject p;
QVERIFY( p.saveUser().isEmpty() );
QVERIFY( p.saveUserFullname().isEmpty() );

QTemporaryFile f;
QVERIFY( f.open() );
f.close();
p.setFileName( f.fileName() );
p.write();

QCOMPARE( p.saveUser(), QgsApplication::userLoginName() );
QCOMPARE( p.saveUserFullname(), QgsApplication::userFullName() );

QgsSettings s;
s.setValue( QStringLiteral( "projects/anonymize_saved_projects" ), true, QgsSettings::Core );

p.write();

QVERIFY( p.saveUser().isEmpty() );
QVERIFY( p.saveUserFullname().isEmpty() );

s.setValue( QStringLiteral( "projects/anonymize_saved_projects" ), false, QgsSettings::Core );

p.write();
QCOMPARE( p.saveUser(), QgsApplication::userLoginName() );
QCOMPARE( p.saveUserFullname(), QgsApplication::userFullName() );
}

void TestQgsProject::testSetGetCrs()
{
QgsProject p;
Expand Down

0 comments on commit cbba10b

Please sign in to comment.