mirror of
https://github.com/vicliu624/trail-mate.git
synced 2026-07-02 10:01:43 +00:00
86 lines
3.7 KiB
C++
86 lines
3.7 KiB
C++
#include "ui_presentation/page/page_manifest.h"
|
|
|
|
#include <cassert>
|
|
#include <cstring>
|
|
|
|
namespace
|
|
{
|
|
|
|
bool contains(const ui::presentation::PageManifest& manifest,
|
|
ui::presentation::PageId page_id)
|
|
{
|
|
for (std::size_t index = 0; index < manifest.item_count; ++index)
|
|
{
|
|
if (manifest.items[index].page_id == page_id)
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
} // namespace
|
|
|
|
int main()
|
|
{
|
|
const auto* tab5 = ui::presentation::findPageManifest("tab5_touch_manifest");
|
|
assert(tab5 != nullptr);
|
|
assert(tab5->item_count >= 8);
|
|
assert(contains(*tab5, ui::presentation::PageId::Map));
|
|
assert(contains(*tab5, ui::presentation::PageId::Contacts));
|
|
|
|
const auto* t_display_p4 = ui::presentation::findPageManifest("t_display_p4_touch_manifest");
|
|
assert(t_display_p4 != nullptr);
|
|
assert(t_display_p4->item_count == 14);
|
|
assert(contains(*t_display_p4, ui::presentation::PageId::Dashboard));
|
|
assert(contains(*t_display_p4, ui::presentation::PageId::Chat));
|
|
assert(contains(*t_display_p4, ui::presentation::PageId::Contacts));
|
|
assert(contains(*t_display_p4, ui::presentation::PageId::Map));
|
|
assert(contains(*t_display_p4, ui::presentation::PageId::SkyPlot));
|
|
assert(contains(*t_display_p4, ui::presentation::PageId::Gps));
|
|
assert(contains(*t_display_p4, ui::presentation::PageId::Team));
|
|
assert(contains(*t_display_p4, ui::presentation::PageId::Tracker));
|
|
assert(contains(*t_display_p4, ui::presentation::PageId::PcLink));
|
|
assert(contains(*t_display_p4, ui::presentation::PageId::EnergySweep));
|
|
assert(contains(*t_display_p4, ui::presentation::PageId::WalkieTalkie));
|
|
assert(contains(*t_display_p4, ui::presentation::PageId::Sstv));
|
|
assert(contains(*t_display_p4, ui::presentation::PageId::Extensions));
|
|
assert(contains(*t_display_p4, ui::presentation::PageId::Settings));
|
|
|
|
const auto* watch = ui::presentation::findPageManifest("watch_compact_manifest");
|
|
assert(watch != nullptr);
|
|
assert(contains(*watch, ui::presentation::PageId::Gps));
|
|
assert(!contains(*watch, ui::presentation::PageId::Extensions));
|
|
|
|
const auto* uconsole = ui::presentation::findPageManifest("uconsole_desktop_manifest");
|
|
assert(uconsole != nullptr);
|
|
assert(contains(*uconsole, ui::presentation::PageId::Diagnostics));
|
|
|
|
const auto* cardputer = ui::presentation::findPageManifest("cardputer_compact_manifest");
|
|
assert(cardputer != nullptr);
|
|
assert(cardputer->item_count == 10);
|
|
assert(contains(*cardputer, ui::presentation::PageId::Dashboard));
|
|
assert(contains(*cardputer, ui::presentation::PageId::Chat));
|
|
assert(contains(*cardputer, ui::presentation::PageId::Contacts));
|
|
assert(contains(*cardputer, ui::presentation::PageId::Map));
|
|
assert(contains(*cardputer, ui::presentation::PageId::SkyPlot));
|
|
assert(!contains(*cardputer, ui::presentation::PageId::Gps));
|
|
assert(contains(*cardputer, ui::presentation::PageId::Team));
|
|
assert(contains(*cardputer, ui::presentation::PageId::Tracker));
|
|
assert(!contains(*cardputer, ui::presentation::PageId::PcLink));
|
|
assert(!contains(*cardputer, ui::presentation::PageId::Sstv));
|
|
assert(!contains(*cardputer, ui::presentation::PageId::EnergySweep));
|
|
assert(contains(*cardputer, ui::presentation::PageId::WalkieTalkie));
|
|
assert(contains(*cardputer, ui::presentation::PageId::Extensions));
|
|
assert(contains(*cardputer, ui::presentation::PageId::Settings));
|
|
|
|
const auto* node = ui::presentation::findPageManifest("node_headless_manifest");
|
|
assert(node != nullptr);
|
|
assert(node->item_count == 2);
|
|
assert(contains(*node, ui::presentation::PageId::NodeStatus));
|
|
assert(!node->items[0].visible_in_menu);
|
|
|
|
assert(ui::presentation::findPageManifest("unknown") == nullptr);
|
|
return 0;
|
|
}
|