Espruino/tests/test_graphics_fillPoly.js

137 lines
3.8 KiB
JavaScript

var g = Graphics.createArrayBuffer(32,32,8);
g.dump = _=>{
var s = "";
var b = new Uint8Array(g.buffer);
var n = 0;
for (var y=0;y<g.getHeight();y++) {
s+="\n";
for (var x=0;x<g.getWidth();x++)
s+=".#"[b[n++]?1:0];
}
return s;
}
g.print = _=>{
print("`"+g.dump()+"`");
}
var ok = true;
function SHOULD_BE(a) {
var b = g.dump();
if (a!=b) {
console.log("GOT :"+b+"\nSHOULD BE:"+a+"\n================");
ok = false;
}
}
g.clear();
g.fillPoly([16,2, 30,16, 16,30, 2,16]);
SHOULD_BE(`
................................
................................
................#...............
...............###..............
..............#####.............
.............#######............
............#########...........
...........###########..........
..........#############.........
.........###############........
........#################.......
.......###################......
......#####################.....
.....#######################....
....#########################...
...###########################..
..#############################.
...###########################..
....#########################...
.....#######################....
......#####################.....
.......###################......
........#################.......
.........###############........
..........#############.........
...........###########..........
............#########...........
.............#######............
..............#####.............
...............###..............
................#...............
................................`);
g.clear();
g.fillPoly([4,4, 27,4, 27,27, 4,27]);
SHOULD_BE(`
................................
................................
................................
................................
....########################....
....########################....
....########################....
....########################....
....########################....
....########################....
....########################....
....########################....
....########################....
....########################....
....########################....
....########################....
....########################....
....########################....
....########################....
....########################....
....########################....
....########################....
....########################....
....########################....
....########################....
....########################....
....########################....
....########################....
................................
................................
................................
................................`);
g.clear();
g.setFont("Vector",32);
g.drawString("X");
SHOULD_BE(`
................................
................................
................................
................................
....########################....
....########################....
....########################....
....########################....
....########################....
....########################....
....########################....
....########################....
....########################....
....########################....
....########################....
....########################....
....########################....
....########################....
....########################....
....########################....
....########################....
....########################....
....########################....
....########################....
....########################....
....########################....
....########################....
....########################....
................................
................................
................................
................................`);
result = ok;