|
23 | 23 | value: 0.5,
|
24 | 24 | animation: false
|
25 | 25 | }),
|
26 |
| - defaultSize = $.circleProgress.defaults.size; |
27 |
| - |
28 |
| - assert.pixelCloseHex(canvas, 1, defaultSize / 2 - 1, '#3aeabb', 0.015); |
29 |
| - assert.pixelCloseRGBA(canvas, 1, defaultSize / 2 + 1, 'rgba(0, 0, 0, 0.1)', 0.01); |
30 |
| - assert.pixelCloseHex(canvas, defaultSize - 1, defaultSize / 2 - 1, '#fdd250', 0.015); |
31 |
| - assert.pixelCloseRGBA(canvas, defaultSize - 1, defaultSize / 2 + 1, 'rgba(0, 0, 0, 0.1)', 0.01); |
32 |
| - assert.pixelCloseHex(canvas, defaultSize / 2, 1, '#9ade85', 0.015); |
33 |
| - assert.pixelRGBA(canvas, defaultSize / 2, 8, 'rgba(0, 0, 0, 0)'); |
34 |
| - assert.pixelCloseRGBA(canvas, defaultSize / 2, defaultSize - 1, 'rgba(0, 0, 0, 0.1)', 0.01); |
35 |
| - assert.pixelRGBA(canvas, defaultSize / 2, defaultSize - 9, 'rgba(0, 0, 0, 0)'); |
| 26 | + size = $.circleProgress.defaults.size; |
| 27 | + |
| 28 | + assert.pixelCloseHex(canvas, 1, size / 2 - 1, '#3aeabb', 0.015); |
| 29 | + assert.pixelCloseRGBA(canvas, 1, size / 2 + 1, 'rgba(0, 0, 0, 0.1)', 0.01); |
| 30 | + assert.pixelCloseHex(canvas, size - 1, size / 2 - 1, '#fdd250', 0.015); |
| 31 | + assert.pixelCloseRGBA(canvas, size - 1, size / 2 + 1, 'rgba(0, 0, 0, 0.1)', 0.01); |
| 32 | + assert.pixelCloseHex(canvas, size / 2, 1, '#9ade85', 0.015); |
| 33 | + assert.pixelRGBA(canvas, size / 2, 8, 'rgba(0, 0, 0, 0)'); |
| 34 | + assert.pixelCloseRGBA(canvas, size / 2, size - 1, 'rgba(0, 0, 0, 0.1)', 0.01); |
| 35 | + assert.pixelRGBA(canvas, size / 2, size - 9, 'rgba(0, 0, 0, 0)'); |
36 | 36 | });
|
37 | 37 |
|
38 | 38 | QUnit.test("Test circle with value = 0.5 and solid fill", function(assert) {
|
|
56 | 56 | value: 0.5,
|
57 | 57 | fill: { color: color }
|
58 | 58 | }),
|
59 |
| - defaultSize = $.circleProgress.defaults.size; |
| 59 | + size = $.circleProgress.defaults.size; |
60 | 60 |
|
61 | 61 | assert.expect(8);
|
62 | 62 | QUnit.stop();
|
63 | 63 |
|
64 |
| - assert.pixelCloseRGBA(canvas, 1, defaultSize / 2 - 1, 'rgba(0, 0, 0, 0.1)', 0.01); |
| 64 | + assert.pixelCloseRGBA(canvas, 1, size / 2 - 1, 'rgba(0, 0, 0, 0.1)', 0.01); |
65 | 65 | setTimeout(function() {
|
66 |
| - assert.pixelHex(canvas, 1, defaultSize / 2 - 1, color); |
| 66 | + assert.pixelHex(canvas, 1, size / 2 - 1, color); |
67 | 67 | }, 200);
|
68 | 68 |
|
69 |
| - assert.pixelCloseRGBA(canvas, defaultSize / 2 + 1, 1, 'rgba(0, 0, 0, 0.1)', 0.01); |
| 69 | + assert.pixelCloseRGBA(canvas, size / 2 + 1, 1, 'rgba(0, 0, 0, 0.1)', 0.01); |
70 | 70 | setTimeout(function() {
|
71 |
| - assert.pixelHex(canvas, defaultSize / 2 + 1, 1, color); |
| 71 | + assert.pixelHex(canvas, size / 2 + 1, 1, color); |
72 | 72 | }, 700);
|
73 | 73 |
|
74 |
| - assert.pixelCloseRGBA(canvas, defaultSize - 2, defaultSize / 2 - 1, 'rgba(0, 0, 0, 0.1)', 0.01); |
| 74 | + assert.pixelCloseRGBA(canvas, size - 2, size / 2 - 1, 'rgba(0, 0, 0, 0.1)', 0.01); |
75 | 75 | setTimeout(function() {
|
76 |
| - assert.pixelHex(canvas, defaultSize - 2, defaultSize / 2 - 1, color); |
| 76 | + assert.pixelHex(canvas, size - 2, size / 2 - 1, color); |
77 | 77 | QUnit.start();
|
78 | 78 | }, 1300);
|
79 | 79 |
|
80 |
| - assert.pixelCloseRGBA(canvas, 1, defaultSize / 2 + 1, 'rgba(0, 0, 0, 0.1)', 0.01); |
81 |
| - assert.pixelCloseRGBA(canvas, defaultSize - 2, defaultSize / 2 + 1, 'rgba(0, 0, 0, 0.1)', 0.01); |
| 80 | + assert.pixelCloseRGBA(canvas, 1, size / 2 + 1, 'rgba(0, 0, 0, 0.1)', 0.01); |
| 81 | + assert.pixelCloseRGBA(canvas, size - 2, size / 2 + 1, 'rgba(0, 0, 0, 0.1)', 0.01); |
82 | 82 | });
|
83 | 83 |
|
84 |
| - QUnit.test("Test circle with value = 0.5 and custom gradient", function(assert) { |
| 84 | + QUnit.test("Test circle with value = 0.5, size = 80 and custom gradient", function(assert) { |
85 | 85 | var canvas = createCircle({
|
86 | 86 | value: 0.5,
|
| 87 | + size: 80, |
87 | 88 | fill: {
|
88 | 89 | gradient: ['#ff327a', '#fff430', '#ff8989']
|
89 | 90 | }
|
90 | 91 | }),
|
91 |
| - defaultSize = $.circleProgress.defaults.size; |
| 92 | + size = 80; |
92 | 93 |
|
93 | 94 | assert.expect(8);
|
94 | 95 | QUnit.stop();
|
95 | 96 |
|
96 |
| - assert.pixelCloseRGBA(canvas, 1, defaultSize / 2 - 1, 'rgba(0, 0, 0, 0.1)', 0.01); |
| 97 | + assert.pixelCloseRGBA(canvas, 1, size / 2 - 1, 'rgba(0, 0, 0, 0.1)', 0.01); |
97 | 98 | setTimeout(function() {
|
98 |
| - assert.pixelCloseHex(canvas, 1, defaultSize / 2 - 1, '#ff3777', 0.01); |
| 99 | + assert.pixelCloseHex(canvas, 1, size / 2 - 1, '#ff3777', 0.01); |
99 | 100 | }, 200);
|
100 | 101 |
|
101 |
| - assert.pixelCloseRGBA(canvas, defaultSize / 2, 1, 'rgba(0, 0, 0, 0.1)', 0.01); |
| 102 | + assert.pixelCloseRGBA(canvas, size / 2, 1, 'rgba(0, 0, 0, 0.1)', 0.01); |
102 | 103 | setTimeout(function() {
|
103 |
| - assert.pixelCloseHex(canvas, defaultSize / 2, 1, '#fff330', 0.01); |
| 104 | + assert.pixelCloseHex(canvas, size / 2, 1, '#fff330', 0.01); |
104 | 105 | }, 700);
|
105 | 106 |
|
106 |
| - assert.pixelCloseRGBA(canvas, defaultSize - 2, defaultSize / 2 - 1, 'rgba(0, 0, 0, 0.1)', 0.01); |
| 107 | + assert.pixelCloseRGBA(canvas, size - 2, size / 2 - 1, 'rgba(0, 0, 0, 0.1)', 0.01); |
107 | 108 | setTimeout(function() {
|
108 |
| - assert.pixelCloseHex(canvas, defaultSize - 2, defaultSize / 2 - 1, '#ff8c86', 0.01); |
| 109 | + assert.pixelCloseHex(canvas, size - 2, size / 2 - 1, '#ff8c86', 0.01); |
109 | 110 | QUnit.start();
|
110 | 111 | }, 1300);
|
111 | 112 |
|
112 |
| - assert.pixelCloseRGBA(canvas, 1, defaultSize / 2 + 1, 'rgba(0, 0, 0, 0.1)', 0.01); |
113 |
| - assert.pixelCloseRGBA(canvas, defaultSize - 2, defaultSize / 2 + 1, 'rgba(0, 0, 0, 0.1)', 0.01); |
| 113 | + assert.pixelCloseRGBA(canvas, 1, size / 2 + 1, 'rgba(0, 0, 0, 0.1)', 0.01); |
| 114 | + assert.pixelCloseRGBA(canvas, size - 2, size / 2 + 1, 'rgba(0, 0, 0, 0.1)', 0.01); |
114 | 115 | });
|
115 | 116 |
|
116 |
| - QUnit.test("Test circle with value = 0.75, custom start angle and animation start value", function(assert) { |
| 117 | + QUnit.test("Test circle with value = 0.75, custom start angle and custom animation start value", function(assert) { |
117 | 118 | var canvas = createCircle({
|
118 | 119 | value: 0.75,
|
119 | 120 | startAngle: -Math.PI / 4,
|
|
138 | 139 | QUnit.start();
|
139 | 140 | }, 1300);
|
140 | 141 | });
|
| 142 | + |
| 143 | + QUnit.asyncTest("Test circle with value = 0.5, image background and reverse", function(assert) { |
| 144 | + var urlPrefix = $('script[src*="tests.js"]').attr('src').replace(/tests\.js.*$/, ''), |
| 145 | + imageUrl = urlPrefix + 'images/circle.png', |
| 146 | + image = new Image(); |
| 147 | + |
| 148 | + assert.expect(9); |
| 149 | + image.src = imageUrl; |
| 150 | + |
| 151 | + $(image).load(function() { |
| 152 | + var canvas = createCircle({ |
| 153 | + value: 0.5, |
| 154 | + thickness: 20, |
| 155 | + fill: {image: image}, |
| 156 | + reverse: true |
| 157 | + }); |
| 158 | + |
| 159 | + assert.pixelRGBA(canvas, 21, 49, 'rgba(0, 0, 0, 0)'); |
| 160 | + assert.pixelRGBA(canvas, 78, 49, 'rgba(0, 0, 0, 0)'); |
| 161 | + assert.pixelRGBA(canvas, 49, 77, 'rgba(0, 0, 0, 0)'); |
| 162 | + |
| 163 | + assert.pixelCloseRGBA(canvas, 17, 51, 'rgba(0, 0, 0, 0.1)', 0.01); |
| 164 | + setTimeout(function() { |
| 165 | + assert.pixelCloseHex(canvas, 17, 51, '#00f7ff', 0.01); |
| 166 | + }, 400); |
| 167 | + |
| 168 | + assert.pixelCloseRGBA(canvas, 49, 81, 'rgba(0, 0, 0, 0.1)', 0.01); |
| 169 | + setTimeout(function() { |
| 170 | + assert.pixelCloseHex(canvas, 49, 81, '#7700ff', 0.01); |
| 171 | + }, 700); |
| 172 | + |
| 173 | + assert.pixelCloseRGBA(canvas, 81, 51, 'rgba(0, 0, 0, 0.1)', 0.01); |
| 174 | + setTimeout(function() { |
| 175 | + assert.pixelCloseHex(canvas, 81, 51, '#ff0008', 0.01); |
| 176 | + QUnit.start(); |
| 177 | + }, 1400); |
| 178 | + }); |
| 179 | + }); |
141 | 180 | } else {
|
142 | 181 | QUnit.test("Your browser doesn't support Canvas", function(assert) {
|
143 | 182 | assert.ok(true, "That's fine");
|
|
0 commit comments