mirror of
https://github.com/subsurface/subsurface.git
synced 2024-12-03 23:53:11 +00:00
35b8a4f404
process_dives() is used to post-process the dive table after loading or importing. The first parameter states whether this was after load or import. Especially in the light of undo, load and import are fundamentally different things. Notably, that latter should be undo-able, whereas the former is not. Therefore, as a first step to make import undo-able, split the function in two versions and remove the first parameter. It turns out the the load-version is very light. It only sets the DC nicknames and sorts the dive-table. There seems to be no reason to merge dives. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
37 lines
962 B
C++
37 lines
962 B
C++
// SPDX-License-Identifier: GPL-2.0
|
|
#include "testrenumber.h"
|
|
#include "core/dive.h"
|
|
#include "core/divelist.h"
|
|
#include "core/file.h"
|
|
#include <QTextStream>
|
|
|
|
void TestRenumber::setup()
|
|
{
|
|
QCOMPARE(parse_file(SUBSURFACE_TEST_DATA "/dives/test47.xml", &dive_table), 0);
|
|
process_loaded_dives();
|
|
dive_table.preexisting = dive_table.nr;
|
|
}
|
|
|
|
void TestRenumber::testMerge()
|
|
{
|
|
QCOMPARE(parse_file(SUBSURFACE_TEST_DATA "/dives/test47b.xml", &dive_table), 0);
|
|
process_imported_dives(false);
|
|
QCOMPARE(dive_table.nr, 1);
|
|
QCOMPARE(unsaved_changes(), 1);
|
|
mark_divelist_changed(false);
|
|
dive_table.preexisting = dive_table.nr;
|
|
}
|
|
|
|
void TestRenumber::testMergeAndAppend()
|
|
{
|
|
QCOMPARE(parse_file(SUBSURFACE_TEST_DATA "/dives/test47c.xml", &dive_table), 0);
|
|
process_imported_dives(false);
|
|
QCOMPARE(dive_table.nr, 2);
|
|
QCOMPARE(unsaved_changes(), 1);
|
|
struct dive *d = get_dive(1);
|
|
QVERIFY(d != NULL);
|
|
if (d)
|
|
QCOMPARE(d->number, 2);
|
|
}
|
|
|
|
QTEST_GUILESS_MAIN(TestRenumber)
|