==> tests/bmp.c <==1/* assemble.rs's bmp check (from default_reference_digests). */
2#include "mesh/assemble_bmp.h"
3#include "mesh/check.h"
4
5#include <stdlib.h>
6#include <string.h>
7
8int main(void) {
9 size_t n;
10 uint8_t *b = masm_bmp(2, 1, (const uint8_t[]){1, 2, 3, 4, 5, 6}, &n);
11 CHECK_U(n, 62);
12 CHECK(memcmp(b + 54, (const uint8_t[]){3, 2, 1, 6, 5, 4, 0, 0}, 8) == 0);
13 CHECK(b[0] == 'B' && b[1] == 'M' && b[2] == 62 && b[10] == 54 && b[14] == 40 && b[18] == 2 && b[22] == 1 && b[26] == 1 && b[28] == 24);
14 free(b);
15 /* Two rows: bottom-up. */
16 b = masm_bmp(1, 2, (const uint8_t[]){1, 2, 3, 4, 5, 6}, &n);
17 CHECK(n == 62 && memcmp(b + 54, (const uint8_t[]){6, 5, 4, 0, 3, 2, 1, 0}, 8) == 0);
18 free(b);
19 return mesh_check_done();
20}