improve canvas imagediff tests

This commit is contained in:
Bala Clark 2015-07-17 10:34:59 +02:00
parent c6551102f8
commit a1766f5e54
12 changed files with 2780 additions and 2332 deletions

View file

@ -1,9 +1,20 @@
// let ComicBook = window.ComicBook = require('./comic-book') // let ComicBook = window.ComicBook = require('./comic-book')
let Canvas = require('./view/canvas') let Canvas = require('./view/canvas')
let makeImages = require('../test/data/image') let testImages = require('../test/data')
let fixtureImages = require('../test/fixture')
let imagediff = require('imagediff')
makeImages((testImages) => { testImages.portrait1((testImage) => {
let canvas = new Canvas() fixtureImages.singlePortrait((fixtureImage) => {
canvas.drawImage(testImages.portrait1) let canvas = new Canvas()
document.body.appendChild(canvas.canvas) canvas.drawImage(testImage)
console.log(imagediff.equal(canvas.canvas, fixtureImage))
console.log(testImage.width, testImage.height)
console.log(fixtureImage.width, fixtureImage.height)
console.log(canvas.canvas.width, canvas.canvas.height)
document.body.appendChild(canvas.canvas)
})
}) })

2190
dist/comicbook.js vendored

File diff suppressed because one or more lines are too long

