mirror of
https://github.com/mikecarper/MeshCore.git
synced 2026-10-23 04:11:16 +00:00
Add Indicator WiFi setup as eighth home page
This commit is contained in:
1 parent
a38e0370f9
commit
42888e6e3a
20 files changed
+1660
-1311
No files matched your search
@@ -3,6 +3,7 @@
|
||||
#include <helpers/ui/DisplayDriver.h>
|
||||
#include <helpers/ui/CompanionHomeLayout.h>
|
||||
#include <helpers/ui/DisplayTextLayout.h>
|
||||
#include <helpers/ui/WiFiSetupQrPayload.h>
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
@@ -98,6 +99,34 @@ TEST(DisplayDriver, EllipsizesOnlyAtUTF8CodepointBoundaries) {
|
||||
EXPECT_TRUE(isValidUTF8(display.printed.c_str()));
|
||||
}
|
||||
|
||||
TEST(DisplayDriver, QrCodeIsOptionalByDefault) {
|
||||
TestDisplay display;
|
||||
EXPECT_FALSE(display.drawQrCode("WIFI:T:nopass;S:MC-Set-90DF;;",
|
||||
27, 55, 105));
|
||||
}
|
||||
|
||||
TEST(WiFiSetupQrPayload, EncodesOpenSetupNetwork) {
|
||||
char payload[64];
|
||||
EXPECT_TRUE(mesh::ui::buildWiFiSetupQrPayload(
|
||||
payload, sizeof(payload), "MC-Set-90DF"));
|
||||
EXPECT_STREQ("WIFI:T:nopass;S:MC-Set-90DF;;", payload);
|
||||
}
|
||||
|
||||
TEST(WiFiSetupQrPayload, EscapesProtectedNetworkFields) {
|
||||
char payload[96];
|
||||
EXPECT_TRUE(mesh::ui::buildWiFiSetupQrPayload(
|
||||
payload, sizeof(payload), "Cafe;West", "p,ass"));
|
||||
EXPECT_STREQ("WIFI:T:WPA;S:Cafe\\;West;P:p\\,ass;;", payload);
|
||||
}
|
||||
|
||||
TEST(WiFiSetupQrPayload, RejectsMissingOrTruncatedFields) {
|
||||
char payload[8];
|
||||
EXPECT_FALSE(mesh::ui::buildWiFiSetupQrPayload(
|
||||
payload, sizeof(payload), ""));
|
||||
EXPECT_FALSE(mesh::ui::buildWiFiSetupQrPayload(
|
||||
payload, sizeof(payload), "MC-Set-90DF"));
|
||||
}
|
||||
|
||||
TEST(DisplayDriver, FixedBufferDoesNotSplitUTF8Codepoint) {
|
||||
TestDisplay display;
|
||||
std::string text(254, 'A');
|
||||
|
||||
Reference in new issue
Block a user