mirror of
https://github.com/espruino/Espruino.git
synced 2025-12-08 19:06:15 +00:00
adding tests
This commit is contained in:
parent
bca64ccb1e
commit
9264a22f63
75
tests/test_graphics_drawImage3bit.js
Normal file
75
tests/test_graphics_drawImage3bit.js
Normal file
@ -0,0 +1,75 @@
|
||||
var g = Graphics.createArrayBuffer(20,20,4);
|
||||
g.dump = _=>{
|
||||
var s = "";
|
||||
var n = 0;
|
||||
for (var y=0;y<g.getHeight();y++) {
|
||||
s+="\n";
|
||||
for (var x=0;x<g.getWidth();x++)
|
||||
s+="..\"=+:*#"[g.getPixel(x,y)&7];
|
||||
}
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
// 3 bit 20x20
|
||||
var img = E.toArrayBuffer(atob("FBSDAAAAAkkkAAAAAAkkkkkAAAAkkkkkkkAAEkkkkkkkgAEkkkkkkkgAkkkkkklkkAkkkkkkv8kEkkkkkl/0kkkkkkkv+kkkklkkl/0kkkkt+kv+kkkkkl/1/0kkkkkkv/+kkkkgkkl/0kkkkAkkkskkkkkAEkkkkkkkgAEkkkkkkkgAAkkkkkkkAAAAkkkkkAAAAAAkkkAAAA=="))
|
||||
|
||||
// Normal
|
||||
g.clear(1).drawImage(img,0,0);
|
||||
SHOULD_BE(`
|
||||
......."""""".......
|
||||
....."""""""""".....
|
||||
...""""""""""""""...
|
||||
..""""""""""""""""..
|
||||
..""""""""""""""""..
|
||||
.""""""""""""""*""".
|
||||
."""""""""""""##*"".
|
||||
"""""""""""""###""""
|
||||
""""""""""""###"""""
|
||||
"""""*"""""###""""""
|
||||
""""*##"""###"""""""
|
||||
"""""###"###""""""""
|
||||
""""""#####"""""""""
|
||||
.""""""###""""""""".
|
||||
."""""""*"""""""""".
|
||||
..""""""""""""""""..
|
||||
..""""""""""""""""..
|
||||
...""""""""""""""...
|
||||
....."""""""""".....
|
||||
......."""""".......`);
|
||||
|
||||
// Force almost identical draw, but with slow path using _jswrap_drawImageLayerGetPixel
|
||||
g.clear(1).drawImage(img,0,0,{scale:1.0000001});
|
||||
SHOULD_BE(`
|
||||
......."""""".......
|
||||
....."""""""""".....
|
||||
...""""""""""""""...
|
||||
..""""""""""""""""..
|
||||
..""""""""""""""""..
|
||||
.""""""""""""""*""".
|
||||
."""""""""""""##*"".
|
||||
"""""""""""""###""""
|
||||
""""""""""""###"""""
|
||||
"""""*"""""###""""""
|
||||
""""*##"""###"""""""
|
||||
"""""###"###""""""""
|
||||
""""""#####"""""""""
|
||||
.""""""###""""""""".
|
||||
."""""""*"""""""""".
|
||||
..""""""""""""""""..
|
||||
..""""""""""""""""..
|
||||
...""""""""""""""...
|
||||
....."""""""""".....
|
||||
......."""""".......`);
|
||||
|
||||
result = ok;
|
||||
73
tests/test_graphics_wrapString.js
Normal file
73
tests/test_graphics_wrapString.js
Normal file
@ -0,0 +1,73 @@
|
||||
var g = Graphics.createArrayBuffer(64,16,8);
|
||||
Graphics.prototype.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;
|
||||
}
|
||||
Graphics.prototype.print = _=>{
|
||||
print("`"+g.dump()+"`");
|
||||
}
|
||||
|
||||
var ok = true;
|
||||
function SHOULD_BE(b,a) {
|
||||
a = E.toJS(a);
|
||||
b = E.toJS(b);
|
||||
if (a!=b) {
|
||||
console.log("GOT :"+b+"\nSHOULD BE:"+a+"\n================");
|
||||
ok = false;
|
||||
}
|
||||
}
|
||||
|
||||
var lines;
|
||||
|
||||
// nothing
|
||||
g.clear().setFont("4x6");
|
||||
lines = g.wrapString(undefined, 10);
|
||||
SHOULD_BE(lines, []);
|
||||
|
||||
// small
|
||||
g.clear().setFont("4x6");
|
||||
lines = g.wrapString("X", 10);
|
||||
SHOULD_BE(lines, ["X"]);
|
||||
|
||||
// too big
|
||||
g.clear().setFont("4x6");
|
||||
lines = g.wrapString("ALongWord", 10);
|
||||
SHOULD_BE(lines, ["ALongWord"]);
|
||||
|
||||
// normal wrap
|
||||
g.clear().setFont("4x6");
|
||||
lines = g.wrapString("Hello there lots of text here", 64);
|
||||
SHOULD_BE(lines, ["Hello there lots","of text here"]);*/
|
||||
//g.drawString(lines.join("\n"));g.print();
|
||||
|
||||
// with a newline
|
||||
g.clear().setFont("4x6");
|
||||
lines = g.wrapString("Hello there\nlots of text here", 64);
|
||||
SHOULD_BE(lines, ["Hello there","lots of text","here"]);
|
||||
|
||||
// forcing a blank line
|
||||
g.clear().setFont("4x6");
|
||||
lines = g.wrapString("Hello there\n\nlots of text here", 64);
|
||||
SHOULD_BE(lines, ["Hello there","","lots of text","here"]);
|
||||
|
||||
// bigger font
|
||||
g.clear().setFont("4x6:2");
|
||||
lines = g.wrapString("Hello there lots of text here", 64);
|
||||
SHOULD_BE(lines, ["Hello","there","lots","of","text","here"]);
|
||||
|
||||
// wrap string correctly when an image is inline
|
||||
var g = Graphics.createArrayBuffer(32,16,8);
|
||||
g.clear().setFont("4x6");
|
||||
lines = g.wrapString("Hello \0\7\5\1\x82 D\x17\xC0 a test", 32);
|
||||
SHOULD_BE(lines, ["Hello \0\7\5\1\x82 D\x17\xC0","a test"]);
|
||||
//g.drawString(lines.join("\n"));g.print();
|
||||
|
||||
|
||||
result = ok;
|
||||
Loading…
x
Reference in New Issue
Block a user