diff --git a/radio/src/tests/failed_darkmode_480x272.png b/radio/src/tests/failed_darkmode_480x272.png new file mode 100644 index 000000000..e495e928b Binary files /dev/null and b/radio/src/tests/failed_darkmode_480x272.png differ diff --git a/radio/src/tests/lcd_480x272.cpp b/radio/src/tests/lcd_480x272.cpp index ea9d28fb0..ff6528ff1 100644 --- a/radio/src/tests/lcd_480x272.cpp +++ b/radio/src/tests/lcd_480x272.cpp @@ -268,4 +268,26 @@ TEST(Lcd_colorlcd, masks) EXPECT_TRUE(checkScreenshot_colorlcd(&dc, "masks")); } +constexpr coord_t LBM_USB_PLUGGED_W = 211; +constexpr coord_t LBM_USB_PLUGGED_H = 110; + +const uint8_t LBM_USB_PLUGGED[] = { +#include "mask_usb_symbol.lbm" +}; + +TEST(Lcd_colorlcd, darkmode) +{ + BitmapBuffer dc(BMP_RGB565, LCD_W, LCD_H); + dc.clear(COLOR2FLAGS(BLACK)); + + dc.drawText(20, 28, "The quick brown fox jumps over the lazy dog", COLOR2FLAGS(WHITE)); + dc.drawSolidFilledRect(28, 56, 422, 2, COLOR2FLAGS(RED)); + dc.drawBitmapPattern(LCD_W/2 - LBM_USB_PLUGGED_W/2, + LCD_H/2 - LBM_USB_PLUGGED_H/2, + LBM_USB_PLUGGED, + COLOR2FLAGS(BLUE)); + + EXPECT_TRUE(checkScreenshot_colorlcd(&dc, "darkmode")); +} + #endif