28
dist/comicbook.js.map vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,455 +0,0 @@
let makeImage = require('../../app/lib/make-image')
let portrait1 =
`data:image/jpg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/4QCMRXhpZgAATU0AKgAAAAgABQESAAMAAAAB
AAEAAAEaAAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAIAAIdpAAQAAAAB
AAAAWgAAAAAAAABIAAAAAQAAAEgAAAABAAOgAQADAAAAAQABAACgAgAEAAAAAQAA
ASygAwAEAAAAAQAAAbkAAAAA/+0AOFBob3Rvc2hvcCAzLjAAOEJJTQQEAAAAAAAA
OEJJTQQlAAAAAAAQ1B2M2Y8AsgTpgAmY7PhCfv/iDFhJQ0NfUFJPRklMRQABAQAA
DEhMaW5vAhAAAG1udHJSR0IgWFlaIAfOAAIACQAGADEAAGFjc3BNU0ZUAAAAAElF
QyBzUkdCAAAAAAAAAAAAAAAAAAD21gABAAAAANMtSFAgIAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEWNwcnQAAAFQAAAAM2Rl
c2MAAAGEAAAAbHd0cHQAAAHwAAAAFGJrcHQAAAIEAAAAFHJYWVoAAAIYAAAAFGdY
WVoAAAIsAAAAFGJYWVoAAAJAAAAAFGRtbmQAAAJUAAAAcGRtZGQAAALEAAAAiHZ1
ZWQAAANMAAAAhnZpZXcAAAPUAAAAJGx1bWkAAAP4AAAAFG1lYXMAAAQMAAAAJHRl
Y2gAAAQwAAAADHJUUkMAAAQ8AAAIDGdUUkMAAAQ8AAAIDGJUUkMAAAQ8AAAIDHRl
eHQAAAAAQ29weXJpZ2h0IChjKSAxOTk4IEhld2xldHQtUGFja2FyZCBDb21wYW55
AABkZXNjAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAEnNSR0Ig
SUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAABYWVogAAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAAAAAA
AAAAAAAAWFlaIAAAAAAAAG+iAAA49QAAA5BYWVogAAAAAAAAYpkAALeFAAAY2lhZ
WiAAAAAAAAAkoAAAD4QAALbPZGVzYwAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVj
LmNoAAAAAAAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAALklF
QyA2MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAA
AAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0g
c1JHQgAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAACxSZWZlcmVuY2Ug
Vmlld2luZyBDb25kaXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAsUmVm
ZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAdmlldwAAAAAAE6T+ABRfLgAQzxQAA+3MAAQTCwAD
XJ4AAAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFzAAAAAAAAAAEAAAAAAAAAAAAA
AAAAAAAAAAACjwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAAAAAABAAAAAAFAAoADwAU
ABkAHgAjACgALQAyADcAOwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8AIEAhgCL
AJAAlQCaAJ8ApACpAK4AsgC3ALwAwQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEH
AQ0BEwEZAR8BJQErATIBOAE+AUUBTAFSAVkBYAFnAW4BdQF8AYMBiwGSAZoBoQGp
AbEBuQHBAckB0QHZAeEB6QHyAfoCAwIMAhQCHQImAi8COAJBAksCVAJdAmcCcQJ6
AoQCjgKYAqICrAK2AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MDTwNaA2YDcgN+
A4oDlgOiA64DugPHA9MD4APsA/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoEqAS2
BMQE0wThBPAE/gUNBRwFKwU6BUkFWAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYn
BjcGSAZZBmoGewaMBp0GrwbABtEG4wb1BwcHGQcrBz0HTwdhB3QHhgeZB6wHvwfS
B+UH+AgLCB8IMghGCFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6CU8JZAl5CY8JpAm6
Cc8J5Qn7ChEKJwo9ClQKagqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuYC7ALyAvh
C/kMEgwqDEMMXAx1DI4MpwzADNkM8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5J
DmQOfw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MPzw/sEAkQJhBDEGEQfhCbELkQ1xD1
ERMRMRFPEW0RjBGqEckR6BIHEiYSRRJkEoQSoxLDEuMTAxMjE0MTYxODE6QTxRPl
FAYUJxRJFGoUixStFM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwWjxayFtYW+hcd
F0EXZReJF64X0hf3GBsYQBhlGIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEadxqe
GsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5q
HpQevh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDwIRwhSCF1IaEhziH7IiciVSKC
Iq8i3SMKIzgjZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXHJfcmJyZXJocmtybo
JxgnSSd6J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysCKzYraSud
K9EsBSw5LG4soizXLQwtQS12Last4S4WLkwugi63Lu4vJC9aL5Evxy/+MDUwbDCk
MNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38zuDPxNCs0ZTSeNNg1EzVNNYc1wjX9
Njc2cjauNuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5+To2OnQ6sjrvOy07azuq
O+g8JzxlPKQ84z0iPWE9oT3gPiA+YD6gPuA/IT9hP6I/4kAjQGRApkDnQSlBakGs
Qe5CMEJyQrVC90M6Q31DwEQDREdEikTORRJFVUWaRd5GIkZnRqtG8Ec1R3tHwEgF
SEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtTS5pL4kwqTHJMuk0CTUpNk03cTiVObk63
TwBPSU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MTU19TqlP2VEJUj1TbVShVdVXC
Vg9WXFapVvdXRFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtFW5Vb5Vw1XIZc1l0n
XXhdyV4aXmxevV8PX2Ffs2AFYFdgqmD8YU9homH1YklinGLwY0Njl2PrZEBklGTp
ZT1lkmXnZj1mkmboZz1nk2fpaD9olmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20I
bWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx8HJLcqZzAXNdc7h0FHRwdMx1KHWF
deF2Pnabdvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7wnwhfIF84X1BfaF+AX5i
fsJ/I3+Ef+WAR4CogQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauGDoZyhteHO4ef
iASIaYjOiTOJmYn+imSKyoswi5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q1pE/
kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0lp+XCpd1l+CYTJi4mSSZkJn8mmia1ZtC
m6+cHJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2oiailqMGo3aj5qRWpMelOKWp
phqmi6b9p26n4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24ri2uoa8Wr4uwALB1
sOqxYLHWskuywrM4s660JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7urW7Lrun
vCG8m70VvY++Cr6Evv+/er/1wHDA7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dB
x7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXONs62zzfPuNA50LrRPNG+0j/SwdNE
08bUSdTL1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724DcBdyK3RDdlt4c3qLfKd+v
4DbgveFE4cziU+Lb42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG
7RHtnO4o7rTvQO/M8Fjw5fFy8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH
+lf65/t3/Af8mP0p/br+S/7c/23////AABEIAbkBLAMBEgACEQEDEQH/xAAfAAAB
BQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0B
AgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygp
KjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImK
kpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj
5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJ
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
1/bC+L2seJ9C8NeHMWlnBcafb6tex2V150ckkoJiG7CnCgMdpA5KnmgD5u1zULvV
dWutRv7g3F3czPPcTEAeZK7FnbgAcsSelUaACigAooAKKACigAooAKKACigAooAK
KACigAooAKKAFAyQM496SgD1PxlLZN8APBKW2oWtzP8A2nqb3EMbfPas23ajg9yP
m9MGvLixIAJ4HSgBtFABRQAUUAf/1vjeigAooAKKACigAooAKKACigAooAKKACig
AooAKKACigAooAKKACigAooAf5jZBG1SOhVQD+lMoA0vC76VH4hsH1yOeTTVuEN0
kJw7Rg/MARyCemRyM5HNZtAFrVZoLjUZ5raA28DyMYovNMnlpk7V3NyQFwMn0qrQ
AUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFKozn6E/pQAlbHjGxttN
8Q3VnaIUhjKhQWJIyinqfcmgDHooAKKACigD/9f43ooAKKACigAooAKKACigAooA
KKACigAooAKKACigAooAKKACigAooAKKACigAooAKKAHR7d67zhc802gDotc0zSn
0/TLnw9NdXmNMSbVsxsRa3HmOGXheE27CCeMk81X8H+Kde8Ja1HrHh/U7jT7yNWU
SQsMlSMFSCCrD2IIzz1oAx2Ur1wfcHIrqfEHidvGGprc+IIbGO+mZFm1G3txAWOQ
DJJHGMSEAHoATzQBylXtd09dL1SayS9tL5Yzhbi1k3xSDGdyt3H6g5B6UAUaKACi
gAooAKKACigAooAKKACigAooAKKAJry5nu52nuZXllfG52OSeAP5AVDQAUUAFFAB
RQB//9D43ooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKK
ACigAooAKKACigAooAKKAFJJJJ5J60lABRQAUUAFXtF0rUNYvPsemWkt1P5byeXG
MsVUZYgd8CgCjVi/s7mwupLW7hkgmjOHjkQo6n3VgCPxFAFeigAooAKKACigApyK
WYKOtADa1fEmg6joFxbW+pwiGW4tIbtULZYJKu5Nw/hOOx6UAZVFABRQAUUAFFAH
/9H43ooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACig
AooAKKACigAooAKKACigAooAKKAFU4PQH2IpKAOj8R+NfEniLTLbT9c1WfUo7Vi0
T3SpJKpIx/rSvmEY7FiO+M81zlABRQAUUAFFABSqdpDDHHPNAHR/DZdKXxtpEuuo
H0qK7jlvVMe8NCh3upHTnaFOeze9Q+KdSup30+0ka0X7Bp8dkptU2gplnw5H32zI
ct0PHpQA/wCIvia58YeM9V8R3ShH1C7kuBGFAEak4RAB2VFRfwrnqACigAooAKKA
CigD/9L43ooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKK
ACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACig
AooAKKAP/9k=`
module.exports = function makeImages (cb) {
let images = {}
makeImage(portrait1, (image) => {
images.portrait1 = image
cb(images)
})
}

