forked from qt-creator/qt-creator
Sqlite: Improve LastChangedRowId
Change-Id: I2fe559d4b40f93561e44eb138119416291dc7d41 Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
@@ -114,6 +114,8 @@ public:
|
||||
return rowId;
|
||||
}
|
||||
|
||||
bool lastRowIdIsValid() { return lastRowId >= 0; }
|
||||
|
||||
public:
|
||||
DatabaseInterface &database;
|
||||
DatabaseInterface::UpdateCallback callback;
|
||||
|
@@ -442,4 +442,30 @@ TEST_F(LastChangedRowIdWithNoTable, TakeLastRowIdResetsRowIdToMinusOne)
|
||||
|
||||
ASSERT_THAT(id, -1);
|
||||
}
|
||||
|
||||
TEST_F(LastChangedRowIdWithNoTable, LastRowIdIsNotValidForNegativeValues)
|
||||
{
|
||||
auto isValid = lastRowId.lastRowIdIsValid();
|
||||
|
||||
ASSERT_FALSE(isValid);
|
||||
}
|
||||
|
||||
TEST_F(LastChangedRowIdWithNoTable, LastRowIdIsValidForNull)
|
||||
{
|
||||
lastRowId.callback(Sqlite::ChangeType::Update, "main", "foo", 0);
|
||||
|
||||
auto isValid = lastRowId.lastRowIdIsValid();
|
||||
|
||||
ASSERT_TRUE(isValid);
|
||||
}
|
||||
|
||||
TEST_F(LastChangedRowIdWithNoTable, LastRowIdIsValidForPositiveValues)
|
||||
{
|
||||
lastRowId.callback(Sqlite::ChangeType::Update, "main", "foo", 777);
|
||||
|
||||
auto isValid = lastRowId.lastRowIdIsValid();
|
||||
|
||||
ASSERT_TRUE(isValid);
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
Reference in New Issue
Block a user