UNPKG

2.87 kBJavaScriptView Raw
1'use strict';
2
3var _tape = require('tape');
4
5var _tape2 = _interopRequireDefault(_tape);
6
7var _forward = require('../../lib/renderer/forward');
8
9var _forward2 = _interopRequireDefault(_forward);
10
11function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
13(0, _tape2.default)('Forward Renderer', function (t) {
14 t.test('Adds a canvas', function (t) {
15 t.plan(3);
16
17 var renderer = (0, _forward2.default)();
18 var canvases = document.querySelectorAll('canvas');
19
20 t.equals(canvases.length, 1, 'It auto-creates a canvas');
21 t.equals(renderer.canvas, canvases[0], 'It added the canvas to the DOM');
22
23 renderer.destroy();
24
25 var canvasesAfter = document.querySelectorAll('canvas');
26
27 t.equals(canvasesAfter.length, 0, 'It destroys the canvas');
28 });
29
30 t.test('Can be passed a canvas', function (t) {
31 t.plan(3);
32
33 var canvas = document.createElement('canvas');
34 var renderer = (0, _forward2.default)({
35 canvas: canvas,
36 autoAddCanvas: false
37 });
38 var canvasesEmpty = document.querySelectorAll('canvas');
39
40 t.equals(canvasesEmpty.length, 0, 'It does not auto-create or add a canvas');
41 t.equals(renderer.canvas, canvas, 'It does set the canvas as the current');
42
43 document.body.appendChild(canvas);
44
45 renderer.destroy();
46
47 var canvasesAfter = document.querySelectorAll('canvas');
48
49 t.equals(canvasesAfter.length, 1, 'It does not destroy the canvas');
50 });
51
52 t.test('It does resize the canvas', function (t) {
53 t.plan(6);
54 var div = document.createElement('div');
55
56 div.style.width = '100px';
57 div.style.height = '50px';
58
59 document.body.appendChild(div);
60
61 var renderer = (0, _forward2.default)({
62 parentEl: div
63 });
64
65 t.equals(renderer.canvas.width, 100, 'canvas is initially sized');
66 t.equals(renderer.canvas.height, 50, 'canvas is initially sized');
67
68 div.style.width = '66px';
69 div.style.height = '33px';
70
71 window.dispatchEvent(new window.Event('resize'));
72
73 t.equals(renderer.canvas.width, 66, 'canvas gets resized on window resize');
74 t.equals(renderer.canvas.height, 33, 'canvas gets resized on window resize');
75
76 renderer.destroy();
77
78 div.style.width = '55px';
79 div.style.height = '44px';
80
81 window.dispatchEvent(new window.Event('resize'));
82
83 t.equals(renderer.canvas.width, 66, 'canvas does not resize after destroying the renderer');
84 t.equals(renderer.canvas.height, 33, 'canvas does not resize after destroying the renderer');
85 });
86
87 t.test('It can set the canvas size', function (t) {
88 t.plan(2);
89
90 var renderer = (0, _forward2.default)({
91 autoResizeCanvas: false,
92 width: 77,
93 height: 55
94 });
95
96 t.equals(renderer.canvas.width, 77, 'canvas width is correct');
97 t.equals(renderer.canvas.height, 55, 'canvas height is correct');
98
99 renderer.destroy();
100 });
101});
\No newline at end of file