3
test/data/index.js Normal file
View file

@ -0,0 +1,3 @@
module.exports = {
portrait1: require('./portrait1')
}

170
test/data/portrait1.js Normal file
View file

@ -0,0 +1,170 @@
let makeImage = require('../../app/lib/make-image')
module.exports = (cb) => {
makeImage(`data:image/jpg;base64,
/9j/4AAQSkZJRgABAQEASABIAAD/4QCMRXhpZgAATU0AKgAAAAgABQESAAMAAAAB
AAEAAAEaAAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAIAAIdpAAQAAAAB
AAAAWgAAAAAAAABIAAAAAQAAAEgAAAABAAOgAQADAAAAAQABAACgAgAEAAAAAQAA
AGSgAwAEAAAAAQAAAJMAAAAA/+0AOFBob3Rvc2hvcCAzLjAAOEJJTQQEAAAAAAAA
OEJJTQQlAAAAAAAQ1B2M2Y8AsgTpgAmY7PhCfv/iDFhJQ0NfUFJPRklMRQABAQAA
DEhMaW5vAhAAAG1udHJSR0IgWFlaIAfOAAIACQAGADEAAGFjc3BNU0ZUAAAAAElF
QyBzUkdCAAAAAAAAAAAAAAAAAAD21gABAAAAANMtSFAgIAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEWNwcnQAAAFQAAAAM2Rl
c2MAAAGEAAAAbHd0cHQAAAHwAAAAFGJrcHQAAAIEAAAAFHJYWVoAAAIYAAAAFGdY
WVoAAAIsAAAAFGJYWVoAAAJAAAAAFGRtbmQAAAJUAAAAcGRtZGQAAALEAAAAiHZ1
ZWQAAANMAAAAhnZpZXcAAAPUAAAAJGx1bWkAAAP4AAAAFG1lYXMAAAQMAAAAJHRl
Y2gAAAQwAAAADHJUUkMAAAQ8AAAIDGdUUkMAAAQ8AAAIDGJUUkMAAAQ8AAAIDHRl
eHQAAAAAQ29weXJpZ2h0IChjKSAxOTk4IEhld2xldHQtUGFja2FyZCBDb21wYW55
AABkZXNjAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAEnNSR0Ig
SUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAABYWVogAAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAAAAAA
AAAAAAAAWFlaIAAAAAAAAG+iAAA49QAAA5BYWVogAAAAAAAAYpkAALeFAAAY2lhZ
WiAAAAAAAAAkoAAAD4QAALbPZGVzYwAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVj
LmNoAAAAAAAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAALklF
QyA2MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAA
AAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0g
c1JHQgAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAACxSZWZlcmVuY2Ug
Vmlld2luZyBDb25kaXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAsUmVm
ZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAdmlldwAAAAAAE6T+ABRfLgAQzxQAA+3MAAQTCwAD
XJ4AAAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFzAAAAAAAAAAEAAAAAAAAAAAAA
AAAAAAAAAAACjwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAAAAAABAAAAAAFAAoADwAU
ABkAHgAjACgALQAyADcAOwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8AIEAhgCL
AJAAlQCaAJ8ApACpAK4AsgC3ALwAwQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEH
AQ0BEwEZAR8BJQErATIBOAE+AUUBTAFSAVkBYAFnAW4BdQF8AYMBiwGSAZoBoQGp
AbEBuQHBAckB0QHZAeEB6QHyAfoCAwIMAhQCHQImAi8COAJBAksCVAJdAmcCcQJ6
AoQCjgKYAqICrAK2AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MDTwNaA2YDcgN+
A4oDlgOiA64DugPHA9MD4APsA/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoEqAS2
BMQE0wThBPAE/gUNBRwFKwU6BUkFWAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYn
BjcGSAZZBmoGewaMBp0GrwbABtEG4wb1BwcHGQcrBz0HTwdhB3QHhgeZB6wHvwfS
B+UH+AgLCB8IMghGCFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6CU8JZAl5CY8JpAm6
Cc8J5Qn7ChEKJwo9ClQKagqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuYC7ALyAvh
C/kMEgwqDEMMXAx1DI4MpwzADNkM8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5J
DmQOfw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MPzw/sEAkQJhBDEGEQfhCbELkQ1xD1
ERMRMRFPEW0RjBGqEckR6BIHEiYSRRJkEoQSoxLDEuMTAxMjE0MTYxODE6QTxRPl
FAYUJxRJFGoUixStFM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwWjxayFtYW+hcd
F0EXZReJF64X0hf3GBsYQBhlGIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEadxqe
GsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5q
HpQevh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDwIRwhSCF1IaEhziH7IiciVSKC
Iq8i3SMKIzgjZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXHJfcmJyZXJocmtybo
JxgnSSd6J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysCKzYraSud
K9EsBSw5LG4soizXLQwtQS12Last4S4WLkwugi63Lu4vJC9aL5Evxy/+MDUwbDCk
MNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38zuDPxNCs0ZTSeNNg1EzVNNYc1wjX9
Njc2cjauNuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5+To2OnQ6sjrvOy07azuq
O+g8JzxlPKQ84z0iPWE9oT3gPiA+YD6gPuA/IT9hP6I/4kAjQGRApkDnQSlBakGs
Qe5CMEJyQrVC90M6Q31DwEQDREdEikTORRJFVUWaRd5GIkZnRqtG8Ec1R3tHwEgF
SEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtTS5pL4kwqTHJMuk0CTUpNk03cTiVObk63
TwBPSU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MTU19TqlP2VEJUj1TbVShVdVXC
Vg9WXFapVvdXRFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtFW5Vb5Vw1XIZc1l0n
XXhdyV4aXmxevV8PX2Ffs2AFYFdgqmD8YU9homH1YklinGLwY0Njl2PrZEBklGTp
ZT1lkmXnZj1mkmboZz1nk2fpaD9olmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20I
bWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx8HJLcqZzAXNdc7h0FHRwdMx1KHWF
deF2Pnabdvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7wnwhfIF84X1BfaF+AX5i
fsJ/I3+Ef+WAR4CogQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauGDoZyhteHO4ef
iASIaYjOiTOJmYn+imSKyoswi5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q1pE/
kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0lp+XCpd1l+CYTJi4mSSZkJn8mmia1ZtC
m6+cHJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2oiailqMGo3aj5qRWpMelOKWp
phqmi6b9p26n4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24ri2uoa8Wr4uwALB1
sOqxYLHWskuywrM4s660JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7urW7Lrun
vCG8m70VvY++Cr6Evv+/er/1wHDA7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dB
x7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXONs62zzfPuNA50LrRPNG+0j/SwdNE
08bUSdTL1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724DcBdyK3RDdlt4c3qLfKd+v
4DbgveFE4cziU+Lb42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG
7RHtnO4o7rTvQO/M8Fjw5fFy8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH
+lf65/t3/Af8mP0p/br+S/7c/23////AABEIAJMAZAMBEgACEQEDEQH/xAAfAAAB
BQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0B
AgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygp
KjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImK
kpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj
5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJ
Cgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGh
scEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZ
WmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1
tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2wBDAAUD
BAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0d
Hx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4e
Hh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/3QAEAA3/2gAMAwEA
AhEDEQA/APjmigAp0aNIwVcZP+f8igBoGTgV9T/Cr9nax0XRn134vyNpH28rZ6TY
rcxiZrlz8jPnMfUAKjFlJb5x0AAPKPhz8CfiN45tYb7SdBaOxmj82O6vJ0t43TOA
y7ssynsQuDjrXTfGTxV8WfCHj640vxTrl/A0tpLbQSF4fN/s+V2VD+42qWC7tpIG
GL4GMEAFnWf2YvEcdvNbeH/EvhjxJrlqu660nTrzFzGBgMQHODtJAIO3r+FeZ6D8
RfEHhmK3t/Cl5Jo0UFytwZLYBZrl1+60zHPmYycIfkGfunrQBD8Qfh14v8BSWkXi
rRbjTJLxXaBJniLOF+8QEdjgZ68V7H4I+Lvgvxfay6Z8Zp9f1BrjT5IDf3DRXUEE
xyVmSKKJZImXoCpPXnOc0AfN9dF4+8OQeG9ZFtZa5peuWUsfm219YS7o5o8lQSp5
jfj5kPKnuRQBztFABRQAUUAFFABRQAUUAf/Q+OaKAPVv2U9TTTvjVoCvplpqH2yc
2apcgFEaTG2T7p+4U3D3xyOa5f4NXLWfxU8K3KjJi1uyc8E8eeqngcn73SgD6J+O
mu3+rfFa88OaRomufEjw4tlLdX9hfK23z4yVlks5RGGhMY2gmMsCX27cnNfZVhNY
6mwv7dCzwvLArvEUZSGw4wQDjK/jigD8i9Zv5tQvWuJZbiRTxH507SsEydo3NycD
j8D05r2D9s/w7ZaD8eNaSwtILS3u0gvfLhTaN0iN5jY6ZLISccZPqTQB4tBDLPII
4kZ2PZRk+35ngep4r71/ZF+A3h7QfDGk+Pddjt9W1rULeO8sQfnhsY3UMu0dGl55
ft0XA6gHyR42+DXxG8G6Hb63r3hi8tLCaNX+0KyyrHkZxJsyYiP9rA96/UTVoIrn
TLq2mt1uYpYXR4WGRICpG0jvnpQB+RNhYyX8d9IZlEttbtPtcgM4UgMMkjkA57k4
wK7rwd8MNU8T+OfEHhy7CeG7vRbC4vbqC8idvIEZUJFyQST5iKGyeBn5s0AebMME
g9qlvraWzu5bWZdssTsjr6MpII/MGgCGigAooAKKACigAooA/9H45ooAltZ5ba4S
eB2SRGDKysQQQcggjkHIByOlRUAfoZ+xp8XL74geGdS0rXoR/aejJFLJeqMfao5N
43uB/wAtAUO4gYbIOASRXzJ+xh4+Pgz4w2FrdTBNN1rGnXWc4VmOYW4B6SfL2/1n
tQB7J/wUBtdIvvDfhfxbpUVhcytdS2kl9Cod2VYnkSMsP4Qwc7T0Oa9A8efA2Pxl
8arbxA895o+g2ax3d60F0Q+p3gb5cLjCbUAQy/eYNtGMZoA89/ZQ/aG0DSfAE/hr
4gavZaXFoNtEumzFWL3EAUgpgZLupXjaOQyjrXreh/CX4f6v4b8VaVqvhiyWxufE
N1cqUGxonUKgkjYcxkBT93Hf1NAGp8Evixb/ABTk1a80zTY7LSLS4NtbPNchrqdl
+8zQgfulwVxubJz0GMnU+DHg7TfBXhj+zPDus/2n4dlYXGnlljLR7h8/7xABIGPz
bmy2SeSMYAPmvx2LMyfHzx+ong1lL2Hw/ZytOVSJHEKORjqxKKe5GBjHNdl8U9P+
Hvhv4f8Ai+98XadcXcWuavd6pBGRmcMxW1jaIH7pZWcqTjjnjsAfCF3M9xcyzyMz
NI7OSxyckk8/nVzV9NktiLiJZ5LKZpPs1xJAYhcKjFS6g5HbkAnacg9KAM6igAoo
AKKACigAooA//9L45ooAKKANPwtFqs3iCwh0ISnVJLiNbIRNhzPuHl7f9rftI/Xj
Nekfs/eLYvB1n4q1uKxmutSstLjuLLy0UlJFn27yT0UeYCSPSgD7Uk8daFcfCx9V
8d6lPYTeGtSig1eKBysk95AVZE2ockSNscIOGBweM1+d+seLvEmr20llquuajfQu
8TSC5l8ws0YYIxJ5yN7d+5HNAH1Zon7RniYTa03gX4ca7raarqjahEbxSYrdGSNZ
IlaIMpBZHbcWGNx645+YfD3xC8aeHdITSdH8Tanaaek3nJbxT/ulc8khWBAPfjvz
QB9rfsz/ABl8Gagup+GX8PN4Nv4nudRuLTe5so0VUMrqXA8nruKYAzk/xc/Dh1VY
tMvJ5Lm7m1jUJN0twt02PKbJlSQD77SNgtuyMAdzQB3/AO0x8UIPH3i+f+x7u/n0
dCpSS6JBuJBvAlWM/wCqTa+1E64yzfM1eQsSzFmJJJySepoA+mv2T/EvgjXfCWvf
DT4mJBJo4STV7K4upSBaMijz/Lb70bYxICvcv75+aLeZ4JlkQsCD/CxU/mORxn86
APTPjr8ItU+HOowXkEo1Lw5qbPLpOpRuHE8P3k3FQAJNhBwPvAFhjkV7r8FPjL4O
8f8AgbQfgn478O3cnn28WmQ3ySI6F0U+XIeQ8bDauGAPPoKAPjquq+Kvg+98D+Od
U8O3iSZtLiRI5GjKiaMOQsq8cqcdRxuDDsKAOVooAKKACigD/9P45ooAKdCoaVFP
QsAfzoA9+8H3S+Ev2V9W1G90uOaLxNrF5ohfyUWTZ9m3xSB+pCTRt8pI+82O2eU+
J2txR/CP4feFbW9uWENjcaneQniMXFzOxVu2T5YcDrgH3oA8sZgxJPU989+5pASD
x6YoA9B+HegWF/Hap4htba10a4nmjn1dpHjktXFs8oTGRnCoGA2lSWGT2qjP4guP
FGiW+jto1lLrYnZzqikR3E0CwbfJc8IyqEBBJBGAMHqQDkry3e3aMMHAkiSRSy4y
GUHj2zkfhUJySBnPpQAlFABRQAqkBgSoYdweh9qSgD7U+D0Ph39oj4IP4T8TLB/w
l3hy3MFjqTHdcBGX93KcnLLkBJFJIYqT3FfIPhPxBqvhjXrPW9GvJbS9s5VlhljY
gqwIPYjKnGCp4IyDQBBr+lX2iavc6XqVrJaXlrK0M8LjBjdThl/P9CD3r2z41X+j
fGXSJviR4Z037Drum20Y8UWGVGVC4S9iPWSMEGNv41+TK4FAHglSXEMtvM0M8bRy
KcMrDBFAEdFAH//U+OaKAJLZQ9zEhzhnUHHuRTYX8uVJMZ2sG/I5oA7P4naTaaZZ
eFZLXzt174es7ubzJS/7x2mB25+6vyDCjgc46mqPjXxNB4h0zw5Atk9vPpWkR6dK
/mBlm8uRyjgdvlcgigDmKMUAeh/DXUrG78G+LfBl5YT3VzqdrHeaW0SmRo7y1LOF
CYORJGXUn0T3rj/DEWsTa5aw6ALw6k8m22W03ea0hBCqu3kk5I+hPbNAFa0kgt9S
jlltxdQJKGMTkqJUyDtJ6jcOM9s5r3jxd+z1eW/iS08H+GZnvvE/9lnVrm1ubyIC
K3HlpsIRMiQO+ACSGVSRg0AeNeKtHNpN/aVha3I0W7kc2Nw8bbHXqUDHgsmdrDOR
tyRzX0loPh+81j4H678F9e0Gax8V+F0k1TRTKNgvw0zklS+0HPzpnjcjDoQQAD5Q
qW8ge2upYJEdGjdlKupVhgkYIPIPHIoAipVBYgAZJOBQAlTXltcWd1La3ULwzROU
kRxhlYdQaAOk+GdxI3iOPSPMjih1hf7LmlYE+VHcPHG0gAPJUYOO+K5uyd47pGjd
o3zhXUkFW7MMehwfwoA6T4svbN8RNdWziEVtHfzRQgDB8uNzEpPuRHk/Wug+P8ml
aj4i03xNpVh9gGv6Ta6ncwKPkW5cOk+04GQXjBz6sfWgDzWigD//1fjmigAooAUg
jGe9JQAU5QWcKoyWOAKAN74fab4m1TxXYW3hG3vp9ZMytaLZnEokB4YN/Dju5wFH
X0P1l+x54P8AFmkfDi51yPTrWyttamhltr2O/jt7ieFAU8os0blELjcNvJ3Hp3AK
/wAWPg58Y7DxLpfjzwlcT3euro9qmtXWn3ixXc94uRM4QgK6lRGMd9g4OBX0HoGl
NoN8kdr4t1jTo5MJ/ZWtyC8i3kkkxSyHzGJJxgSEDjCigD5d/aS0nXfEfwD8D/Ef
xLDex+JrUnSdXSW2MUhO9wrlCBhw6cYwD5hI6ivqf9oDSLDV/g34jj1Szt75bOya
/SKYN5bywDzUDBSCVLKAQCMgkZoA/Nz4rrajxO0iXIm1CWCGXU9hBRbxkBnVSOoB
2/iW54rE8VX1jqWu3V9pukQ6RbTsJI7OGVpEhBUfKpbnGcn2zjoBQBmL1HIHPU0L
jPPSgC1qURSSOU3sV008aysUZmKs3VWz/EMc9eor0DTvB+h+OrF5PBVzdxa3b2Yk
m0a7gY+aUwJGt7jJUr8y4WTDZ4B5AoA82ibZKjkZ2sDT7qCW2uHgnjaORGKsrAgg
g4IIPIOcjB6EYoA6jxv4uGv+H/C2kRWohi0PSvsW5gN0rmVpGbIPTlQB161hnSLo
aAuslW+zNdG2BxxuEYkPOfQjtQBnUUAf/9b45ooAfbx+bPHEZEj3sF3ucKuTjJPY
DvTKAHSLsdl3K2CRlTkH3HtTaAFVirBlOCDkH0NJQB6r8PfiJ4svbOHwfP4rubaz
TT5bPSYp9htLeZmRo9ylcc7WQOwYqX4xkmvKwSDkUAfUnwU/af8AEHhXULbwv8Qo
21jSLaTyXvGG+8slUkFyefOCkYP8WASC/f5r0LU10y9NzJpun6hlCnl3sRkRc4+Y
KGHIxxnjk8UAfo9+1t4ssNE/Z/1x/tCl9btxp1l82PNMwwSPYJuY+wNfnx4k8aaz
rfhbRPD11qN7LY6UJmhgklJjjaQ42oM8IqAKoPTJA4NAHNTMHmdlGFLEqPQdhTKA
CigDovBfiq58MLq32WIO2o6ZcaeW3lTGsuzLjjkjYMDjr14rnaALms6leavqc+o6
hO091cSGSWRsbnY9ScADPHXFU6AOzldv+FQwJn5f7dk79/saA1yMkEscEUzpiOXd
sbjnBwf1oAiooA//1/jmigAooAKKACigAooAKKAAY7jIooA29Z1HTtVt45WtPsd9
HEfNkiJKXL7hg7MARcf3cisSgA78U+FxHKkjRpIFYEo+drY7HHODQAyrWrT2txfy
zWdr9kgY5SHzWk2cDjc3J5z1oAq1f0OG1kvle+YC1hxLMu/azorDcqHH3yCQOnNA
FFmYgKScL0BPSrOrzWk+p3M1ja/ZbZ5XaGHdu8tCx2rnvgYGe5yaAKtFAH//0Pjm
igAooAKKACigAooAKKACigAooAKKACigAFFABRQAUUAf/9k=`
, cb)
}

