From 198be208d49990c3535ac765735768ad1ae79c1b Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Thu, 16 Jan 2020 21:40:15 +0200 Subject: Add Firefox bookmarks.json format to libbookmarks - can only read folders and bookmarks, their title and uri fields Not supported by Bookmark Model: - Separator items - Date added and Date modified fields --- test/firefox-bookmarks-json-parser/main.cpp | 28 ++++++++++++++++++++++++++ test/firefox-bookmarks-json-parser/meson.build | 13 ++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 test/firefox-bookmarks-json-parser/main.cpp create mode 100644 test/firefox-bookmarks-json-parser/meson.build (limited to 'test') diff --git a/test/firefox-bookmarks-json-parser/main.cpp b/test/firefox-bookmarks-json-parser/main.cpp new file mode 100644 index 0000000..48093ec --- /dev/null +++ b/test/firefox-bookmarks-json-parser/main.cpp @@ -0,0 +1,28 @@ +#include +#include "bookmarkformat.h" +#include +#include + +int main(int argc, char** argv) +{ + QApplication app(argc, argv); + + QFile f(qgetenv("FILE")); + + auto *model = new BookmarkModel; + + if(f.open(QIODevice::ReadOnly)) { + BookmarkFormat(&f) >> model; + f.close(); + } else + return -1; + + auto *view = new QTreeView; + view->setModel(model); + + if(qgetenv("NOGUI") == "1") + return 0; + + view->show(); + return app.exec(); +} diff --git a/test/firefox-bookmarks-json-parser/meson.build b/test/firefox-bookmarks-json-parser/meson.build new file mode 100644 index 0000000..1432e68 --- /dev/null +++ b/test/firefox-bookmarks-json-parser/meson.build @@ -0,0 +1,13 @@ +e = executable('bookmarks-json-parser', + sources: [ 'main.cpp' ], + dependencies: [ dep_qt5, dep_bookmarks ] +) + +env = environment({ + 'NOGUI' : '1', + 'FILE' : 'bookmarks.json' +}) +test('Firefox bookmarks.json parser', e, + env: env, + workdir: meson.build_root() +) -- cgit v1.2.1