-
Notifications
You must be signed in to change notification settings - Fork 107
/
Copy pathtransform.js
96 lines (79 loc) · 23.2 KB
/
transform.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
var gamejs = require('gamejs');
qModule('gamejs/transform');
var surfaceEqual = QUnit.surfaceEqual;
var surface = null;
var rotateSurface = null;
QUnit.testStart(function() {
flipSurface = new gamejs.graphics.Surface([40, 70]);
gamejs.graphics.lines(flipSurface, '#ff0000', false, [[5,0], [10, 55], [15, 50], [20,65], [30,0]], 5);
gamejs.graphics.lines(flipSurface, '#0000ff', true, [[1,1], [39,1], [39,69],[1,69]], 2);
rotateSurface = new gamejs.graphics.Surface([40, 70]);
gamejs.graphics.lines(rotateSurface, '#ff0000', false, [[5,0], [10, 55], [15, 50], [20,65], [30,0]], 5);
gamejs.graphics.lines(rotateSurface, '#0000ff', true, [[1,1], [39,1], [39,69],[1,69]], 2);
scaleSurface = new gamejs.graphics.Surface([40, 70]);
gamejs.graphics.lines(scaleSurface, '#ff0000', false, [[5,0], [10, 55], [15, 50], [20,65], [30,0]], 5);
gamejs.graphics.lines(scaleSurface, '#0000ff', true, [[1,1], [39,1], [39,69],[1,69]], 2);
});
QUnit.asyncTest('flip', 1, function() {
surfaceEqual(flipSurface.flip(true, false), "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAABGCAYAAAC+ANZHAAACzElEQVRogc2XvVEjURCEx1ACeOudQZEAHhHgEISCgCIFLBLAlU8CWLjgUWQg44oAzsCgz+DVlfToeT8zzQlVjaNd9X6qWW1/MjPg546ZHR6iC7lHu/eC2Qn5xBs7N/qC2QO5xvko4Apm7yTgSAj4QvJPhwBLwCsJOBMCvpH8ZQbwngSsRXArmH1U2R8wW80A3hDAGxHg4t/j44BrEnIvAjwl2S+zgGck5FUEeE6yH2YBj0jI++d9kgZk29lMAZYg9ks7EQBekdzbCOAjCboQAN6S3KsI4B0JuhQAbvxH2BzgJQm6EwA6NTcPeEGCHgWATs3NA36LNDg/viUCKJcGNGtuErAESqUBzZqLAUqlAc2aiwFKpQHNmosBSqXBydtkAKXSgGbNxQCl0oBmzQUAS6hMGtCsuTigTBrQrLk4oEwa0Ky5OKBMGpzbZckCSqQB3ZqLA0qkAd2aiwNKpAHdmgsClvC0NKBbcznAtDSgW3M5wLQ0oFtzOcC0NKBbcznAtDSgW3M5wLQ0oFtzCcBygZQ0oFtzecCUNDhfcKnOSgGGpQFDNZcHDEsDhmouDxiWBgzVXB4wLA0Yqrk8YFgaMFRzScByoZA0YKjmNIAhacBQzWkAu9IAs1+oHuAYqjkNYFcaYHYNs+0uJIZqTgPYlQaYPZX3/0FiqOY0gE1pgNlxdWyLz8fTQM0JAAuEKw1lvfWxLYZqTgfoSgPMnskxNs4DXgNIpYGstzWk5nSAVBqc9XpDak4HSKVhYr0ArTkdIJOGPw7Ib+d9UnM6QE8a6nkuX2ZLjpGaEwEWSCYN9VyXcxnk+rsBmTTUc7xzfg1Jak4LyKRhb73kM7uQpOa0gEwavqy3AUlqTgvIpIGu14F0/vDrAJk0uOudSNYAFkgmDe56DwHIpKG53v8NyKQhsV49IJOGxHr1gEwaEuvVA9bSkFwvBfypc3CA9vwF+SwugRmhOlMAAAAASUVORK5CYII=",
QUnit.start
);
});
QUnit.asyncTest('flip2', 1, function() {
surfaceEqual(flipSurface.flip(false, true), "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAABGCAYAAAC+ANZHAAAC7ElEQVRogc3WMVIjMRAF0B9wATJnG7h8AWecwAmH8CGgfAUiLkBKzgWISJeM4gYEWxxgAwKagJkt0fMltbql2qFqkhmr9Wxh/w9AZN3XfweYgbE/AZ7V5F1wYj+gAFvy1i/XBDwR4NWagPp4RYC7VQAzxysCPK0FyI5XBHhfC5Ad73ydDwUKcFb6uSgc73xdjAZuBHjLIQvHO1/H0cD99JAiK8crAtyMBh6SzX4gDccrAjyMBh7Vhv+QhuMVAV5HA6/Jpm8C7AzHKwJ8CHA2Enib2fhP5v5fcs9ZGmzAe8OnNF/PAjyR+87SYAM+NgBPAtyR+87SYAO+NAC3AlyR+87SYAO+W493ev0leeYsDRWgfMfcp9rsU76/xYvjndbsyDNnaagDN2yzCaGR2+RNfZB1jtJQB+7JRi/TsxT5W617JescpaEOPJCNHpPnM/Kk1j2QdccRQB1zIsC9es1OgF/q3g1Z5ygNdSCLudvqWP7GHKWhDmQxd20AXpB1jtJQB7KYOxqA52SdozTUgSzmDqbR/Ae+sTTUgSzm9kZgh9JQB7JPYWMEdigNBaDkY870fyRdSkMZSGPOPLpLaSgDszFnBHYoDWVgMeYMwA6loQysxpwBGSwNZaAr5tSMYGkoA10xp2YES0MZ6Io5NSNYGspAd8wlM4KloQx0x1wyI1gaykB3zBnmGEtDBijBmFPAQGnIA0Mxp4CB0pAHhmJOAQOlIQ8MxZwCBkpDHhiOuWRWoDTkgeGYS2YFSkMeGI45hXSWhjwwHHMK6CwNeWA45hTQWRrywHDMKaCzNOSBXWIumecsDQQoHWMuATpLAwd2izmFdJQGDuwWcwroKA0c2C3mFNBRGjiwW8wpoKM0cGC3mFNAR2ngwK4xlwAdpYEDu8ZcAnSUBg7sGnMK2VgaOLBrzClgY2ngwK4xp4CNpUEBZUDMKWBjaVgCh8RcAmwsDUvgkJhLgI2lYQkcEnMK2VAaFl+StV4/tOu7vgAC5S6BbTRqVQAAAABJRU5ErkJggg==",
QUnit.start
);
});
QUnit.asyncTest('flip3', 1, function() {
surfaceEqual(flipSurface.flip( true, true), "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAABGCAYAAAC+ANZHAAAC5ElEQVRogc2WsU0DQRBFJ3ADZGQEiAbIqICEIlwEyC0Q0QApOQ0QkUKG6MABogACAoaARTrGf3f/zswKI11yvvn3fGPuPxFR3e/j3wFoQP+fipyY1OdIXklNBbwAX/14nwAvAeBmnwBvAWBwzbmAj5VfeGDNuYDvFcDAmpMAVeSg8Y4IrDkP8KzzIquuubyeVrMB1x1AuOYCt1WRw9mA1x3AnTUv4FRFTmcD3ncA/6zZwKmKnM8GfCUANxU4VZH1NEAVWanIJwH4XIFTFbmaCWglQVXkowL5Vjl/MxMQScJjeWK9p/p73M0ERJJwqyKbAcCHmYBIEi5V5HgA8GUmIJKEi/IZu+b3mYBIEk7KZ2jNWxX5Mue+FNZdEFCxJHz+3gyseas///XoS4G6iwMiSXg11zwt4cq5FzAH6i4OiCTh3lyzWcKVcw9gDtRdHBBJwrW55mgJV87dgbn1DEAkCeBGO3M3YA7UXRwQScIZMXcF5kDdBQC1LgkHxCz67YK6iwEiSai8cHdmz8EsqLsYIJQEcvYUzIK6iwFCSSBnD7mnHwOEkkDOrpSquxhgVRLIeaLuYoBVSSDnibpzAmpHEsgMou78gF1JIDKIuvMDdiWByCDqzg/YlQQig6g7P6BLEkwGUXd+QJckmAyi7hyAGpAEk0PUnQ/QLQkmh6g7H6BbEkwOUXc+QLckgKxO3fkA3ZIAsjp15wMMSYLJ6tSdDzAkCSarU3eDgJogCSavU3fjgGFJMHmduhsHDEsCkbeou3HAsCSYvE7djQOGJcHkdepuHDAsCSavU3cDgJokCSCzUXdjgCmSAHIbdTcGmCIJILdRd2OAaZJgcht1NwaYJgkmt1F3Y4BpkmByG3U3BpgmCSa3UXckoCZLgslu1B0PmCoJJrtRdzxgqiSY7Ebd8YCpkmCyG3XHA6ZKgslu1B0PmCoJIL9SdwSgTpAEcI9K3XGAUyTB3KNSdzuA+3r8O0ATTr4BzmIugfql89YAAAAASUVORK5CYII=",
QUnit.start
);
});
QUnit.asyncTest('rotate', 1, function() {
surfaceEqual(rotateSurface.rotate(90), "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEYAAAAoCAYAAABD0IyuAAABAUlEQVRoQ+2WgQnCMBBFmwl0BEdwA0dXN+gIjuAG8S4JEiSF/IKS2ncQWtpA+a+vn4aJaRIIcGkTAMyCGYABjFYaGIMxGKMRwBiNFx2DMRijEcAYjRcdgzEYoxHAGI0XHYMxGKMRwBiNFx2DMRijEcAYjRcdgzEYoxHAGI0XHbNsTIwayz3sDsGMAUzrVVdgHNI+xz6ZoyU/e/owxWs+vo35LzB1WMt5KsszOwAH4XP5VMHApEubArM2rPIdDAPmF2GHATNa2K+C2XLYTjD3Ur6pd7o6xqB4Yd1sHTofMsq2FNbmaWsu5w87+vKZDYDfqyb/vnSB8Y0DwVkRVnlPGcwLVtM7F6iqdbgAAAAASUVORK5CYII="
,
QUnit.start
);
});
QUnit.asyncTest('rotate2', 1, function() {
surfaceEqual(rotateSurface.rotate(180), "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAABGCAYAAAC+ANZHAAAC5ElEQVRogc2WsU0DQRBFJ3ADZGQEiAbIqICEIlwEyC0Q0QApOQ0QkUKG6MABogACAoaARTrGf3f/zswKI11yvvn3fGPuPxFR3e/j3wFoQP+fipyY1OdIXklNBbwAX/14nwAvAeBmnwBvAWBwzbmAj5VfeGDNuYDvFcDAmpMAVeSg8Y4IrDkP8KzzIquuubyeVrMB1x1AuOYCt1WRw9mA1x3AnTUv4FRFTmcD3ncA/6zZwKmKnM8GfCUANxU4VZH1NEAVWanIJwH4XIFTFbmaCWglQVXkowL5Vjl/MxMQScJjeWK9p/p73M0ERJJwqyKbAcCHmYBIEi5V5HgA8GUmIJKEi/IZu+b3mYBIEk7KZ2jNWxX5Mue+FNZdEFCxJHz+3gyseas///XoS4G6iwMiSXg11zwt4cq5FzAH6i4OiCTh3lyzWcKVcw9gDtRdHBBJwrW55mgJV87dgbn1DEAkCeBGO3M3YA7UXRwQScIZMXcF5kDdBQC1LgkHxCz67YK6iwEiSai8cHdmz8EsqLsYIJQEcvYUzIK6iwFCSSBnD7mnHwOEkkDOrpSquxhgVRLIeaLuYoBVSSDnibpzAmpHEsgMou78gF1JIDKIuvMDdiWByCDqzg/YlQQig6g7P6BLEkwGUXd+QJckmAyi7hyAGpAEk0PUnQ/QLQkmh6g7H6BbEkwOUXc+QLckgKxO3fkA3ZIAsjp15wMMSYLJ6tSdDzAkCSarU3eDgJogCSavU3fjgGFJMHmduhsHDEsCkbeou3HAsCSYvE7djQOGJcHkdepuHDAsCSavU3cDgJokCSCzUXdjgCmSAHIbdTcGmCIJILdRd2OAaZJgcht1NwaYJgkmt1F3Y4BpkmByG3U3BpgmCSa3UXckoCZLgslu1B0PmCoJJrtRdzxgqiSY7Ebd8YCpkmCyG3XHA6ZKgslu1B0PmCoJIL9SdwSgTpAEcI9K3XGAUyTB3KNSdzuA+3r8O0ATTr4BzmIugfql89YAAAAASUVORK5CYII=",
QUnit.start
);
});
QUnit.asyncTest('rotate3', 1, function() {
surfaceEqual(rotateSurface.rotate(45), "data:image/png;base64,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"
,
QUnit.start
);
});
QUnit.asyncTest('rotate4', 1, function() {
surfaceEqual(rotateSurface.rotate(0), "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAABGCAYAAAC+ANZHAAACx0lEQVRogc2ZvU0DQRSEX+AGyJwRWDTgjAqcUISLANECEQ2QOncDjkhxhujAAaIAAgKGgLVkLbO77+9kLG1y55v77p7v5pMsIiIiwP9dZwdQAkJkRfbuJPEDkQ9yjqvGt/8ALsnBr4lwFyT/CyIzLeCcBHwkAl6T/LfOEX8AZxD5rgK+21doBlwTwK0asISw38g8CfCBZD9YAV9JyDIJcEuy11bAHQlZJQG+kexrK+DGdpVquFl5YuvsCyvgIwm5SwC8sr8hOOAdCXpMALwhuc8eQPYq2CQA3pLcJw/gJHUHkSeSe+sBnKTuIPJMcm88gJPUHUyS0AdMrzuYJaED2Llad93BLAljwNS6a7wZOpIwBkytO5glYQyYWncwS8IYMLXuYJaEMWBa3cElCWPAtLqDSxLGgGl1B5ckjAHT6g4uSRgDptUdXJIwBkyrO7gkYQBYglPqrpEzkAQdYLju4JYEHWC47uCWBB1guO7glgQdYLju4JYEHWC47uCWBB1guO7glgQdYKjuEJIEHWCo7hCSBB1gqO4QkgQdYKjuEJIEBWA5ibvuEJIEPaC77hCSBD2gu+4ad18pCXpAV90hLAl6QFfdISwJekBX3SEsCXrAYd3h94V8WW0LSoIesFt3Be4AkfvquKAk6AGbdXcCB4i8VMcFJUEPSOuugjuuRTkmQRL0gK26q+FwHDNSJEEJWE7IXrhs7cv3EyTBBsjqrrUWSJEEGyCru9a6R4ok2ABZ3TXHjBRJsAGyugNE3hvbP8k2oyTYAFndHcrTulfcVYck2ADrujsc70j5zY0AHZJgA1wxuLJvoQB0SIINcMngTvaPxuyQBBvgvAVX9o/GvJ4acNZ7ChVjdkiCAVAV0x+zQxLyAVtjDv6NmwfYGrNTEpIBCyQbs1MSpgFkY3ZKwjSAbMxOSZgAsEDWY3ZKQhPwv66zA/TXDy2vLoEwImZNAAAAAElFTkSuQmCC",
QUnit.start
);
});
QUnit.asyncTest('rotate5', 1, function() {
surfaceEqual(rotateSurface.rotate(370), "data:image/png;base64,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"
,
QUnit.start
);
});
asyncTest('scale', 1, function() {
surfaceEqual(scaleSurface.scale( [20, 20]), "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAABUElEQVQ4jZXUL0hDURgF8CP4B8uiKxYtBhGDGDToC5ZZBOvWNRjEJFbFNkxisLhsFUz6ghO0LpgmWCaGoWDQCeox7Cjfm/e++97gwr2c8/14bxsXADmFxlOEmHO4fgcYh9Y47psRYkaIOYRO3WQEQBLYY/f0SaAPgQ+BU/WbPckfWFaBBCYygC/qHvnAGQOuBLBZ0131gcOmtB0Ad9T7JlBwgio+qHgSAC/Vu3GkCfBcxdsUbJDAl3q7IfBAxdcUsGS+msUQuGbKox6wqrzj/nslwQUDLnnAhvIzzzskwBEDbjiwosk3g6CG2ho4dIAVA05mBa80cOEAa8pabswNHmvokUCBwB2BsrKWsloecMu81u9qE5g250oecNkMvpn9s9kX84Bj7F5h6zrv9zxtw485QCEDZt9vfnkSqOYG/1WSd2UpI5h+5c+j/uG47l2LP1imc1AazyFjAAAAAElFTkSuQmCC",
QUnit.start
);
});
asyncTest('scale2', 1, function() {
surfaceEqual(scaleSurface.scale( [20, 35]),"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAjCAYAAACU9ioYAAABhklEQVRIia3UsW3CYBQE4HMXKKmZgIo2JRIDJBXsQMEGlAzAAJQoC1AgImUB2AGJDUKVIrk0z9Yz/PceSCBZwvLxyZa5A8AvgHzeAZLA2s7OuONDYGH5PwJdd6UBlxb4IVDdAW4sf7q60oBzd8+9O8CjZXcKnDpwkGAVgYtlVwocOXCUgH2XnSlw4ELTBBy77FiBPReaJ+DMZfsKrOwNk8AyAVeWu9z+Iwy04NmC6wTcWe5YuNoCDxbcJuDJcpsM3FrwEGBdawcJLDIwrR+BoXshkwxM60dg4sBhBqb106NQBtP66VEog2n99CiUwbB+8SiUwbB+8SiUwbB+8SgUQPuRrF88ChqU9YtHQYOt+hHoEHix78EoaLCpn2F7Am92LRgFDfr67WsgHwUN+vrVxzeBV3deGAUNTgsgCXy474VR0KCv36fdHQn8MhwFDdb129tL2Vzd6UljZbBXY3b+fgWKUdBgVWN23nGPHYyCAIuR9mOLUXgM9I8tRuEx0D+2GIUb8HnHPxV8dKapGsj4AAAAAElFTkSuQmCC",
QUnit.start
);
});
asyncTest('scale3', 1, function() {
surfaceEqual(scaleSurface.scale( [80, 140]), "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAACMCAYAAADr7S75AAAMP0lEQVR4nO2bb4xVxRnGH1gVVu0C4U/5l6wFTYVEQmuk2BZ4YRvFlhLSSG0aozY2pFpawA+aUBKbKEltjLWNDbE1rUnFahv6QaSaAC5Q+eNSCsSwAaQlbikgtLLsFrUu8PTDzD17s3PPuTPnnjMzm3iT+bDJubzP/O6cM3Pe5wEAAFAAtgPkJ8N1KHgrAe4PL2YwDrXy9gM8F17MYBxVf1yBvt4R6D42BX8/9gXs6RW0s9aYgx19s/BWz2dxuGsEuvfqHyGaMRr//ttM7D87Bzv65mLb5bR53IKO85NworMZH+xqQt8Oi3+7xkKr+mMEuo99BVvX/RLL1/0ZXz3WDmGtsRVtPZvwtSPP4zsvfxvr74d6DEQzvod1yzfgzr9sQVvvG5jflzaPjVjUuRZrHp+HbUsn4OTtFv92jUdd1R9jcObACjy9isAqAgcy1m03gYMEfk5gJiL5EBhCoInAPAKvEugl0Jcyh8sEdhJYSmAcgWEWFQTGZlv1xyi8v++7+PUDBB4gsC8DYC+BowR+ReDmssHYfjS8qwksJPCGhnc5Bd5FAu362mYCTRYVJBNgC853fAt/uI/AfQQ6MgBeINBF4HcEZpUNxvZDYBiBMQTuJLArQ38fgf8S2ERgLoGhBIZYVJBMgFfjwu42bLmLwF0EdmcI+IjAWQJ/JHBr2WBsPwSuJTCVwP0E9mbo/5DASQK/JzDbDh5QF+AwfPTmDBxcTGAxgTfr/IK9BDYS+LK9gHI/BEYR+DyBh5j9DO8hcJjAs26PoDoAm3Bx+0S8dxuB2whsT3l+kMAlAh8T2ExA7G+Bcj9Um8F8Aj8mcCgD4H/0I+qnBGY4VJBMgENwedtwfLhAQ9msIV1KEXFZQ76N6tkztCww1tMDJhJYQuBnVJtcGsD3CGwhsIbANIcKkgkQYPsVoOjbciOzjwHUt/liAi0EriwLjPX0gOsI3EPgNwSOZ+g+QWADgR8QuN6hgtQFCAXwVqoN4izVhpEmZDfVhvNpAsPLAmM9PeB6DWWDhpSm+7iGfA+B6xwqiC3AWVRHlC6qI0uakA6qI89nCFxTEhf76QHT9G25Rd+mabqP6tt8CYGJDhXEFuDNVIfko/o2ThOyj+rQPY1AS1lgrKcHzKDaGDqoNoo03YeoNpr5BMY5VBBbgDOpXtMOUr22pQk5QPXa9zkCI8sCYz099cM/S3VE6amj+yGqI88ohwpiC/AmAj8hsKfOL/k2gdUEvkhgdFlgrKam3oNnUx2OT1IdltN076U6bE8lcK1DFbEFOJ3Ao1TvimcyhHQSeIxAm9utUOxHwxtK9Vq2ieo1Lev0sIvqdW8MrZoISSWxBXgjgUcIvEbgVIaQIwSeJLCIwISyANWdlmoiNFM1BtqpGgVpTYQ+qkbDQqrGg0UTIakktgBvILCCwJ+YfRx4h8Az+tecXBagutNSB/lxVK2pnSnwyP5X0FepWl5NdHqDsgc4hcAyAi8SeDcD4D8IPEfgbgKtZQGqOy23JsJpAi8RmJ2jktgCbNVQntOQ0gS9qyEvIzClaDDW0+pvItRrBPfox45jEyGpJLYAJ+vb8hl9m6YJOqFv8xUEbigajPW0gLFU7+8lNRGSSmILcALVxvCk/sXSBJ2i2mgeIXBj0WCsp2XfRDhN1SRxbCIklcQW4Diqo8ljVEeVNEFnqHa9RwlMLxqM9bTUI6fEJkJSSWwBjqY6HK+mOixn3RJ7qA7dNxUNxnpa+ZoIrTkqiS3AkVSvZ4PCnWN/E2Gzvk3T9OZsIiSVxBZgixY1KNw5ujcRhMDYHJXEFuA1VC2qQeHOsb+JcIT1mwir6NxESCqJLcDhVE3SQeHOUTURXtK3bwlNhKSS2AK8Ut/GUbtzLD2JYFQUW4BDqd4vo3bnWHoSwagotgAr7aGo3TmWnkQwKooVQC1uCCN351h6EsGoKNYAtcCo3TmWnkQwKoorwKjdOZaeRDAqiivAqN05lp5EMCqKK8Co3TmWnkQwKoorwKjdOZaeRDAqiivAqN05lp5EMCqKK8Co3TmWnkQwKoorwKjdOZaeRDAqiivAaN05ekkiGFXFFWArI3Tn6C2JYFQWV4BRunP0lkQwKosrwCjdOXpLIhiVxRVglO4cvSURjMriCjBKd47ekghGZXEFGKU7R29JBKOyuAKM0p2jtySCUVlcAUbpztFbEsGoLK4Ao3Tn6C2JYFQWV4BRunP0lkQwKosrwCjdOXpLIhiVxRVglO4cvSURjMriBFCLjc6do7ckglFZnAFqwVG4c/SeRDAUSF6AUbhz9J5EMBRIXoBRuHP0nkQwFEhegFG4c/SeRDAUSF6AUbhz9J5EMBRIXoBRuHP0nkQwFEhegFG4c/SeRDAUSF6AUbhz9J5EMBRIXoBRuHP0nkQwFEhegK2MwJ2j9ySCoUDyAozCnaP3JIKhQPICjMKdo/ckgqFA8gIM7s4xSBLBUCF5AQZ15xgsiWAokbwAg7pzDJZEMJRIXoBB3TkGSyIYSiQvwKDuHIMlEQwlkhdgUHeOwZIIhhLJCzCoO8dgSQRDieQFGNSdY7AkgqFE8gIM6s4xWBLBUCK5AOpJBHPnGCyJYCiR3AD1RIK4cwyWRDCUSKMAg7hzDJZEMJRIowCDuHMMlkQwlEijAIO4cwyWRDCUSKMAvbpzDJ5EMBRJowC9unMMnkQwFEmjAL26cwyeRDAUSaMAvbpzDJ5EMBRJowC9unMMnkQwFEmjAFvp0Z1j8CSCoUgaBViIO8f+5kQzVavsKtZ4Z2bwJIKhSBoFWIg7p+GNJTCJwHh9q15V47rASQRDkTQKsCF3rmrlTSawgMDXCcyh2t0/VaNe4CSCoUgaBdiQO1e18hYQeIrAbwk8TOAOAuNr1AucRDAUSaMAc7lzNVbeaqq3hrcJvED13jy1Rr3ASYTiAeZy52qsvJ1Uz8nTVK2vmj4ygycRigfo6s6tp3rGDVx53VRd7cp1L+jrkg42o0giFA/Q1Z17haozPXDlVSyBixriFqrn1xgNMZIkQvEAXd25PQR+VGPlDbx+H4EHqZoVLYwmiVA8QFd37rQGN3DlDbz+MIEnqHdjRpNEKB6gqzv3P73q0lZeZXQReJl6N2Y0SYSCAVZBtHXnKisxCzSpjihv6VU4g9EkEUoACMDFnbMdtXbtNkbTREhmLkUBtHXnbMfA3XgGgW8yeBLBmLkUBdDWnXMdld34DgLLGU0TIZm5FAXQ1p1zHZXd+IcE1jJ4EsGYuRQF0Nadcx2V3fgXVI2GwEkEY+ZSFEBbd851VHbj1wi8zuBJBGPmUhRAW3euMipvDGm2ZGVUduNOqsfDO8x+xpacRDBmLkUBtHXnKqOP6szWw+xzY2U37qY6Ir1PdRhPu95TEyGZuRQF0Nadq36l20310v9PDemixffqvemUnEQwZi5FAWylnTv3sV5NO6maCg9TPdvqnR8va3CXGDSJYMxcigJYz52rrKBTGt5TVC2tBQSeptooGtm9PSURjJlLUQDruXPVK2+1BjeZavf+PtVRpasBgJ6SCMbMpSiAae5c2sobS9WiGk/1lvEE1aE5L0BPSQRj5lIUwDR3Lm3lDdO3WYtehQ8y21OpNzw3EZKZS1EAB7pzmSuv6nuVtNUSqsZBvd04bXhKIhgzl6IADnTnMlde1fcqHe05VK2rvN0cz02EZAZSFMCKO3cv+9v1qSuvxvdnUD0H8+7Gx+kliWAol6IAVty5b1Cd6zJXXo3vT9WrN+9u7LmJkCiXogBW3LkvUR1lrFZe1fcb3Y09JREM5VIUwIFRDauVV/X9RndjT0kEQ7kUBbDizjVTnQmtVl7V9xvdjT03ERLlUghAIIHYpGE4/adCNr4be0oiGMqlMICFyHHfjT0nEQzFEhtA193YcxLBUCyxAXTdjT0nEQzFEhtA193YcxLBUCyxAXTdjQM1ERLFEhtA193YcxLBUCxRAUxk2e/GgZoIiVKJFaDtbnycXpMIhlKJFaDtbhyoiZAolVgB2u7GnpMIhlKJFaDtbuw5iWAolVgB2u7GgZoIiVKpB3A/wJX6Qu/jXjy/bD3ufuV1LOzairYL7RBWj41Y1LkWax6fh21LJ+Dk7QE0rtSMUgGe0xe0hxgjce6v03HoX7Ox+8JcbL8oaGf1uAUd5yfhRGczPtjVhL4dATTu14xSAX4ynEdwAYN9BBcwuMf/AcjcR1dw3Ih2AAAAAElFTkSuQmCC",
QUnit.start
);
});
asyncTest('scale4', 1, function() {
surfaceEqual(scaleSurface.scale( [50, 70]), "data:image/png;base64,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",
QUnit.start
);
});