File diff suppressed because it is too large Load diff

3
test/fixture/index.js Normal file
View file

@ -0,0 +1,3 @@
module.exports = {
singlePortrait: require('./single-portrait')
}

View file

@ -0,0 +1,393 @@
let makeImage = require('../../app/lib/make-image')
module.exports = (cb) => {
makeImage(`data:image/png;base64,
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
RWARCPwfuNDlwVfqKPUAAAAASUVORK5CYII=`
, cb)
}

View file

@ -1,8 +1,8 @@
let assert = require('assert') let assert = require('assert')
let imagediff = require('imagediff') let imagediff = require('imagediff')
let Canvas = require('../../app/view/canvas') let Canvas = require('../../app/view/canvas')
let makeTestImages = require('../data/image') let testImage = require('../data')
let makeImageFixtures = require('../fixture/image') let fixtureImage = require('../fixture')
describe('Canvas', function () { describe('Canvas', function () {
@ -18,14 +18,14 @@ describe('Canvas', function () {
assert.doesNotThrow(canvas.drawImage.bind(canvas, image, image), 'Invalid image') assert.doesNotThrow(canvas.drawImage.bind(canvas, image, image), 'Invalid image')
}) })
it('should draw a single page', () => { it('should draw a single page', (done) => {
let canvas = new Canvas() let canvas = new Canvas()
// TODO refactor how images are generated (do one at a time)
// TODO update fixture once centering is working again // TODO update fixture once centering is working again
makeTestImages((testImages) => { testImage.portrait1((testImage) => {
makeImageFixtures((fixtureImages) => { fixtureImage.singlePortrait((fixtureImage) => {
canvas.drawImage(testImages.portrait1) canvas.drawImage(testImage)
assert(imagediff.equal(canvas.canvas, fixtureImages.singlePortrait)) assert(imagediff.equal(canvas.canvas, fixtureImage, 5))
done()
}) })
}) })
}) })