diff --git a/radio/src/tests/bitmap_320x480.png b/radio/src/tests/bitmap_320x480.png deleted file mode 100644 index f9396282f..000000000 Binary files a/radio/src/tests/bitmap_320x480.png and /dev/null differ diff --git a/radio/src/tests/bitmap_480x272.png b/radio/src/tests/bitmap_480x272.png deleted file mode 100644 index f546ecd6c..000000000 Binary files a/radio/src/tests/bitmap_480x272.png and /dev/null differ diff --git a/radio/src/tests/conversions.cpp b/radio/src/tests/conversions.cpp index 7e76d818a..6435367ae 100644 --- a/radio/src/tests/conversions.cpp +++ b/radio/src/tests/conversions.cpp @@ -22,6 +22,8 @@ #include "gtests.h" #include "location.h" +// TODO: Remove this file, and the eeprom_*.bin and model_*.otx files. + #if 0 #if defined(SDCARD_YAML) diff --git a/radio/src/tests/1b_39x32.bmp b/radio/src/tests/images/bw/1b_39x32.bmp similarity index 100% rename from radio/src/tests/1b_39x32.bmp rename to radio/src/tests/images/bw/1b_39x32.bmp diff --git a/radio/src/tests/1b_6x32.bmp b/radio/src/tests/images/bw/1b_6x32.bmp similarity index 100% rename from radio/src/tests/1b_6x32.bmp rename to radio/src/tests/images/bw/1b_6x32.bmp diff --git a/radio/src/tests/4b_20x20.bmp b/radio/src/tests/images/bw/4b_20x20.bmp similarity index 100% rename from radio/src/tests/4b_20x20.bmp rename to radio/src/tests/images/bw/4b_20x20.bmp diff --git a/radio/src/tests/4b_31x31.bmp b/radio/src/tests/images/bw/4b_31x31.bmp similarity index 100% rename from radio/src/tests/4b_31x31.bmp rename to radio/src/tests/images/bw/4b_31x31.bmp diff --git a/radio/src/tests/4b_7x32.bmp b/radio/src/tests/images/bw/4b_7x32.bmp similarity index 100% rename from radio/src/tests/4b_7x32.bmp rename to radio/src/tests/images/bw/4b_7x32.bmp diff --git a/radio/src/tests/MidsizeNextPosPrec1_128x64.png b/radio/src/tests/images/bw/MidsizeNextPosPrec1_128x64.png similarity index 100% rename from radio/src/tests/MidsizeNextPosPrec1_128x64.png rename to radio/src/tests/images/bw/MidsizeNextPosPrec1_128x64.png diff --git a/radio/src/tests/MidsizeNextPosPrec1_212x64.png b/radio/src/tests/images/bw/MidsizeNextPosPrec1_212x64.png similarity index 100% rename from radio/src/tests/MidsizeNextPosPrec1_212x64.png rename to radio/src/tests/images/bw/MidsizeNextPosPrec1_212x64.png diff --git a/radio/src/tests/SmlsizeDecimalPoint_128x64.png b/radio/src/tests/images/bw/SmlsizeDecimalPoint_128x64.png similarity index 100% rename from radio/src/tests/SmlsizeDecimalPoint_128x64.png rename to radio/src/tests/images/bw/SmlsizeDecimalPoint_128x64.png diff --git a/radio/src/tests/SmlsizeDecimalPoint_212x64.png b/radio/src/tests/images/bw/SmlsizeDecimalPoint_212x64.png similarity index 100% rename from radio/src/tests/SmlsizeDecimalPoint_212x64.png rename to radio/src/tests/images/bw/SmlsizeDecimalPoint_212x64.png diff --git a/radio/src/tests/big_numbers_128x64.png b/radio/src/tests/images/bw/big_numbers_128x64.png similarity index 100% rename from radio/src/tests/big_numbers_128x64.png rename to radio/src/tests/images/bw/big_numbers_128x64.png diff --git a/radio/src/tests/big_numbers_212x64.png b/radio/src/tests/images/bw/big_numbers_212x64.png similarity index 100% rename from radio/src/tests/big_numbers_212x64.png rename to radio/src/tests/images/bw/big_numbers_212x64.png diff --git a/radio/src/tests/bmpwrapping_212x64.png b/radio/src/tests/images/bw/bmpwrapping_212x64.png similarity index 100% rename from radio/src/tests/bmpwrapping_212x64.png rename to radio/src/tests/images/bw/bmpwrapping_212x64.png diff --git a/radio/src/tests/dblsize_128x64.png b/radio/src/tests/images/bw/dblsize_128x64.png similarity index 100% rename from radio/src/tests/dblsize_128x64.png rename to radio/src/tests/images/bw/dblsize_128x64.png diff --git a/radio/src/tests/dblsize_212x64.png b/radio/src/tests/images/bw/dblsize_212x64.png similarity index 100% rename from radio/src/tests/dblsize_212x64.png rename to radio/src/tests/images/bw/dblsize_212x64.png diff --git a/radio/src/tests/dblsize_bottom_right_128x64.png b/radio/src/tests/images/bw/dblsize_bottom_right_128x64.png similarity index 100% rename from radio/src/tests/dblsize_bottom_right_128x64.png rename to radio/src/tests/images/bw/dblsize_bottom_right_128x64.png diff --git a/radio/src/tests/dblsize_bottom_right_212x64.png b/radio/src/tests/images/bw/dblsize_bottom_right_212x64.png similarity index 100% rename from radio/src/tests/dblsize_bottom_right_212x64.png rename to radio/src/tests/images/bw/dblsize_bottom_right_212x64.png diff --git a/radio/src/tests/drawswitch_212x64.png b/radio/src/tests/images/bw/drawswitch_212x64.png similarity index 100% rename from radio/src/tests/drawswitch_212x64.png rename to radio/src/tests/images/bw/drawswitch_212x64.png diff --git a/radio/src/tests/invers_0_0_128x64.png b/radio/src/tests/images/bw/invers_0_0_128x64.png similarity index 100% rename from radio/src/tests/invers_0_0_128x64.png rename to radio/src/tests/images/bw/invers_0_0_128x64.png diff --git a/radio/src/tests/invers_0_0_212x64.png b/radio/src/tests/images/bw/invers_0_0_212x64.png similarity index 100% rename from radio/src/tests/invers_0_0_212x64.png rename to radio/src/tests/images/bw/invers_0_0_212x64.png diff --git a/radio/src/tests/invers_0_1_128x64.png b/radio/src/tests/images/bw/invers_0_1_128x64.png similarity index 100% rename from radio/src/tests/invers_0_1_128x64.png rename to radio/src/tests/images/bw/invers_0_1_128x64.png diff --git a/radio/src/tests/invers_0_1_212x64.png b/radio/src/tests/images/bw/invers_0_1_212x64.png similarity index 100% rename from radio/src/tests/invers_0_1_212x64.png rename to radio/src/tests/images/bw/invers_0_1_212x64.png diff --git a/radio/src/tests/lcdDrawBitmapLoadAndDisplay_212x64.png b/radio/src/tests/images/bw/lcdDrawBitmapLoadAndDisplay_212x64.png similarity index 100% rename from radio/src/tests/lcdDrawBitmapLoadAndDisplay_212x64.png rename to radio/src/tests/images/bw/lcdDrawBitmapLoadAndDisplay_212x64.png diff --git a/radio/src/tests/lcdDrawHorizontalLine_212x64.png b/radio/src/tests/images/bw/lcdDrawHorizontalLine_212x64.png similarity index 100% rename from radio/src/tests/lcdDrawHorizontalLine_212x64.png rename to radio/src/tests/images/bw/lcdDrawHorizontalLine_212x64.png diff --git a/radio/src/tests/lcdDrawLine_128x64.png b/radio/src/tests/images/bw/lcdDrawLine_128x64.png similarity index 100% rename from radio/src/tests/lcdDrawLine_128x64.png rename to radio/src/tests/images/bw/lcdDrawLine_128x64.png diff --git a/radio/src/tests/lcdDrawLine_212x64.png b/radio/src/tests/images/bw/lcdDrawLine_212x64.png similarity index 100% rename from radio/src/tests/lcdDrawLine_212x64.png rename to radio/src/tests/images/bw/lcdDrawLine_212x64.png diff --git a/radio/src/tests/lcdDrawVerticalLine_212x64.png b/radio/src/tests/images/bw/lcdDrawVerticalLine_212x64.png similarity index 100% rename from radio/src/tests/lcdDrawVerticalLine_212x64.png rename to radio/src/tests/images/bw/lcdDrawVerticalLine_212x64.png diff --git a/radio/src/tests/line_wrap_128x64.png b/radio/src/tests/images/bw/line_wrap_128x64.png similarity index 100% rename from radio/src/tests/line_wrap_128x64.png rename to radio/src/tests/images/bw/line_wrap_128x64.png diff --git a/radio/src/tests/line_wrap_212x64.png b/radio/src/tests/images/bw/line_wrap_212x64.png similarity index 100% rename from radio/src/tests/line_wrap_212x64.png rename to radio/src/tests/images/bw/line_wrap_212x64.png diff --git a/radio/src/tests/midsize_128x64.png b/radio/src/tests/images/bw/midsize_128x64.png similarity index 100% rename from radio/src/tests/midsize_128x64.png rename to radio/src/tests/images/bw/midsize_128x64.png diff --git a/radio/src/tests/midsize_212x64.png b/radio/src/tests/images/bw/midsize_212x64.png similarity index 100% rename from radio/src/tests/midsize_212x64.png rename to radio/src/tests/images/bw/midsize_212x64.png diff --git a/radio/src/tests/plane.bmp b/radio/src/tests/images/bw/plane.bmp similarity index 100% rename from radio/src/tests/plane.bmp rename to radio/src/tests/images/bw/plane.bmp diff --git a/radio/src/tests/prec1_dblsize_invers_128x64.png b/radio/src/tests/images/bw/prec1_dblsize_invers_128x64.png similarity index 100% rename from radio/src/tests/prec1_dblsize_invers_128x64.png rename to radio/src/tests/images/bw/prec1_dblsize_invers_128x64.png diff --git a/radio/src/tests/prec1_dblsize_invers_212x64.png b/radio/src/tests/images/bw/prec1_dblsize_invers_212x64.png similarity index 100% rename from radio/src/tests/prec1_dblsize_invers_212x64.png rename to radio/src/tests/images/bw/prec1_dblsize_invers_212x64.png diff --git a/radio/src/tests/prec2_left_128x64.png b/radio/src/tests/images/bw/prec2_left_128x64.png similarity index 100% rename from radio/src/tests/prec2_left_128x64.png rename to radio/src/tests/images/bw/prec2_left_128x64.png diff --git a/radio/src/tests/prec2_left_212x64.png b/radio/src/tests/images/bw/prec2_left_212x64.png similarity index 100% rename from radio/src/tests/prec2_left_212x64.png rename to radio/src/tests/images/bw/prec2_left_212x64.png diff --git a/radio/src/tests/prec2_right_128x64.png b/radio/src/tests/images/bw/prec2_right_128x64.png similarity index 100% rename from radio/src/tests/prec2_right_128x64.png rename to radio/src/tests/images/bw/prec2_right_128x64.png diff --git a/radio/src/tests/prec2_right_212x64.png b/radio/src/tests/images/bw/prec2_right_212x64.png similarity index 100% rename from radio/src/tests/prec2_right_212x64.png rename to radio/src/tests/images/bw/prec2_right_212x64.png diff --git a/radio/src/tests/smlsize_128x64.png b/radio/src/tests/images/bw/smlsize_128x64.png similarity index 100% rename from radio/src/tests/smlsize_128x64.png rename to radio/src/tests/images/bw/smlsize_128x64.png diff --git a/radio/src/tests/smlsize_212x64.png b/radio/src/tests/images/bw/smlsize_212x64.png similarity index 100% rename from radio/src/tests/smlsize_212x64.png rename to radio/src/tests/images/bw/smlsize_212x64.png diff --git a/radio/src/tests/smlsize_drawstringwithindex_128x64.png b/radio/src/tests/images/bw/smlsize_drawstringwithindex_128x64.png similarity index 100% rename from radio/src/tests/smlsize_drawstringwithindex_128x64.png rename to radio/src/tests/images/bw/smlsize_drawstringwithindex_128x64.png diff --git a/radio/src/tests/smlsize_drawstringwithindex_212x64.png b/radio/src/tests/images/bw/smlsize_drawstringwithindex_212x64.png similarity index 100% rename from radio/src/tests/smlsize_drawstringwithindex_212x64.png rename to radio/src/tests/images/bw/smlsize_drawstringwithindex_212x64.png diff --git a/radio/src/tests/stdsize_128x64.png b/radio/src/tests/images/bw/stdsize_128x64.png similarity index 100% rename from radio/src/tests/stdsize_128x64.png rename to radio/src/tests/images/bw/stdsize_128x64.png diff --git a/radio/src/tests/stdsize_212x64.png b/radio/src/tests/images/bw/stdsize_212x64.png similarity index 100% rename from radio/src/tests/stdsize_212x64.png rename to radio/src/tests/images/bw/stdsize_212x64.png diff --git a/radio/src/tests/unsigned_128x64.png b/radio/src/tests/images/bw/unsigned_128x64.png similarity index 100% rename from radio/src/tests/unsigned_128x64.png rename to radio/src/tests/images/bw/unsigned_128x64.png diff --git a/radio/src/tests/unsigned_212x64.png b/radio/src/tests/images/bw/unsigned_212x64.png similarity index 100% rename from radio/src/tests/unsigned_212x64.png rename to radio/src/tests/images/bw/unsigned_212x64.png diff --git a/radio/src/tests/vline_128x64.png b/radio/src/tests/images/bw/vline_128x64.png similarity index 100% rename from radio/src/tests/vline_128x64.png rename to radio/src/tests/images/bw/vline_128x64.png diff --git a/radio/src/tests/vline_212x64.png b/radio/src/tests/images/bw/vline_212x64.png similarity index 100% rename from radio/src/tests/vline_212x64.png rename to radio/src/tests/images/bw/vline_212x64.png diff --git a/radio/src/tests/vline_lt0_128x64.png b/radio/src/tests/images/bw/vline_lt0_128x64.png similarity index 100% rename from radio/src/tests/vline_lt0_128x64.png rename to radio/src/tests/images/bw/vline_lt0_128x64.png diff --git a/radio/src/tests/vline_lt0_212x64.png b/radio/src/tests/images/bw/vline_lt0_212x64.png similarity index 100% rename from radio/src/tests/vline_lt0_212x64.png rename to radio/src/tests/images/bw/vline_lt0_212x64.png diff --git a/radio/src/tests/images/color/bitmap_320x480.png b/radio/src/tests/images/color/bitmap_320x480.png new file mode 100644 index 000000000..97952b591 Binary files /dev/null and b/radio/src/tests/images/color/bitmap_320x480.png differ diff --git a/radio/src/tests/images/color/bitmap_480x272.png b/radio/src/tests/images/color/bitmap_480x272.png new file mode 100644 index 000000000..8f0df8335 Binary files /dev/null and b/radio/src/tests/images/color/bitmap_480x272.png differ diff --git a/radio/src/tests/clipping_320x480.png b/radio/src/tests/images/color/clipping_320x480.png similarity index 100% rename from radio/src/tests/clipping_320x480.png rename to radio/src/tests/images/color/clipping_320x480.png diff --git a/radio/src/tests/clipping_480x272.png b/radio/src/tests/images/color/clipping_480x272.png similarity index 100% rename from radio/src/tests/clipping_480x272.png rename to radio/src/tests/images/color/clipping_480x272.png diff --git a/radio/src/tests/darkmode_CN_480x272.png b/radio/src/tests/images/color/darkmode_CN_480x272.png similarity index 100% rename from radio/src/tests/darkmode_CN_480x272.png rename to radio/src/tests/images/color/darkmode_CN_480x272.png diff --git a/radio/src/tests/darkmode_EN_320x480.png b/radio/src/tests/images/color/darkmode_EN_320x480.png similarity index 100% rename from radio/src/tests/darkmode_EN_320x480.png rename to radio/src/tests/images/color/darkmode_EN_320x480.png diff --git a/radio/src/tests/darkmode_EN_480x272.png b/radio/src/tests/images/color/darkmode_EN_480x272.png similarity index 100% rename from radio/src/tests/darkmode_EN_480x272.png rename to radio/src/tests/images/color/darkmode_EN_480x272.png diff --git a/radio/src/tests/images/color/edgetx.png b/radio/src/tests/images/color/edgetx.png new file mode 100644 index 000000000..3f0128796 Binary files /dev/null and b/radio/src/tests/images/color/edgetx.png differ diff --git a/radio/src/tests/fonts_CN_480x272.png b/radio/src/tests/images/color/fonts_CN_480x272.png similarity index 100% rename from radio/src/tests/fonts_CN_480x272.png rename to radio/src/tests/images/color/fonts_CN_480x272.png diff --git a/radio/src/tests/fonts_EN_480x272.png b/radio/src/tests/images/color/fonts_EN_480x272.png similarity index 100% rename from radio/src/tests/fonts_EN_480x272.png rename to radio/src/tests/images/color/fonts_EN_480x272.png diff --git a/radio/src/tests/lines_320x480.png b/radio/src/tests/images/color/lines_320x480.png similarity index 100% rename from radio/src/tests/lines_320x480.png rename to radio/src/tests/images/color/lines_320x480.png diff --git a/radio/src/tests/lines_480x272.png b/radio/src/tests/images/color/lines_480x272.png similarity index 100% rename from radio/src/tests/lines_480x272.png rename to radio/src/tests/images/color/lines_480x272.png diff --git a/radio/src/tests/mask_menu_radio.png b/radio/src/tests/images/color/mask_menu_radio.png similarity index 100% rename from radio/src/tests/mask_menu_radio.png rename to radio/src/tests/images/color/mask_menu_radio.png diff --git a/radio/src/tests/masks_320x480.png b/radio/src/tests/images/color/masks_320x480.png similarity index 100% rename from radio/src/tests/masks_320x480.png rename to radio/src/tests/images/color/masks_320x480.png diff --git a/radio/src/tests/masks_480x272.png b/radio/src/tests/images/color/masks_480x272.png similarity index 100% rename from radio/src/tests/masks_480x272.png rename to radio/src/tests/images/color/masks_480x272.png diff --git a/radio/src/tests/images/color/primitives_CN_480x272.png b/radio/src/tests/images/color/primitives_CN_480x272.png new file mode 100644 index 000000000..6e203fd98 Binary files /dev/null and b/radio/src/tests/images/color/primitives_CN_480x272.png differ diff --git a/radio/src/tests/primitives_EN_320x480.png b/radio/src/tests/images/color/primitives_EN_320x480.png similarity index 100% rename from radio/src/tests/primitives_EN_320x480.png rename to radio/src/tests/images/color/primitives_EN_320x480.png diff --git a/radio/src/tests/primitives_EN_480x272.png b/radio/src/tests/images/color/primitives_EN_480x272.png similarity index 100% rename from radio/src/tests/primitives_EN_480x272.png rename to radio/src/tests/images/color/primitives_EN_480x272.png diff --git a/radio/src/tests/images/color/transparency_CN_480x272.png b/radio/src/tests/images/color/transparency_CN_480x272.png new file mode 100644 index 000000000..8f792854a Binary files /dev/null and b/radio/src/tests/images/color/transparency_CN_480x272.png differ diff --git a/radio/src/tests/transparency_EN_320x480.png b/radio/src/tests/images/color/transparency_EN_320x480.png similarity index 100% rename from radio/src/tests/transparency_EN_320x480.png rename to radio/src/tests/images/color/transparency_EN_320x480.png diff --git a/radio/src/tests/transparency_EN_480x272.png b/radio/src/tests/images/color/transparency_EN_480x272.png similarity index 100% rename from radio/src/tests/transparency_EN_480x272.png rename to radio/src/tests/images/color/transparency_EN_480x272.png diff --git a/radio/src/tests/vline_320x480.png b/radio/src/tests/images/color/vline_320x480.png similarity index 100% rename from radio/src/tests/vline_320x480.png rename to radio/src/tests/images/color/vline_320x480.png diff --git a/radio/src/tests/vline_480x272.png b/radio/src/tests/images/color/vline_480x272.png similarity index 100% rename from radio/src/tests/vline_480x272.png rename to radio/src/tests/images/color/vline_480x272.png diff --git a/radio/src/tests/lcd.cpp b/radio/src/tests/lcd.cpp index 2def7b670..b6dc3e505 100644 --- a/radio/src/tests/lcd.cpp +++ b/radio/src/tests/lcd.cpp @@ -86,14 +86,13 @@ bool checkScreenshot(const QString & test) QPainter p(&buffer); doPaint(p); QString filename(QString("%1_%2x%3.png").arg(test).arg(LCD_W).arg(LCD_H)); - QImage reference(TESTS_PATH "/" + filename); + QImage reference(TESTS_PATH "/images/bw/" + filename); if (buffer == reference) { return true; } else { - QString filename(QString("%1_%2x%3.png").arg(test).arg(LCD_W).arg(LCD_H)); - buffer.save("/tmp/" + filename); + buffer.save(TESTS_PATH "/images/bw/failed_" + filename); return false; } } @@ -324,7 +323,7 @@ TEST(Lcd, BMPWrapping) { lcdClear(); uint8_t bitmap[2+40*40/2]; - lcdLoadBitmap(bitmap, TESTS_PATH "/plane.bmp", 40, 40); + lcdLoadBitmap(bitmap, TESTS_PATH "/images/bw/plane.bmp", 40, 40); lcdDrawBitmap(200, 0, bitmap); lcdDrawBitmap(200, 60, bitmap); lcdDrawBitmap(240, 60, bitmap); // x too big @@ -393,31 +392,31 @@ TEST(Lcd, lcdDrawBitmapLoadAndDisplay) // Test proper BMP files, they should display correctly { TestBuffer<1000> bitmap(BITMAP_BUFFER_SIZE(7, 32)); - EXPECT_TRUE(lcdLoadBitmap(bitmap.buffer(), TESTS_PATH "/4b_7x32.bmp", 7, 32) != NULL); + EXPECT_TRUE(lcdLoadBitmap(bitmap.buffer(), TESTS_PATH "/images/bw/4b_7x32.bmp", 7, 32) != NULL); bitmap.leakCheck(); lcdDrawBitmap(10, 2, bitmap.buffer()); } { TestBuffer<1000> bitmap(BITMAP_BUFFER_SIZE(6, 32)); - EXPECT_TRUE(lcdLoadBitmap(bitmap.buffer(), TESTS_PATH "/1b_6x32.bmp", 6, 32) != NULL); + EXPECT_TRUE(lcdLoadBitmap(bitmap.buffer(), TESTS_PATH "/images/bw/1b_6x32.bmp", 6, 32) != NULL); bitmap.leakCheck(); lcdDrawBitmap(20, 2, bitmap.buffer()); } { TestBuffer<1000> bitmap(BITMAP_BUFFER_SIZE(31, 31)); - EXPECT_TRUE(lcdLoadBitmap(bitmap.buffer(), TESTS_PATH "/4b_31x31.bmp", 31, 31) != NULL); + EXPECT_TRUE(lcdLoadBitmap(bitmap.buffer(), TESTS_PATH "/images/bw/4b_31x31.bmp", 31, 31) != NULL); bitmap.leakCheck(); lcdDrawBitmap(30, 2, bitmap.buffer()); } { TestBuffer<1000> bitmap(BITMAP_BUFFER_SIZE(39, 32)); - EXPECT_TRUE(lcdLoadBitmap(bitmap.buffer(), TESTS_PATH "/1b_39x32.bmp", 39, 32) != NULL); + EXPECT_TRUE(lcdLoadBitmap(bitmap.buffer(), TESTS_PATH "/images/bw/1b_39x32.bmp", 39, 32) != NULL); bitmap.leakCheck(); lcdDrawBitmap(70, 2, bitmap.buffer()); } { TestBuffer<1000> bitmap(BITMAP_BUFFER_SIZE(20, 20)); - EXPECT_TRUE(lcdLoadBitmap(bitmap.buffer(), TESTS_PATH "/4b_20x20.bmp", 20, 20) != NULL); + EXPECT_TRUE(lcdLoadBitmap(bitmap.buffer(), TESTS_PATH "/images/bw/4b_20x20.bmp", 20, 20) != NULL); bitmap.leakCheck(); lcdDrawBitmap(120, 2, bitmap.buffer()); } @@ -431,7 +430,7 @@ TEST(Lcd, lcdDrawBitmapLoadAndDisplay) } { TestBuffer<1000> bitmap(BITMAP_BUFFER_SIZE(10, 10)); - EXPECT_TRUE(lcdLoadBitmap(bitmap.buffer(), TESTS_PATH "/1b_39x32.bmp", 10, 10) == NULL) << "to small buffer"; + EXPECT_TRUE(lcdLoadBitmap(bitmap.buffer(), TESTS_PATH "/images/bw/1b_39x32.bmp", 10, 10) == NULL) << "to small buffer"; bitmap.leakCheck(); } } diff --git a/radio/src/tests/lcd_480x272.cpp b/radio/src/tests/lcd_480x272.cpp index 589a80d48..2044c1a80 100644 --- a/radio/src/tests/lcd_480x272.cpp +++ b/radio/src/tests/lcd_480x272.cpp @@ -19,24 +19,24 @@ * GNU General Public License for more details. */ -#include #include +#include #define SWAP_DEFINED -#include "opentx.h" #include "location.h" +#include "opentx.h" #if defined(COLORLCD) - #define STB_IMAGE_WRITE_IMPLEMENTATION #include "stb_image_write.h" -void convert_RGB565_to_RGB888(uint8_t * dst, const BitmapBuffer * src, coord_t w, coord_t h) +void convert_RGB565_to_RGB888(uint8_t* dst, const BitmapBuffer* src, coord_t w, + coord_t h) { - for(int y = 0; y < src->height(); y++) { + for (int y = 0; y < src->height(); y++) { for (int x = 0; x < src->width(); x++) { - RGB_SPLIT(*src->getPixelPtr(x,y), r, g, b); + RGB_SPLIT(*src->getPixelPtr(x, y), r, g, b); *(dst++) = (uint8_t)(r << 3); *(dst++) = (uint8_t)(g << 2); *(dst++) = (uint8_t)(b << 3); @@ -46,14 +46,14 @@ void convert_RGB565_to_RGB888(uint8_t * dst, const BitmapBuffer * src, coord_t w void dumpImage(const std::string& filename, const BitmapBuffer* dc) { - std::string fullpath = TESTS_PATH "/failed_" + filename; + std::string fullpath = TESTS_PATH "/images/color/failed_" + filename; TRACE("dumping image '%s'", fullpath.c_str()); - + // allocate enough for 3 channels auto pixels = dc->width() * dc->height(); auto stride = dc->width() * 3; - uint8_t * img = (uint8_t *)malloc(pixels * 3); + uint8_t* img = (uint8_t*)malloc(pixels * 3); convert_RGB565_to_RGB888(img, dc, dc->width(), dc->height()); stbi_write_png(fullpath.c_str(), dc->width(), dc->height(), 3, img, stride); free(img); @@ -70,17 +70,18 @@ bool checkScreenshot_colorlcd(const BitmapBuffer* dc, const char* test) filename += 'x' + std::to_string(LCD_H); filename += ".png"; - std::string fullpath = TESTS_PATH "/" + filename; - - std::unique_ptr testPict(BitmapBuffer::loadBitmap(fullpath.c_str())); + std::string fullpath = TESTS_PATH "/images/color/" + filename; + + std::unique_ptr testPict( + BitmapBuffer::loadBitmap(fullpath.c_str())); if (!testPict || testPict->width() != LCD_W || testPict->height() != LCD_H) { dumpImage(filename, dc); return false; } - - for (int y=0; ygetPixelPtr(x,y) != *dc->getPixelPtr(x,y)) { + + for (int y = 0; y < LCD_H; y++) { + for (int x = 0; x < LCD_W; x++) { + if (*testPict->getPixelPtr(x, y) != *dc->getPixelPtr(x, y)) { dumpImage(filename, dc); return false; } @@ -90,7 +91,6 @@ bool checkScreenshot_colorlcd(const BitmapBuffer* dc, const char* test) return true; } - TEST(Lcd_colorlcd, lines) { BitmapBuffer dc(BMP_RGB565, LCD_W, LCD_H); @@ -116,8 +116,8 @@ TEST(Lcd_colorlcd, vline) dc.clear(COLOR_THEME_SECONDARY3); - for (int x=0; x<100; x+=2) { - dc.drawSolidVerticalLine(x, x/2, 12, COLOR_THEME_SECONDARY1); + for (int x = 0; x < 100; x += 2) { + dc.drawSolidVerticalLine(x, x / 2, 12, COLOR_THEME_SECONDARY1); } EXPECT_TRUE(checkScreenshot_colorlcd(&dc, "vline")); } @@ -128,8 +128,10 @@ TEST(Lcd_colorlcd, primitives) dc.clear(COLOR_THEME_SECONDARY3); - dc.drawText(8, 8, "The quick brown fox jumps over the lazy dog", COLOR_THEME_DISABLED); - dc.drawText(5, 5, "The quick brown fox jumps over the lazy dog", COLOR_THEME_SECONDARY1); + dc.drawText(8, 8, "The quick brown fox jumps over the lazy dog", + COLOR_THEME_DISABLED); + dc.drawText(5, 5, "The quick brown fox jumps over the lazy dog", + COLOR_THEME_SECONDARY1); dc.drawFilledRect(10, 30, 30, 30, SOLID, COLOR_THEME_SECONDARY1); dc.drawFilledRect(50, 30, 30, 30, DOTTED, COLOR_THEME_SECONDARY1); @@ -139,15 +141,14 @@ TEST(Lcd_colorlcd, primitives) dc.drawRect(170, 30, 30, 30, 5, SOLID, COLOR_THEME_SECONDARY1); dc.drawVerticalLine(10, 70, 100, SOLID, COLOR_THEME_SECONDARY1); - dc.drawVerticalLine(15, 70, 90, SOLID, COLOR_THEME_SECONDARY1); - dc.drawVerticalLine(20, 70, 80, SOLID, COLOR_THEME_SECONDARY1); - dc.drawVerticalLine(25, 70, 70, SOLID, COLOR_THEME_SECONDARY1); + dc.drawVerticalLine(15, 70, 90, SOLID, COLOR_THEME_SECONDARY1); + dc.drawVerticalLine(20, 70, 80, SOLID, COLOR_THEME_SECONDARY1); + dc.drawVerticalLine(25, 70, 70, SOLID, COLOR_THEME_SECONDARY1); dc.drawHorizontalLine(30, 70, 100, SOLID, COLOR_THEME_SECONDARY1); - dc.drawHorizontalLine(30, 75, 90, SOLID, COLOR_THEME_SECONDARY1); - dc.drawHorizontalLine(30, 80, 80, SOLID, COLOR_THEME_SECONDARY1); - dc.drawHorizontalLine(30, 85, 70, SOLID, COLOR_THEME_SECONDARY1); - + dc.drawHorizontalLine(30, 75, 90, SOLID, COLOR_THEME_SECONDARY1); + dc.drawHorizontalLine(30, 80, 80, SOLID, COLOR_THEME_SECONDARY1); + dc.drawHorizontalLine(30, 85, 70, SOLID, COLOR_THEME_SECONDARY1); EXPECT_TRUE(checkScreenshot_colorlcd(&dc, "primitives_" TRANSLATIONS)); } @@ -158,34 +159,37 @@ TEST(Lcd_colorlcd, transparency) dc.clear(COLOR_THEME_SECONDARY3); - dc.drawText(8, 8, "The quick brown fox jumps over the lazy dog", COLOR_THEME_SECONDARY1); - dc.drawText(5, 5, "The quick brown fox jumps over the lazy dog", COLOR_THEME_SECONDARY1); + dc.drawText(8, 8, "The quick brown fox jumps over the lazy dog", + COLOR_THEME_SECONDARY1); + dc.drawText(5, 5, "The quick brown fox jumps over the lazy dog", + COLOR_THEME_SECONDARY1); dc.drawFilledRect(10, 30, 30, 30, SOLID, COLOR_THEME_SECONDARY1, OPACITY(8)); - dc.drawFilledRect(50, 30, 30, 30, DOTTED, COLOR_THEME_SECONDARY1, OPACITY(10)); + dc.drawFilledRect(50, 30, 30, 30, DOTTED, COLOR_THEME_SECONDARY1, + OPACITY(10)); dc.drawRect(90, 30, 30, 30, 1, SOLID, COLOR_THEME_SECONDARY1, OPACITY(8)); dc.drawRect(130, 30, 30, 30, 2, SOLID, COLOR_THEME_SECONDARY1, OPACITY(8)); dc.drawRect(170, 30, 30, 30, 5, SOLID, COLOR_THEME_SECONDARY1, OPACITY(8)); dc.drawVerticalLine(10, 70, 100, SOLID, COLOR_THEME_SECONDARY1, OPACITY(2)); - dc.drawVerticalLine(15, 70, 90, SOLID, COLOR_THEME_SECONDARY1, OPACITY(6)); - dc.drawVerticalLine(20, 70, 80, SOLID, COLOR_THEME_SECONDARY1, OPACITY(10)); - dc.drawVerticalLine(25, 70, 70, SOLID, COLOR_THEME_SECONDARY1, OPACITY(OPACITY_MAX)); + dc.drawVerticalLine(15, 70, 90, SOLID, COLOR_THEME_SECONDARY1, OPACITY(6)); + dc.drawVerticalLine(20, 70, 80, SOLID, COLOR_THEME_SECONDARY1, OPACITY(10)); + dc.drawVerticalLine(25, 70, 70, SOLID, COLOR_THEME_SECONDARY1, + OPACITY(OPACITY_MAX)); dc.drawHorizontalLine(30, 70, 100, SOLID, COLOR_THEME_SECONDARY1, OPACITY(2)); - dc.drawHorizontalLine(30, 75, 90, SOLID, COLOR_THEME_SECONDARY1, OPACITY(6)); - dc.drawHorizontalLine(30, 80, 80, SOLID, COLOR_THEME_SECONDARY1, OPACITY(10)); - dc.drawHorizontalLine(30, 85, 70, SOLID, COLOR_THEME_SECONDARY1, OPACITY(OPACITY_MAX)); + dc.drawHorizontalLine(30, 75, 90, SOLID, COLOR_THEME_SECONDARY1, OPACITY(6)); + dc.drawHorizontalLine(30, 80, 80, SOLID, COLOR_THEME_SECONDARY1, OPACITY(10)); + dc.drawHorizontalLine(30, 85, 70, SOLID, COLOR_THEME_SECONDARY1, + OPACITY(OPACITY_MAX)); - - for(int n=0; n<10; n++) { + for (int n = 0; n < 10; n++) { int x = 120 + n * 20; int y = 80 + n * 10; - int color = COLOR(n/2 + 5); + int color = COLOR(n / 2 + 5); int size = 100; dc.drawFilledRect(x, y, size, size, SOLID, color, OPACITY(8)); - } EXPECT_TRUE(checkScreenshot_colorlcd(&dc, "transparency_" TRANSLATIONS)); @@ -229,19 +233,19 @@ TEST(Lcd_colorlcd, clipping) dc.drawSolidVerticalLine(100, 0, LCD_H, COLOR_THEME_SECONDARY1); dc.drawSolidVerticalLine(400, 0, LCD_H, COLOR_THEME_SECONDARY1); - dc.drawSolidHorizontalLine(0, 50, LCD_W, COLOR_THEME_SECONDARY1); + dc.drawSolidHorizontalLine(0, 50, LCD_W, COLOR_THEME_SECONDARY1); dc.drawSolidHorizontalLine(0, 200, LCD_W, COLOR_THEME_SECONDARY1); dc.setClippingRect(100, 400, 50, 200); dc.drawSolidHorizontalLine(0, 80, LCD_W, COLOR_THEME_SECONDARY1); - dc.drawHorizontalLine( 0, 81, LCD_W, SOLID, COLOR_THEME_SECONDARY1); + dc.drawHorizontalLine(0, 81, LCD_W, SOLID, COLOR_THEME_SECONDARY1); - dc.drawSolidVerticalLine(150, 0, LCD_H, COLOR_THEME_SECONDARY1); - dc.drawVerticalLine( 151, 0, LCD_H, SOLID, COLOR_THEME_SECONDARY1); + dc.drawSolidVerticalLine(150, 0, LCD_H, COLOR_THEME_SECONDARY1); + dc.drawVerticalLine(151, 0, LCD_H, SOLID, COLOR_THEME_SECONDARY1); dc.drawSolidRect(70, 20, 50, 50, 2, COLOR_THEME_SECONDARY1); - dc.drawRect( 380, 20, 50, 50, 2, SOLID, COLOR_THEME_SECONDARY1); + dc.drawRect(380, 20, 50, 50, 2, SOLID, COLOR_THEME_SECONDARY1); dc.clearClippingRect(); EXPECT_TRUE(checkScreenshot_colorlcd(&dc, "clipping")); @@ -254,10 +258,11 @@ TEST(Lcd_colorlcd, bitmap) dc.clear(COLOR_THEME_SECONDARY3); dc.setClippingRect(100, 400, 50, 200); - std::unique_ptr bmp(BitmapBuffer::loadBitmap(TESTS_PATH "/opentx.png")); - dc.drawBitmap( 0, 0, bmp.get()); - dc.drawBitmap(320, 0, bmp.get()); - dc.drawBitmap( 0, 150, bmp.get()); + std::unique_ptr bmp( + BitmapBuffer::loadBitmap(TESTS_PATH "/images/color/edgetx.png")); + dc.drawBitmap(0, 0, bmp.get()); + dc.drawBitmap(320, 0, bmp.get()); + dc.drawBitmap(0, 150, bmp.get()); dc.clearClippingRect(); EXPECT_TRUE(checkScreenshot_colorlcd(&dc, "bitmap")); @@ -269,9 +274,10 @@ TEST(Lcd_colorlcd, masks) dc.clear(COLOR_THEME_SECONDARY3); - BitmapBuffer* mask = BitmapBuffer::loadMask(TESTS_PATH "/mask_menu_radio.png"); - for (int i=0; iwidth()) { - for (int j=0; jheight()) { + BitmapBuffer* mask = + BitmapBuffer::loadMask(TESTS_PATH "/images/color/mask_menu_radio.png"); + for (int i = 0; i < LCD_W; i += mask->width()) { + for (int j = 0; j < LCD_H; j += mask->height()) { dc.drawMask(i, j, mask, COLOR2FLAGS(BLACK)); } } @@ -281,6 +287,7 @@ TEST(Lcd_colorlcd, masks) } #if 0 +// clang-format off #define TEST_CHAR_RIGHT "\302\200" #define TEST_CHAR_LEFT "\302\201" #define TEST_CHAR_UP "\302\202" @@ -299,13 +306,16 @@ TEST(Lcd_colorlcd, masks) #define TEST_CHAR_CHANNEL "\302\222" #define TEST_CHAR_TELEMETRY "\302\223" #define TEST_CHAR_LUA "\302\224" +// clang-format on //#define EXTRA_TEST TEST_CHAR_RIGHT TEST_CHAR_LEFT TEST_CHAR_UP TEST_CHAR_DOWN -#define EXTRA_TEST TEST_CHAR_DELTA TEST_CHAR_STICK TEST_CHAR_POT TEST_CHAR_SLIDER \ - TEST_CHAR_SWITCH TEST_CHAR_TRIM TEST_CHAR_INPUT +#define EXTRA_TEST \ + TEST_CHAR_DELTA TEST_CHAR_STICK TEST_CHAR_POT TEST_CHAR_SLIDER \ + TEST_CHAR_SWITCH TEST_CHAR_TRIM TEST_CHAR_INPUT -#define EXTRA_TEST2 TEST_CHAR_FUNCTION TEST_CHAR_CYC TEST_CHAR_TRAINER \ - TEST_CHAR_CHANNEL TEST_CHAR_TELEMETRY TEST_CHAR_LUA +#define EXTRA_TEST2 \ + TEST_CHAR_FUNCTION TEST_CHAR_CYC TEST_CHAR_TRAINER TEST_CHAR_CHANNEL \ + TEST_CHAR_TELEMETRY TEST_CHAR_LUA #define EXTRA_FULL EXTRA_TEST EXTRA_TEST2 @@ -347,4 +357,5 @@ TEST(Lcd_colorlcd, darkmode) EXPECT_TRUE(checkScreenshot_colorlcd(&dc, "darkmode_" TRANSLATIONS)); } #endif + #endif diff --git a/radio/src/tests/opentx.png b/radio/src/tests/opentx.png deleted file mode 100644 index d85a1a087..000000000 Binary files a/radio/src/tests/opentx.png and /dev/null differ