1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
/*
* Xournal++
*
* This file is part of the Xournal UnitTests
*
* @author Xournal++ Team
* https://github.com/xournalpp/xournalpp
*
* @license GNU GPLv2 or later
*/
#include <gtest/gtest.h>
#include "control/settings/MetadataManager.h"
#include "util/PathUtil.h"
#include "config-test.h"
TEST(Metadata, testRead) {
auto entry = MetadataManager::loadMetadataFile(GET_TESTFILE(u8"metadata/1.metadata"));
EXPECT_TRUE(entry);
EXPECT_EQ(entry->time, 1);
EXPECT_EQ(entry->page, 12);
EXPECT_EQ(entry->zoom, 3.42);
EXPECT_EQ(entry->path, fs::path(u8"/test/my/metadata.xopp"));
}
TEST(Metadata, testWriteReadCycle) {
auto entry = MetadataManager::loadMetadataFile(GET_TESTFILE(u8"metadata/aωkward ⒫ath/2.metadata"));
EXPECT_TRUE(entry);
EXPECT_EQ(entry->time, 2);
EXPECT_EQ(entry->page, 12);
EXPECT_EQ(entry->zoom, 3.42);
EXPECT_EQ(entry->path, fs::path(u8"/test/my/metadatⓐ.xopp"));
entry->time = 1234567;
entry->page = 98765;
entry->zoom = 56.734;
auto tmp = Util::getTmpDirSubfolder() / "1234567.metadata";
ASSERT_FALSE(fs::exists(tmp));
MetadataManager::writeMetadataToFile(*entry, tmp);
auto entry2 = MetadataManager::loadMetadataFile(tmp);
ASSERT_TRUE(entry2);
EXPECT_EQ(entry->path, entry2->path);
EXPECT_EQ(entry->time, entry2->time);
EXPECT_EQ(entry->page, entry2->page);
EXPECT_EQ(entry->zoom, entry2->zoom);
fs::remove(tmp);
}
|