canvas-based-HTML5-Comic-Bo.../test/view/canvas.test.js
2015-07-18 17:59:47 +02:00

52 lines
1.4 KiB
JavaScript

let assert = require('assert')
let imagediff = require('imagediff')
let Canvas = require('../../app/view/canvas')
let testImage = require('../data')
let fixtureImage = require('../fixture')
describe('Canvas', function () {
it('should draw only Image objects', () => {
let canvas = new Canvas()
let image = new window.Image()
assert.throws(canvas.drawImage, 'Invalid image')
canvas.options.doublePage = true
assert.throws(canvas.drawImage.bind(canvas, image), 'Invalid image')
assert.doesNotThrow(canvas.drawImage.bind(canvas, image, image), 'Invalid image')
})
// TODO fix test
it.skip('should draw a single page', (done) => {
let canvas = new Canvas()
testImage.portrait1((testImage) => {
fixtureImage.singlePortrait((fixtureImage) => {
canvas.drawImage(testImage)
assert(imagediff.equal(canvas.canvas, fixtureImage, 5))
done()
})
})
})
it('should draw a double page')
it('should draw a manga double page')
it('should draw a single double page spread')
it('should show a blank last page if the last double page only has one image')
it('should auto-fit to window width')
it('should auto-fit to window height')
it('should manual zoom')
it('should always display the canvas 100% of window width, even when drawing smaller images')
it('should always center pages')
it('should prevent smaller images from being drawn on top of bigger ones')
})