1 | 'use strict';
|
2 |
|
3 | var _tape = require('tape');
|
4 |
|
5 | var _tape2 = _interopRequireDefault(_tape);
|
6 |
|
7 | var _forward = require('../../lib/renderer/forward');
|
8 |
|
9 | var _forward2 = _interopRequireDefault(_forward);
|
10 |
|
11 | function _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 |