diff options
Diffstat (limited to 'includes/js/dojox/encoding/tests/compression')
11 files changed, 0 insertions, 851 deletions
diff --git a/includes/js/dojox/encoding/tests/compression/_base.js b/includes/js/dojox/encoding/tests/compression/_base.js deleted file mode 100644 index ec9d560..0000000 --- a/includes/js/dojox/encoding/tests/compression/_base.js +++ /dev/null @@ -1,12 +0,0 @@ -if(!dojo._hasResource["dojox.encoding.tests.compression._base"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojox.encoding.tests.compression._base"] = true; -dojo.provide("dojox.encoding.tests.compression._base"); - -try{ - dojo.require("dojox.encoding.tests.compression.splay"); - dojo.require("dojox.encoding.tests.compression.lzw"); -}catch(e){ - doh.debug(e); -} - -} diff --git a/includes/js/dojox/encoding/tests/compression/colors.js b/includes/js/dojox/encoding/tests/compression/colors.js deleted file mode 100644 index caedbb1..0000000 --- a/includes/js/dojox/encoding/tests/compression/colors.js +++ /dev/null @@ -1,156 +0,0 @@ -if(!dojo._hasResource["dojox.encoding.tests.compression.colors"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojox.encoding.tests.compression.colors"] = true; -dojo.provide("dojox.encoding.tests.compression.colors"); - -// all CSS3 colors -dojox.encoding.tests.compression.colors = { -aliceblue: [240,248,255], -antiquewhite: [250,235,215], -aqua: [0,255,255], -aquamarine: [127,255,212], -azure: [240,255,255], -beige: [245,245,220], -bisque: [255,228,196], -black: [0,0,0], -blanchedalmond: [255,235,205], -blue: [0,0,255], -blueviolet: [138,43,226], -brown: [165,42,42], -burlywood: [222,184,135], -cadetblue: [95,158,160], -chartreuse: [127,255,0], -chocolate: [210,105,30], -coral: [255,127,80], -cornflowerblue: [100,149,237], -cornsilk: [255,248,220], -crimson: [220,20,60], -cyan: [0,255,255], -darkblue: [0,0,139], -darkcyan: [0,139,139], -darkgoldenrod: [184,134,11], -darkgray: [169,169,169], -darkgreen: [0,100,0], -darkgrey: [169,169,169], -darkkhaki: [189,183,107], -darkmagenta: [139,0,139], -darkolivegreen: [85,107,47], -darkorange: [255,140,0], -darkorchid: [153,50,204], -darkred: [139,0,0], -darksalmon: [233,150,122], -darkseagreen: [143,188,143], -darkslateblue: [72,61,139], -darkslategray: [47,79,79], -darkslategrey: [47,79,79], -darkturquoise: [0,206,209], -darkviolet: [148,0,211], -deeppink: [255,20,147], -deepskyblue: [0,191,255], -dimgray: [105,105,105], -dimgrey: [105,105,105], -dodgerblue: [30,144,255], -firebrick: [178,34,34], -floralwhite: [255,250,240], -forestgreen: [34,139,34], -fuchsia: [255,0,255], -gainsboro: [220,220,220], -ghostwhite: [248,248,255], -gold: [255,215,0], -goldenrod: [218,165,32], -gray: [128,128,128], -green: [0,128,0], -greenyellow: [173,255,47], -grey: [128,128,128], -honeydew: [240,255,240], -hotpink: [255,105,180], -indianred: [205,92,92], -indigo: [75,0,130], -ivory: [255,255,240], -khaki: [240,230,140], -lavender: [230,230,250], -lavenderblush: [255,240,245], -lawngreen: [124,252,0], -lemonchiffon: [255,250,205], -lightblue: [173,216,230], -lightcoral: [240,128,128], -lightcyan: [224,255,255], -lightgoldenrodyellow: [250,250,210], -lightgray: [211,211,211], -lightgreen: [144,238,144], -lightgrey: [211,211,211], -lightpink: [255,182,193], -lightsalmon: [255,160,122], -lightseagreen: [32,178,170], -lightskyblue: [135,206,250], -lightslategray: [119,136,153], -lightslategrey: [119,136,153], -lightsteelblue: [176,196,222], -lightyellow: [255,255,224], -lime: [0,255,0], -limegreen: [50,205,50], -linen: [250,240,230], -magenta: [255,0,255], -maroon: [128,0,0], -mediumaquamarine: [102,205,170], -mediumblue: [0,0,205], -mediumorchid: [186,85,211], -mediumpurple: [147,112,219], -mediumseagreen: [60,179,113], -mediumslateblue: [123,104,238], -mediumspringgreen: [0,250,154], -mediumturquoise: [72,209,204], -mediumvioletred: [199,21,133], -midnightblue: [25,25,112], -mintcream: [245,255,250], -mistyrose: [255,228,225], -moccasin: [255,228,181], -navajowhite: [255,222,173], -navy: [0,0,128], -oldlace: [253,245,230], -olive: [128,128,0], -olivedrab: [107,142,35], -orange: [255,165,0], -orangered: [255,69,0], -orchid: [218,112,214], -palegoldenrod: [238,232,170], -palegreen: [152,251,152], -paleturquoise: [175,238,238], -palevioletred: [219,112,147], -papayawhip: [255,239,213], -peachpuff: [255,218,185], -peru: [205,133,63], -pink: [255,192,203], -plum: [221,160,221], -powderblue: [176,224,230], -purple: [128,0,128], -red: [255,0,0], -rosybrown: [188,143,143], -royalblue: [65,105,225], -saddlebrown: [139,69,19], -salmon: [250,128,114], -sandybrown: [244,164,96], -seagreen: [46,139,87], -seashell: [255,245,238], -sienna: [160,82,45], -silver: [192,192,192], -skyblue: [135,206,235], -slateblue: [106,90,205], -slategray: [112,128,144], -slategrey: [112,128,144], -snow: [255,250,250], -springgreen: [0,255,127], -steelblue: [70,130,180], -tan: [210,180,140], -teal: [0,128,128], -thistle: [216,191,216], -tomato: [255,99,71], -turquoise: [64,224,208], -violet: [238,130,238], -wheat: [245,222,179], -white: [255,255,255], -whitesmoke: [245,245,245], -yellow: [255,255,0], -yellowgreen: [154,205,50] -}; - -} diff --git a/includes/js/dojox/encoding/tests/compression/colors2.html b/includes/js/dojox/encoding/tests/compression/colors2.html deleted file mode 100644 index 24bb9fe..0000000 --- a/includes/js/dojox/encoding/tests/compression/colors2.html +++ /dev/null @@ -1,104 +0,0 @@ -<html> - <head> - <title>Compress colors</title> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - <style type="text/css"> - @import "../../../../dojo/resources/dojo.css"; - @import "../../../../dijit/tests/css/dijitTests.css"; - - .pane { margin-top: 2em; } - </style> - <script type="text/javascript" src="../../../../dojo/dojo.js" djConfig="isDebug: true"></script> - <script type="text/javascript"> - dojo.require("dojox.encoding.tests.compression.colors"); - dojo.require("dojox.encoding.ascii85"); - dojo.require("dojox.encoding.bits"); - dojo.require("dojox.encoding.compression.splay"); - dojo.require("dojox.encoding.compression.lzw"); - - var dc = dojox.encoding, dcc = dc.compression, colors = dc.tests.compression.colors; - - var run = function(){ - var empty = {}, names = []; - for(var i in colors){ - if(i in empty){ continue; } - names.push(i); - } - names.sort(); - var output = new dc.bits.OutputStream(), result = []; - // encode names - var s = names.join("{"), encoder = new dcc.lzw.Encoder(27); - result.push("<div>Input is " + s.length + " bytes long.</div>"); - result.push("<div>Input: " + s + ".</div>"); - for(var i = 0; i < s.length; ++i){ - var v = s.charCodeAt(i) - 97; - if(v < 0 || v > 26) console.debug("error!", v); - encoder.encode(v, output); - } - encoder.flush(output); - var w = output.getWidth(); - result.push("<div>Output is " + Math.ceil(w / 8) + " bytes (" + w + " bits) long.</div>"); - var buf = output.getBuffer(); - { - var input = new dc.bits.InputStream(buf, buf.length * 8), decoder = new dcc.lzw.Decoder(27); - var t = []; - for(var w = 0; w < s.length;){ - var v = decoder.decode(input); - t.push(v); - w += v.length; - } - t = t.join(""); - var p = []; - for(var i = 0; i < t.length; ++i){ - p.push(String.fromCharCode(t.charCodeAt(i) + 97)); - } - p = p.join(""); - result.push("<div>Control: " + p + ".</div>"); - } - while(buf.length % 4){ buf.push(0); } - var a85 = dc.ascii85.encode(buf); - result.push("<div>Encoded output is " + a85.length + " bytes.</div>"); - result.push("<div><textarea>" + a85 + "</textarea></div>"); - // test - { - var buf = dc.ascii85.decode(a85); - var input = new dc.bits.InputStream(buf, buf.length * 8), decoder = new dcc.lzw.Decoder(27); - var t = []; - for(var w = 0; w < s.length;){ - var v = decoder.decode(input); - t.push(v); - w += v.length; - } - t = t.join(""); - var p = []; - for(var i = 0; i < t.length; ++i){ - p.push(String.fromCharCode(t.charCodeAt(i) + 97)); - } - p = p.join(""); - result.push("<div>Control: " + p + ".</div>"); - } - // encode values - buf = []; - for(var i = 0; i < names.length; ++i){ - var c = colors[names[i]]; - buf.push(c[0], c[1], c[2]); - } - result.push("<div>Output is " + buf.length + " bytes long.</div>"); - while(buf.length % 4){ buf.push(0); } - a85 = dc.ascii85.encode(buf); - result.push("<div>Encoded output is " + a85.length + " bytes.</div>"); - result.push("<div><textarea>" + a85 + "</textarea></div>"); - dojo.byId("status").innerHTML = result.join("\n"); - }; - - dojo.addOnLoad(function(){ - dojo.connect(dojo.byId("run"), "onclick", run); - }); - </script> - </head> - <body> - <h1>Compress colors</h1> - <p><button id="run">Run</button></p> - <div id="status" class="pane"><em>No status yet.</em></div> - </body> -</html> diff --git a/includes/js/dojox/encoding/tests/compression/colors2.js b/includes/js/dojox/encoding/tests/compression/colors2.js deleted file mode 100644 index 52f9186..0000000 --- a/includes/js/dojox/encoding/tests/compression/colors2.js +++ /dev/null @@ -1,64 +0,0 @@ -if(!dojo._hasResource["dojox.encoding.tests.compression.colors2"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojox.encoding.tests.compression.colors2"] = true; -dojo.provide("dojox.encoding.tests.compression.colors2"); - -// all CSS3 colors -dojox.encoding.tests.compression.colors2 = {}; - -(function(){ - var n = "!mi-='%@Md%8;F\"=E5(:$@nHf!(;HYAOL),#XJKa#UHDMYQ0@q6C8='JBa#m1`YRS;3_\\P=@.(bN\\!)0d:Nar*Fo]]G`\\[X7Cb@r#pc;D3!k*8^\"bS8DAYbu'J5[`7Fh5S1e8`@1^N\"n8R:+ZQt]Ab.S>NP-jkO\"N$oQpbVbYtZl1&rSs%_;'!e8\"ij:*R!%9&P.+o0%cF&0F<\"eWn+rm!a<(02!d\\-J\\O@`K![IaPrqh6H4S!U<Nh]PS,\"!C;0W&Y]X[<[E&`1gQ?_;g\\mbQn^c!eV!05V['T@)Lio1O0QV>7CU!\"5jICR2\\X?!FilaO:$aE\"G1NIfMJ<.)1d;?OH9VU%LiGhi9=d?$EjW!BM0)1mGfg@\"os1\\E*A>+>YdjUK:P>T'7tj.UQ?<89]$:\\Li]GF*H8o*Z,o]Q_E]tq?C^%'^cfU9B9sH-^t.-R;J6P9!buNg*%$9#>Y'*n;MPc7=>*]sb&NmgKSZcd2nWt6I@SX7agi3!0)M'T3O@@/>W+I:H9?@A7tjT8':(9PG\\m@_T8Ws\\\".VLCkg7IYKZ7M3.XQqX$4V`bEQF?<#jJ>#4Z#6:ZeYffa.W#0CW3@s2*ESkiD6hN#EAhXBm5F%&U_=k*tFq@rYS/!:$=M9epZ<`=HN:X\"!CRI(`>iqTRe(S@A\"&0!Dib&)1p9P)$NZb^e+i_UHHq\\_8AYC+oiIMLj_TW=u'3Nn?c=#_6Z^s/;EY/3Z(cZ\"CaOq6g>>I+;'H>Nh`>\"-3N</&5*&\\7KQKk5tM(]O9-gi%iL^#RH+KW@$+oOOO9;*#)6$,]ge#)$j.>DnX+!(g67=pRcf38l7XNQ:_FJ,l2V)C@@A;H1dN#\\$n75qg6-:\".KQkn!?a7e\"J7C0p3Pn`]hKrG_4WG*5qo\\tH,20o2QOZljnj_lZ&C6!.u8Qu:_L$8$4.[V@`&A0J,fQL"; - var c = "nG*%[ldl.:s*t'unGiO]p\"]T._uKc;s6Io0!<7p,ih\\+ShRJ>JStLT5!7GR&s*mjUQ0nVHgtWT+!<<'!!/gi8Mn\"KLWMuisA,rU.WP,cVMZAZ8CG5^H!1>UdMZ<bAQ?nV)O%;El02G@s:JUu9d?FX[rtLXs^]/\"^Bk_9q*g$E-+sR'`n03c7rrE)Sgt_]\"s8U[Ng8,pBJ:IWM!3Q8SJ:N1>s7$&&[*;i\\9)sSDs7#O?N99:!s7#]/quHcnc)oX\\n:6&Is8VrldaQ[oORA4Ze'n?*_>g0S+L8#&cMDa@R<OITYf,Dus53nW!&DeSqXEYI!<7QL!+sKU!!(9T<R[.NgH;f^HYDgIqO0t&bf:HP)&[Dds8)cViW%uHs5'jX!.b%@k(%s^CQ9Y>V#^Na!8;DCmc^[<qj=STmb;]Es6nM<g:>I^5QAOBh4WT.i9#OiJH#TL]T8+>C#Ot='Dd6\"oV>kIMc]rOm\\!H0^qda@cKf4Kc#A2pE.F&MqYC3lIn#$sd^4r5J:Q:ef`,GO5iC#WK'r<gZiC(*p%A\"XrrAM41&q:S"; - var a = function(s){ - var n = s.length, r = [], b = [0, 0, 0, 0, 0], i, j, t, x, y, d; - for(i = 0; i < n; i += 5){ - for(j = 0; j < 5; ++j){ b[j] = s.charCodeAt(i + j) - 33; } - t = (((b[0] * 85 + b[1]) * 85 + b[2]) * 85 + b[3]) * 85 + b[4]; - x = t & 255; t >>>= 8; y = t & 255; t >>>= 8; - r.push(t >>> 8, t & 255, y, x); - } - return r; - }; - var B = function(f){ this.f = f; this.y = this.t = 0; }; - B.prototype.g = function(b){ - var r = 0; - while(b){ - var w = Math.min(b, 8 - this.t), v = this.f[this.y] >>> (8 - this.t - w); - r <<= w; r |= v & ~(~0 << w); - if((this.t += w) == 8){ ++this.y; this.t = 0; } - b -= w; - } - return r; - }; - var D = function(n, w){ - this.c = new Array(n); this.w = w; this.p = -1; - for(var i = 0; i < n; ++i){ this.c[i] = [i + 97]; } - }; - D.prototype.d = function(s){ - var c = s.g(this.w), v; - if(c < this.c.length){ - v = this.c[c]; - if(this.p >= 0){ - this.c.push(this.c[this.p].concat(v[0])); - } - }else{ - this.c.push([]); - ++this.w; - return []; - } - this.p = c; - return v; - }; - var i = new B(a(n)), d = new D(27, 5), t = []; - while(t.length < 1455){ - var v = d.d(i); - dojo.forEach(v, function(x){ t.push(x); }); - } - var n2 = dojo.map(t, function(x){ return String.fromCharCode(x); }).join("").split("{"); - i = a(c); - for(var j = 0, k = 0; j < n2.length; ++j){ - dojox.encoding.tests.compression.colors2[n2[j]] = [i[k++], i[k++], i[k++]]; - } - -})(); - -} diff --git a/includes/js/dojox/encoding/tests/compression/colors3.html b/includes/js/dojox/encoding/tests/compression/colors3.html deleted file mode 100644 index 482c75d..0000000 --- a/includes/js/dojox/encoding/tests/compression/colors3.html +++ /dev/null @@ -1,104 +0,0 @@ -<html> - <head> - <title>Compress colors</title> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - <style type="text/css"> - @import "../../../../dojo/resources/dojo.css"; - @import "../../../../dijit/tests/css/dijitTests.css"; - - .pane { margin-top: 2em; } - </style> - <script type="text/javascript" src="../../../../dojo/dojo.js" djConfig="isDebug: true"></script> - <script type="text/javascript"> - dojo.require("dojox.encoding.tests.compression.colors"); - dojo.require("dojox.encoding.easy64"); - dojo.require("dojox.encoding.bits"); - dojo.require("dojox.encoding.compression.splay"); - dojo.require("dojox.encoding.compression.lzw"); - - var dc = dojox.encoding, dcc = dc.compression, colors = dc.tests.compression.colors; - - var run = function(){ - var empty = {}, names = []; - for(var i in colors){ - if(i in empty){ continue; } - names.push(i); - } - names.sort(); - var output = new dc.bits.OutputStream(), result = []; - // encode names - var s = names.join("{"), encoder = new dcc.lzw.Encoder(27); - result.push("<div>Input is " + s.length + " bytes long.</div>"); - result.push("<div>Input: " + s + ".</div>"); - for(var i = 0; i < s.length; ++i){ - var v = s.charCodeAt(i) - 97; - if(v < 0 || v > 26) console.debug("error!", v); - encoder.encode(v, output); - } - encoder.flush(output); - var w = output.getWidth(); - result.push("<div>Output is " + Math.ceil(w / 8) + " bytes (" + w + " bits) long.</div>"); - var buf = output.getBuffer(); - { - var input = new dc.bits.InputStream(buf, buf.length * 8), decoder = new dcc.lzw.Decoder(27); - var t = []; - for(var w = 0; w < s.length;){ - var v = decoder.decode(input); - t.push(v); - w += v.length; - } - t = t.join(""); - var p = []; - for(var i = 0; i < t.length; ++i){ - p.push(String.fromCharCode(t.charCodeAt(i) + 97)); - } - p = p.join(""); - result.push("<div>Control: " + p + ".</div>"); - } - while(buf.length % 3){ buf.push(0); } - var e64 = dc.easy64.encode(buf); - result.push("<div>Encoded output is " + e64.length + " bytes.</div>"); - result.push("<div><textarea>" + e64 + "</textarea></div>"); - // test - { - var buf = dc.easy64.decode(e64); - var input = new dc.bits.InputStream(buf, buf.length * 8), decoder = new dcc.lzw.Decoder(27); - var t = []; - for(var w = 0; w < s.length;){ - var v = decoder.decode(input); - t.push(v); - w += v.length; - } - t = t.join(""); - var p = []; - for(var i = 0; i < t.length; ++i){ - p.push(String.fromCharCode(t.charCodeAt(i) + 97)); - } - p = p.join(""); - result.push("<div>Control: " + p + ".</div>"); - } - // encode values - buf = []; - for(var i = 0; i < names.length; ++i){ - var c = colors[names[i]]; - buf.push(c[0], c[1], c[2]); - } - result.push("<div>Output is " + buf.length + " bytes long.</div>"); - while(buf.length % 4){ buf.push(0); } - e64 = dc.easy64.encode(buf); - result.push("<div>Encoded output is " + e64.length + " bytes.</div>"); - result.push("<div><textarea>" + e64 + "</textarea></div>"); - dojo.byId("status").innerHTML = result.join("\n"); - }; - - dojo.addOnLoad(function(){ - dojo.connect(dojo.byId("run"), "onclick", run); - }); - </script> - </head> - <body> - <h1>Compress colors</h1> - <p><button id="run">Run</button></p> - <div id="status" class="pane"><em>No status yet.</em></div> - </body> -</html> diff --git a/includes/js/dojox/encoding/tests/compression/colors3.js b/includes/js/dojox/encoding/tests/compression/colors3.js deleted file mode 100644 index f0a1587..0000000 --- a/includes/js/dojox/encoding/tests/compression/colors3.js +++ /dev/null @@ -1,53 +0,0 @@ -if(!dojo._hasResource["dojox.encoding.tests.compression.colors3"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojox.encoding.tests.compression.colors3"] = true; -dojo.provide("dojox.encoding.tests.compression.colors3"); - -// all CSS3 colors -dojox.encoding.tests.compression.colors3 = {}; - -(function(){ - var n = "!N!C@\",5%;!.4)1D7()4E!K!FS-!2).Q:52E`!B\"!;!)*+I!M!#&'E+9%(#!T9Q=.\"TE5F'6%$B91H/)DCQW=^&G#QY>:\"!!?*#D.57Z.]5**+0]/!G!!,X=/%2O'%1U&#W9%%86_BQU3#!N.!DA-%F>X'#9;6\"%+EK)X#A+A;+-+\"G\"T$76:L1;)'+?ENA1%L+C\\O+U+\"Q!+#,E+.E1H-[VA#\"5%O\\X)BS:%V2&2#,3I0NWE%F7?L8U!U\\\\B3C_GZ?P3N]A3\\]$)%TUK$E9EL6ZA`T%IFY$Q?/3;=Q)$QE#AQ\\11$&M!'$$XK!T?2%C7QU\"110A#/#:'U=C!7,\"=*!+BQ)%AG[)W&#CFBG\"A!/1E!5/$AU\"A/$J:*E+LQ77;%M6H/XD,H1'!)#U=&K1\"&R02U'$H5*[%Y+$3;/1'#\"-XQV8C(/GABVQQW+RS5U3QE!V<6[=YS@!0=1!:Z=93M$7W\":3;!Z0!GJM'\"QGAJ*=3(C&5I=0,6AP6H4+=:M:B)CO-D?]<,2^H-`7S<E8%#\\\\G=1ZM^B)8$9VJHI]>EB(B5N5%Z9P!8BM`FK@D!9*!ZQ]]/D1SF[%RG.D+HO(8QI.BK.RS*/C#/GJOTUU/WSTX19$R[$T#'P&L\"]V03\\_Y5_UH!?/!;\"J>YHO%8S_`2]/H`T_'%?B4?AX!.:^X!Z9E0A!!S\"5M\"A:2^?AA2R*9;!.!!&1!!E:AN)7'16,AM\"+\"Y'D0.'*Q=.%!S)!'*S)@5*$7D*9H@#U710\"MUG4,)<Q;DI95OE%9DY\"1_I4E3!2C7+/I[+\"*A0E!\"\",!>Z'!F-%15E\"\"J!#+$A0':>#G?1%8G#29I31U:2H\"I:3A<V'DC!-!RB2]:BI;>K4C&C;ZY\"J[C]HG6!3&*4K!!AP9:IA#T2\"'A%-+9]WWJ*MU3I\"MWY\")$79\"*]QZ@:[ZZ#^43G=Q;!P)E%QN3RZQ4!Y.KP\"J_8\\B/3RD#S6+YB]*&!3M6A+#2Q'9M-&DI!!"; - var c = "]0D`_OP8!0``@``5]0``^@8=`_4%!!!!`_P.!!$`CCPCJ3IKXLC(8Z[A@`]!UGE?`X^1:*8N``D=X\"1]!0``!!#,!)O,O)9,K;GJ!'1!K;GJP<>LCQ#,67MP`YQ!G4,-CQ!![::[D\\S03$W,,U^0,U^0!-\\2F!$4`R34!,``;7FJ;7FJ(J$`MC)C``LQ)IMC`Q$`X.T=_0D``^=!WK5AA)#!!)!!L@]PA)#!]0`Q`WGUT6R=3Q##```Q]/;-ZO<[``$V@0Q!``L.L>DG])#!Y0``_PL3U^04E/[1U^04`\\<\"`[\"[),+KB]\\[>YC:>YC:M-4?```A!0]!-MUS_P$G`Q$`A!!!:MWK!!$.OF84EX$<0,.R?WDO!0K;3.(-RR7&'2FQ^@`[`_4B`_3V`^[N!!#!`@8GA)!!;YYD`[5!`U5!WH$7\\OCKG0O9L_\\OWX#4`_`6`^KZT95``]$,X;$>M/$GA!#!`Q!!P)_017HBCU54_I\"S^+2A,IN8``8OI&)NQ-$!B]\\L;FL.=)#1=)#1``L[!0^`2I+UUL3-!)#!W,`9`W.(1/$1\\I,O^>[T````^@8V``]!GMUS!!!!"; - var B = function(f){ var t = this; t.f = f; t.y = t.t = 0; t.x = f.charCodeAt(0) - 33; }; - B.prototype.g = function(b){ - var r = 0, t = this; - while(b){ - var w = Math.min(b, 6 - t.t), v = t.x >>> (6 - t.t - w); - r <<= w; r |= v & ~(~0 << w); - if((t.t += w) == 6){ t.x = t.f.charCodeAt(++t.y) - 33; t.t = 0; } - b -= w; - } - return r; - }; - var D = function(n, w){ - this.c = new Array(n); this.w = w; this.p = -1; - for(var i = 0; i < n; ++i){ this.c[i] = [i + 97]; } - }; - D.prototype.d = function(s){ - var c = s.g(this.w), t = this, v; - if(c < t.c.length){ - v = t.c[c]; - if(t.p >= 0){ - t.c.push(t.c[t.p].concat(v[0])); - } - }else{ - t.c.push([]); - ++t.w; - return []; - } - t.p = c; - return v; - }; - var i = new B(n), d = new D(27, 5), t = []; - while(t.length < 1455){ - var v = d.d(i); - dojo.forEach(v, function(x){ t.push(x); }); - } - var n2 = dojo.map(t, function(x){ return String.fromCharCode(x); }).join("").split("{"); - i = new B(c); - for(var j = 0; j < n2.length; ++j){ - dojox.encoding.tests.compression.colors3[n2[j]] = [i.g(8), i.g(8), i.g(8)]; - } -})(); - -} diff --git a/includes/js/dojox/encoding/tests/compression/lzw.js b/includes/js/dojox/encoding/tests/compression/lzw.js deleted file mode 100644 index 7956a0e..0000000 --- a/includes/js/dojox/encoding/tests/compression/lzw.js +++ /dev/null @@ -1,54 +0,0 @@ -if(!dojo._hasResource["dojox.encoding.tests.compression.lzw"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojox.encoding.tests.compression.lzw"] = true; -dojo.provide("dojox.encoding.tests.compression.lzw"); -dojo.require("dojox.encoding.compression.lzw"); -dojo.require("dojox.encoding.bits"); - -(function(){ - var msg1 = "The rain in Spain falls mainly on the plain."; - var msg2 = "The rain in Spain falls mainly on the plain.1"; - var msg3 = "The rain in Spain falls mainly on the plain.ab"; - var msg4 = "The rain in Spain falls mainly on the plain.!@#"; - var dc = dojox.encoding.compression, dcb = dojox.encoding.bits, dcl = dc.lzw; - - var s2b = function(s){ - var b = []; - for(var i = 0; i < s.length; ++i){ - b.push(s.charCodeAt(i)); - } - return b; - }; - - var b2s = function(b){ - var s = []; - dojo.forEach(b, function(c){ s.push(String.fromCharCode(c)); }); - return s.join(""); - }; - - var encode = function(msg){ - var x = new dcb.OutputStream(), encoder = new dcl.Encoder(128); - dojo.forEach(s2b(msg), function(v){ encoder.encode(v, x); }); - encoder.flush(x); - console.debug("bits =", x.getWidth()); - return x.getBuffer(); - }; - - var decode = function(n, buf){ - var x = new dcb.InputStream(buf, buf.length * 8), decoder = new dcl.Decoder(128), t = [], w = 0; - while(w < n){ - var v = decoder.decode(x); - t.push(v); - w += v.length; - } - return t.join(""); - }; - - tests.register("dojox.encoding.tests.compression.lzw", [ - function testLzwMsg1(t){ t.assertEqual(msg1, decode(msg1.length, encode(msg1))); }, - function testLzwMsg2(t){ t.assertEqual(msg2, decode(msg2.length, encode(msg2))); }, - function testLzwMsg3(t){ t.assertEqual(msg3, decode(msg3.length, encode(msg3))); }, - function testLzwMsg4(t){ t.assertEqual(msg4, decode(msg4.length, encode(msg4))); } - ]); -})(); - -} diff --git a/includes/js/dojox/encoding/tests/compression/runTests.html b/includes/js/dojox/encoding/tests/compression/runTests.html deleted file mode 100644 index 4a24eef..0000000 --- a/includes/js/dojox/encoding/tests/compression/runTests.html +++ /dev/null @@ -1,9 +0,0 @@ -<html> - <head> - <title>DojoX Compression Unit Test Runner</title> - <meta http-equiv="REFRESH" content="0;url=../../../../util/doh/runner.html?testModule=dojox.encoding.tests.compression._base" /> - </head> - <body> - <p>Redirecting to D.O.H runner.</p> - </body> -</html> diff --git a/includes/js/dojox/encoding/tests/compression/splay.js b/includes/js/dojox/encoding/tests/compression/splay.js deleted file mode 100644 index 44d157c..0000000 --- a/includes/js/dojox/encoding/tests/compression/splay.js +++ /dev/null @@ -1,49 +0,0 @@ -if(!dojo._hasResource["dojox.encoding.tests.compression.splay"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojox.encoding.tests.compression.splay"] = true; -dojo.provide("dojox.encoding.tests.compression.splay"); -dojo.require("dojox.encoding.compression.splay"); -dojo.require("dojox.encoding.bits"); - -(function(){ - var msg1 = "The rain in Spain falls mainly on the plain."; - var msg2 = "The rain in Spain falls mainly on the plain.1"; - var msg3 = "The rain in Spain falls mainly on the plain.ab"; - var msg4 = "The rain in Spain falls mainly on the plain.!@#"; - var dc = dojox.encoding.compression, dcb = dojox.encoding.bits; - - var s2b = function(s){ - var b = []; - for(var i = 0; i < s.length; ++i){ - b.push(s.charCodeAt(i)); - } - return b; - }; - - var b2s = function(b){ - var s = []; - dojo.forEach(b, function(c){ s.push(String.fromCharCode(c)); }); - return s.join(""); - }; - - var encode = function(msg){ - var x = new dcb.OutputStream(), encoder = new dc.Splay(256); - dojo.forEach(s2b(msg), function(v){ encoder.encode(v, x); }); - console.debug("bits =", x.getWidth()); - return x.getBuffer(); - }; - - var decode = function(n, buf){ - var x = new dcb.InputStream(buf, buf.length * 8), decoder = new dc.Splay(256), t = []; - for(var i = 0; i < n; ++i){ t.push(decoder.decode(x)); } - return b2s(t); - }; - - tests.register("dojox.encoding.tests.compression.splay", [ - function testSplayMsg1(t){ t.assertEqual(msg1, decode(msg1.length, encode(msg1))); }, - function testSplayMsg2(t){ t.assertEqual(msg2, decode(msg2.length, encode(msg2))); }, - function testSplayMsg3(t){ t.assertEqual(msg3, decode(msg3.length, encode(msg3))); }, - function testSplayMsg4(t){ t.assertEqual(msg4, decode(msg4.length, encode(msg4))); } - ]); -})(); - -} diff --git a/includes/js/dojox/encoding/tests/compression/test.html b/includes/js/dojox/encoding/tests/compression/test.html deleted file mode 100644 index 8f07c59..0000000 --- a/includes/js/dojox/encoding/tests/compression/test.html +++ /dev/null @@ -1,61 +0,0 @@ -<html> - <head> - <title>Test colors</title> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - <style type="text/css"> - @import "../../../../dojo/resources/dojo.css"; - @import "../../../../dijit/tests/css/dijitTests.css"; - - .pane { margin-top: 2em; } - </style> - <script type="text/javascript" src="../../../../dojo/dojo.js" djConfig="isDebug: true"></script> - <script type="text/javascript" src="colors2.js"></script> - <script type="text/javascript"> - dojo.require("dojox.encoding.tests.compression.colors"); - //dojo.require("dojox.encoding.tests.compression.colors2"); - dojo.require("dojox.encoding.tests.compression.colors3"); - var dct = dojox.encoding.tests.compression; - - var test = function(c1, c2, result){ - var empty = {}; - for(var i in c1){ - if(i in empty){ continue; } - if(!(i in c2)){ - result.push("<div>" + i + " is missing.</div>"); - continue; - } - var v1 = c1[i], v2 = c2[i]; - if(v1[0] != v2[0] || v1[1] != v2[1] || v1[2] != v2[2]){ - result.push("<div>" + i + " doesn't match.</div>"); - continue; - } - result.push("<div style='color: green'>" + i + " is ok.</div>"); - } - }; - - var run = function(){ - var result = []; - result.push("<p><strong>Comparing colors to colors3.</strong></p>"); - test(dct.colors, dct.colors3, result); - result.push("<p><strong>Comparing colors3 to colors.</strong></p>"); - test(dct.colors3, dct.colors, result); - /* - result.push("<p><strong>Comparing colors to colors2.</strong></p>"); - test(dct.colors, dct.colors2, result); - result.push("<p><strong>Comparing colors2 to colors.</strong></p>"); - test(dct.colors2, dct.colors, result); - */ - dojo.byId("status").innerHTML = result.join("\n"); - }; - - dojo.addOnLoad(function(){ - dojo.connect(dojo.byId("run"), "onclick", run); - }); - </script> - </head> - <body> - <h1>Test colors</h1> - <p><button id="run">Run</button></p> - <div id="status" class="pane"><em>No status yet.</em></div> - </body> -</html> diff --git a/includes/js/dojox/encoding/tests/compression/vq.html b/includes/js/dojox/encoding/tests/compression/vq.html deleted file mode 100644 index 7805bd4..0000000 --- a/includes/js/dojox/encoding/tests/compression/vq.html +++ /dev/null @@ -1,185 +0,0 @@ -<html> - <head> - <title>Compress colors using VQ</title> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - <style type="text/css"> - @import "../../../../dojo/resources/dojo.css"; - @import "../../../../dijit/tests/css/dijitTests.css"; - - .pane { margin-top: 2em; } - </style> - <script type="text/javascript" src="../../../../dojo/dojo.js" djConfig="isDebug: true"></script> - <script type="text/javascript"> - dojo.require("dojox.encoding.tests.compression.colors"); - dojo.require("dojox.encoding.compression.splay"); - dojo.require("dojox.encoding.bits"); - - var colors = dojox.encoding.tests.compression.colors; - - var dist = function(a, b){ - var r = a[0] - b[0], g = a[1] - b[1], b = a[2] - b[2]; - return r * r + g * g + b * b; - }; - - var hexcolor = function(c){ - return "#" + (c[0] < 16 ? "0" : "") + c[0].toString(16) + - (c[1] < 16 ? "0" : "") + c[1].toString(16) + - (c[2] < 16 ? "0" : "") + c[2].toString(16); - }; - - var maxdist = function(a, b, maxdist){ - var r = Math.abs(a[0] - b[0]), g = Math.abs(a[1] - b[1]), b = Math.abs(a[2] - b[2]); - ++maxdist[bits(r)]; - ++maxdist[bits(g)]; - ++maxdist[bits(b)]; - }; - - var encodeColor = function(a, b, splay, stream){ - var r = a[0] - b[0], g = a[1] - b[1], b = a[2] - b[2]; - stream.putBits(r < 0 ? 1 : 0, 1); - splay.encode(Math.abs(r), stream); - stream.putBits(g < 0 ? 1 : 0, 1); - splay.encode(Math.abs(g), stream); - stream.putBits(b < 0 ? 1 : 0, 1); - splay.encode(Math.abs(b), stream); - }; - - var bits = function(x){ - var w = 1; - for(var v = 2; x >= v; v <<= 1, ++w); - return w; - }; - - var runVQ = function(n){ - dojo.byId("status").innerHTML = "<em>Initializing...</em>"; - dojo.byId("report").innerHTML = "<em>Running VQ...</em>"; - var clusters = []; - // select initial cluster centers - var empty = {}; - for(var i in colors){ - if(i in empty){ continue; } - clusters.push({center: colors[i]}); - if(clusters.length == n){ break; } - } - /* - for(var i = 0; i < n; ++i){ - var r = Math.floor(Math.random() * 256), g = Math.floor(Math.random() * 256), b = Math.floor(Math.random() * 256); - clusters.push({center: [r, g, b]}); - } - */ - // do runs - dojo.byId("status").innerHTML = "<div>Starting runs...</div>"; - var jitter = 0, niter = 1; - do { - // save previous centers - var old_clusters = []; - dojo.forEach(clusters, function(c){ old_clusters.push({center: c.center}); c.members = []; }); - // assign colors to clusters - for(var i in colors){ - if(i in empty){ continue; } - var c = colors[i], k = -1, kd = Number.MAX_VALUE; - for(var j = 0; j < clusters.length; ++j){ - var jd = dist(clusters[j].center, c); - if(jd < kd){ k = j, kd = jd; } - } - clusters[k].members.push(i); - } - // recalculate cluster centers - for(var i = 0; i < clusters.length; ++i){ - if(!clusters[i].members.length){ continue; } - var r = 0, g = 0, b = 0; - dojo.forEach(clusters[i].members, function(name){ - var c = colors[name]; - r += c[0]; - g += c[1]; - b += c[2]; - }); - r = Math.round(r / clusters[i].members.length); - g = Math.round(g / clusters[i].members.length); - b = Math.round(b / clusters[i].members.length); - clusters[i].center = [r, g, b]; - } - // calculate the jitter - jitter = 0; - for(var i = 0; i < clusters.length; ++i){ - jitter = Math.max(jitter, dist(clusters[i].center, old_clusters[i].center)); - } - var node = dojo.doc.createElement("div"); - node.innerHTML = "Run #" + niter + ", jitter = " + jitter; - dojo.byId("status").appendChild(node); - ++niter; - }while(jitter > 1 && niter < 1000); - // calculate the required number of bytes - var output = new dojox.encoding.bits.OutputStream(), - splay = new dojox.encoding.compression.Splay(256); - for(var i = 0; i < clusters.length; ++i){ - var c = clusters[i], m = c.members, d = 0, ol = output.getWidth(); - output.putBits(c.center[0], 8); - output.putBits(c.center[1], 8); - output.putBits(c.center[2], 8); - splay.reset(); - c.maxdist = [0, 0, 0, 0, 0, 0, 0, 0, 0]; - for(var j = 0; j < m.length; ++j){ - var color = colors[m[j]]; - maxdist(c.center, color, c.maxdist); - encodeColor(c.center, color, splay, output); - } - c.bits = output.getWidth() - ol; - } - var node = dojo.doc.createElement("div"); - node.innerHTML = "Required " + Math.ceil(output.getWidth() / 8) + " bytes"; - dojo.byId("status").appendChild(node); - // generate color tables - var reps = []; - for(var i = 0; i < clusters.length; ++i){ - var c = clusters[i], m = c.members; - reps.push("<p>Cluster #" + i + " contains " + m.length + " members. Length histogram:"); - for(var j = 0; j < c.maxdist.length; ++j){ - if(c.maxdist[j]){ - reps.push(" " + j + "—" + c.maxdist[j]); - } - } - reps.push(". It requires " + c.bits + " bits (" + Math.ceil(c.bits / 8) + " bytes) to be encoded.</p>"); - reps.push("<table>"); - var wd = dist([255,255,255], c.center), bd = dist([0,0,0], c.center); - reps.push("<tr><td style='background: " + hexcolor(c.center) + "; color: " + - (wd < bd ? "black" : "white") + "'><strong>CENTER</strong></td><td>" + - c.center[0] + "</td><td>" + c.center[1] + "</td><td>" + c.center[2] + "</td></tr>"); - for(var j = 0; j < m.length; ++j){ - var color = colors[m[j]]; - wd = dist([255,255,255], color); - bd = dist([0,0,0], color); - reps.push("<tr><td style='background: " + m[j] + "; color: " + - (wd < bd ? "black" : "white") + "'><strong>" + m[j] + "</strong></td><td>" + - color[0] + "</td><td>" + color[1] + "</td><td>" + color[2] + "</td></tr>"); - } - reps.push("</table>"); - } - dojo.byId("report").innerHTML = reps.join("\n"); - }; - - run = function(){ - var n = parseInt(dojo.byId("ncluster").value); - runVQ(n); - }; - - dojo.addOnLoad(function(){ - dojo.connect(dojo.byId("run"), "onclick", run); - }); - </script> - </head> - <body> - <h1>Compress colors using VQ</h1> - <p>Select desirable number of clusters: <select id="ncluster"> - <option value="1">1</option> - <option value="2">2</option> - <option value="4">4</option> - <option value="8">8</option> - <option value="16">16</option> - <option value="32">32</option> - <option value="64">64</option> - </select> <button id="run">Run</button></p> - <div id="status" class="pane"><em>No status yet.</em></div> - <div id="report" class="pane"><em>No results yet.</em></div> - </body> -</html> |