diff --git a/src/modules/Image/module_testsuite.in b/src/modules/Image/module_testsuite.in index 404d813a677081b40ae67d4db09d9d851dd0ed0f..c8ae5d9ebfc7b0d2f6af78f48b32b4dc3a8dc783 100644 --- a/src/modules/Image/module_testsuite.in +++ b/src/modules/Image/module_testsuite.in @@ -694,6 +694,7 @@ object img=Image.image(100,100)->test(43); if (Image.BMP.decode(Image.BMP.encode(img))!=img) do { werror("failure; Image.image/encoding/decoding/Image.BMP.encode/decode (truecolor): "+( "differ" )+"\n"); return 0; } while (0); return 1; + } mixed b() { return 1; } @@ -703,11 +704,11 @@ mixed a(){ # 1 "-" -#392 "testsuite.in.in" +#393 "testsuite.in.in" object img=Image.image(100,100)->test(43); object c=Image.Colortable(img,256); img=c*img; -if (Image.BMP.decode(Image.BMP.encode(img))!=img) do { werror("failure; Image.image/encoding/decoding/Image.BMP.encode/decode (8bpp): "+( "differ" )+"\n"); return 0; } while (0); +if (Image.BMP.decode(Image.BMP.encode(img,(["bpp":8])))!=img) do { werror("failure; Image.image/encoding/decoding/Image.BMP.encode/decode (8bpp): "+( "differ" )+"\n"); return 0; } while (0); return 1; } @@ -719,11 +720,11 @@ mixed a(){ # 1 "-" -#399 "testsuite.in.in" +#400 "testsuite.in.in" object img=Image.image(100,100)->test(43); object c=Image.Colortable(img,16); img=c*img; -if (Image.BMP.decode(Image.BMP.encode(img))!=img) do { werror("failure; Image.image/encoding/decoding/Image.BMP.encode/decode (4bpp): "+( "differ" )+"\n"); return 0; } while (0); +if (Image.BMP.decode(Image.BMP.encode(img,(["bpp":4])))!=img) do { werror("failure; Image.image/encoding/decoding/Image.BMP.encode/decode (4bpp): "+( "differ" )+"\n"); return 0; } while (0); return 1; } @@ -735,11 +736,11 @@ mixed a(){ # 1 "-" -#406 "testsuite.in.in" +#407 "testsuite.in.in" object img=Image.image(100,100)->test(43); -object c=Image.Colortable(img,2); +object c=Image.Colortable(img,2)->floyd_steinberg(); img=c*img; -if (Image.BMP.decode(Image.BMP.encode(img))!=img) do { werror("failure; Image.image/encoding/decoding/Image.BMP.encode/decode (1bpp): "+( "differ" )+"\n"); return 0; } while (0); +if (Image.BMP.decode(Image.BMP.encode(img,(["bpp":1])))!=img) do { werror("failure; Image.image/encoding/decoding/Image.BMP.encode/decode (1bpp): "+( "differ" )+"\n"); return 0; } while (0); return 1; } @@ -751,7 +752,75 @@ mixed a(){ # 1 "-" -#413 "testsuite.in.in" +#414 "testsuite.in.in" +object img=Image.image(400,100,Image.Color.red); +img->line(0,0,0,99,Image.Color.green); +img->line(399,0,399,99,Image.Color.blue); +object c=Image.Colortable(img,256); +img=c*img; +if (Image.BMP.decode(Image.BMP.encode(img,(["bpp":8,"rle":1])))!=img) do { werror("failure; Image.image/encoding/decoding/Image.BMP.encode/decode (8bpp rle first): "+( "differ" )+"\n"); return 0; } while (0); +return 1; + +} +mixed b() { return 1; } + +.... +test 42, expected result: EQ +mixed a(){ +# 1 "-" + + +#423 "testsuite.in.in" +object img=Image.image(400,100,Image.Color.red); +img->line(0,0,0,99,Image.Color.green); +img->line(399,0,399,99,Image.Color.blue); +object c=Image.Colortable(img,16); +img=c*img; +if (Image.BMP.decode(Image.BMP.encode(img,(["bpp":4,"rle":1])))!=img) do { werror("failure; Image.image/encoding/decoding/Image.BMP.encode/decode (4bpp rle first): "+( "differ" )+"\n"); return 0; } while (0); +return 1; + +} +mixed b() { return 1; } + +.... +test 43, expected result: EQ +mixed a(){ +# 1 "-" + + +#432 "testsuite.in.in" +object img=Image.image(100,100)->test(99)->scale(400,100); +object c=Image.Colortable(img,256); +img=c*img; +if (Image.BMP.decode(Image.BMP.encode(img,(["bpp":8,"rle":1])))!=img) do { werror("failure; Image.image/encoding/decoding/Image.BMP.encode/decode (8bpp rle second): "+( "differ" )+"\n"); return 0; } while (0); +return 1; + +} +mixed b() { return 1; } + +.... +test 44, expected result: EQ +mixed a(){ +# 1 "-" + + +#439 "testsuite.in.in" +object img=Image.image(100,100)->test(99)->scale(400,100); +object c=Image.Colortable(img,16); +img=c*img; +if (Image.BMP.decode(Image.BMP.encode(img,(["bpp":4,"rle":1])))!=img) do { werror("failure; Image.image/encoding/decoding/Image.BMP.encode/decode (4bpp rle second): "+( "differ" )+"\n"); return 0; } while (0); +return 1; + +} +mixed b() { return 1; } + +.... +test 45, expected result: EQ +mixed a(){ +# 1 "-" + + +#446 "testsuite.in.in" object img=Image.image(256,240)->test(43); img=Image.Colortable( ({"white","black","red","green"}) )*img; if (Image.HRZ.decode(Image.HRZ.encode(img))!=img) do { werror("failure; Image.image/encoding/decoding/Image.HRZ.encode/decode : "+( "differ" )+"\n"); return 0; } while (0); @@ -761,12 +830,12 @@ return 1; mixed b() { return 1; } .... -test 42, expected result: EQ +test 46, expected result: EQ mixed a(){ # 1 "-" -#419 "testsuite.in.in" +#452 "testsuite.in.in" object img=Image.image(100,100)->test(43); object c=Image.Colortable(img,16); img=c*img; @@ -777,12 +846,12 @@ return 1; mixed b() { return 1; } .... -test 43, expected result: EQ +test 47, expected result: EQ mixed a(){ # 1 "-" -#426 "testsuite.in.in" +#459 "testsuite.in.in" object img=Image.image(100,100)->test(43); if (Image.PCX.decode(Image.PCX.encode(img))!=img) do { werror("failure; Image.image/encoding/decoding/Image.PCX.encode/decode : "+( "differ" )+"\n"); return 0; } while (0); return 1; @@ -791,12 +860,12 @@ return 1; mixed b() { return 1; } .... -test 44, expected result: EQ +test 48, expected result: EQ mixed a(){ # 1 "-" -#431 "testsuite.in.in" +#464 "testsuite.in.in" object img=Image.image(100,100)->test(43); if (Image.PNM.decode(Image.PNM.encode(img))!=img) do { werror("failure; Image.image/encoding/decoding/Image.PNM.encode/decode : "+( "differ" )+"\n"); return 0; } while (0); return 1; @@ -805,12 +874,12 @@ return 1; mixed b() { return 1; } .... -test 45, expected result: EQ +test 49, expected result: EQ mixed a(){ # 1 "-" -#436 "testsuite.in.in" +#469 "testsuite.in.in" object img=Image.image(100,100)->test(43); if (Image.TGA.decode(Image.TGA.encode(img))!=img) do { werror("failure; Image.image/encoding/decoding/Image.TGA.encode/decode : "+( "differ" )+"\n"); return 0; } while (0); return 1; @@ -819,12 +888,12 @@ return 1; mixed b() { return 1; } .... -test 46, expected result: EQ +test 50, expected result: EQ mixed a(){ # 1 "-" -#441 "testsuite.in.in" +#474 "testsuite.in.in" object img=Image.image(100,100)->test(43); object c=Image.Colortable(({Image.Color.white,Image.Color.black})); img=c*img; @@ -844,12 +913,12 @@ return 1; mixed b() { return 1; } .... -test 47, expected result: EQ +test 51, expected result: EQ mixed a(){ # 1 "-" -#457 "testsuite.in.in" +#490 "testsuite.in.in" #if constant(Image.XPM.encode) object img=Image.image(100,100)->test(43); object c=Image.Colortable(img,16); @@ -865,12 +934,12 @@ return 1; mixed b() { return 1; } .... -test 48, expected result: EQ +test 52, expected result: EQ mixed a(){ # 1 "-" -#469 "testsuite.in.in" +#502 "testsuite.in.in" #if constant(Image.XPM.encode) object img=Image.image(100,100)->test(43); object c=Image.Colortable(16,16,16); @@ -884,12 +953,12 @@ return 1; mixed b() { return 1; } .... -test 49, expected result: EQ +test 53, expected result: EQ mixed a(){ # 1 "-" -#479 "testsuite.in.in" +#512 "testsuite.in.in" #if constant(Image.TIFF.encode) object img=Image.image(100,100)->test(43); if (Image.TIFF.decode(Image.TIFF.encode(img))!=img) do { werror("failure; Image.image/encoding/decoding/Image.TIFF.encode/decode : "+( "differ" )+"\n"); return 0; } while (0); @@ -902,12 +971,12 @@ return 1; mixed b() { return 1; } .... -test 50, expected result: EQ +test 54, expected result: EQ mixed a(){ # 1 "-" -#488 "testsuite.in.in" +#521 "testsuite.in.in" #if constant(Image.XFace.encode) object img=Image.image(48,48)->test(43); object c=Image.Colortable(({Image.Color.white,Image.Color.black})); @@ -923,12 +992,12 @@ return 1; mixed b() { return 1; } .... -test 51, expected result: EQ +test 55, expected result: EQ mixed a(){ # 1 "-" -#500 "testsuite.in.in" +#533 "testsuite.in.in" #if constant(Image.JPEG.encode) object img=Image.image(100,100)->test(43); object img1=Image.JPEG.decode(Image.JPEG.encode(img,(["quality":100]))); @@ -944,12 +1013,12 @@ return 1; mixed b() { return 1; } .... -test 52, expected result: EQ +test 56, expected result: EQ mixed a(){ # 1 "-" -#514 "testsuite.in.in" +#547 "testsuite.in.in" foreach ( ({ ({ "black", ({ 0, 0, 0 }), ({ 0, 0, 0 }), 0 }), ({ "blue", ({ 0, 0, 255 }), ({ 170, 255, 255 }), 41 }), @@ -1015,12 +1084,12 @@ return 1; mixed b() { return 1; } .... -test 53, expected result: EQ +test 57, expected result: EQ mixed a(){ # 1 "-" -#576 "testsuite.in.in" +#609 "testsuite.in.in" if (!arrayp(indices(Image.Color))) do { werror("failure; Image.image/Image.Color/indices(Image.Color): "+( "wrong type\n" )+"\n"); return 0; } while (0); if (!stringp(indices(Image.Color)[0])) @@ -1033,12 +1102,12 @@ return 1; mixed b() { return 1; } .... -test 54, expected result: EQ +test 58, expected result: EQ mixed a(){ # 1 "-" -#585 "testsuite.in.in" +#618 "testsuite.in.in" if (!arrayp(values(Image.Color))) do { werror("failure; Image.image/Image.Color/values(Image.Color): "+( "wrong type\n" )+"\n"); return 0; } while (0); if (!objectp(values(Image.Color)[0])) @@ -1051,12 +1120,12 @@ return 1; mixed b() { return 1; } .... -test 55, expected result: EQ +test 59, expected result: EQ mixed a(){ # 1 "-" -#594 "testsuite.in.in" +#627 "testsuite.in.in" foreach ( ({ ({ "black", ({ 0, 0, 0 }), ({ 0, 0, 0 }), 0 }), ({ "blue", ({ 0, 0, 255 }), ({ 170, 255, 255 }), 41 }), @@ -1082,12 +1151,12 @@ return 1; mixed b() { return 1; } .... -test 56, expected result: EQ +test 60, expected result: EQ mixed a(){ # 1 "-" -#618 "testsuite.in.in" +#651 "testsuite.in.in" object Stina=Image.JPEG.decode(MIME.decode_base64( "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a\r\nHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy\r\nMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAhAD8DASIA\r\nAhEBAxEB/8QAGQAAAgMBAAAAAAAAAAAAAAAABgcABQgE/8QANhAAAgEEAAQDAwkJAAAAAAAAAQID\r\nAAQFEQYSITEHE3EiQYEUMjNCYXOhscEVIzY3UVJicsL/xAAZAQACAwEAAAAAAAAAAAAAAAACBAAB\r\nAwX/xAAdEQACAgMBAQEAAAAAAAAAAAABAgARAyExEjJB/9oADAMBAAIRAxEAPwBcXMazCMT3wOjy\r\nhAOpPpXaOEs2bIXdhib2WJVIJW31sfO3vfpXXaWlrd35SUDn0PLHYg9/0p44HiS1yWIgCSwRXcQ8\r\nuW3kl8vlK9NjferZ1X65JlORVtBZmW7iSWFJreTzUZG5ikq6ZTrtqtQ+EuLixvh7jm8tRLcp5khD\r\ndT16b+FLDxltcZe5DFXWPlglyLs0d38nYHYGtA6+3dPvERfJ8JYwBQnJbouh00eUVRbViXbeR67M\r\nzeIRi4f8QLlLNFhVFdF+tok73+PauK3s5r20DLEsS82/PufYD0x48Ri8/wCPGVkybQPBYBWSCYjT\r\nyFQOx79wfhTNzj4+2w8sV9bxtC6FEhZRo9PcKFcwA3I7MpAAmbplvYomtXijcluUSxN8emvdRH4X\r\nAW0eYLHmlWVUHOSTqhG/hW1zTShnWLQ1pui9e1GvhwD+xrqYczefcMQT3IFBme01GMCn1uC1/byT\r\nsGtWKuDtXB67qxsM0l9bbyYhM8Oo9gA85Hp1owfwltZnaK1y1xBNolY/L3v0oLfgjHxZg2drkMjL\r\nfxvp0ktBErH7Dvr/AEregTMzctsJjocnx5gbVIIzbef50qqhGuXZ0a0Yw6dunuA+ND/CmDhxOItW\r\ne3C3xQhmce0P8d1ci7jZuQnUv9g70LVwQCSxiu8ROBpJc1LxJas0qzRrHcQbJ0yjQZT6dDSxzWdF\r\ngqRq9xJMy8qhm3yDtqtSMiSRGN0DK406nsd96UOd8PcFJxiTc/uIki505j0cH6o9DUpSNw1Y3UR7\r\nJc3kq24V3uJ/ZCjZK799PPCY6LA4a2s9FgqDm9nR37/xroseG8bip2nsrSAvrQk5tsBVkyEqpCk/\r\nHdJ5snrQjmJaNmWkP0ll/sPzpdZz+Z0Hr/1UqU4nYs3I9F+ji9BVUf4kP3VSpVHsyWWMvYeo/OhT\r\njT59v92f1qVKFvmFj+oL475g9Ksrbs1SpSB7Oj+T/9k=")); @@ -1105,12 +1174,12 @@ return 1; mixed b() { return 1; } .... -test 57, expected result: EQ +test 61, expected result: EQ mixed a(){ # 1 "-" -#632 "testsuite.in.in" +#665 "testsuite.in.in" object Stina=Image.JPEG.decode(MIME.decode_base64( "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a\r\nHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy\r\nMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAhAD8DASIA\r\nAhEBAxEB/8QAGQAAAgMBAAAAAAAAAAAAAAAABgcABQgE/8QANhAAAgEEAAQDAwkJAAAAAAAAAQID\r\nAAQFEQYSITEHE3EiQYEUMjNCYXOhscEVIzY3UVJicsL/xAAZAQACAwEAAAAAAAAAAAAAAAACBAAB\r\nAwX/xAAdEQACAgMBAQEAAAAAAAAAAAABAgARAyExEjJB/9oADAMBAAIRAxEAPwBcXMazCMT3wOjy\r\nhAOpPpXaOEs2bIXdhib2WJVIJW31sfO3vfpXXaWlrd35SUDn0PLHYg9/0p44HiS1yWIgCSwRXcQ8\r\nuW3kl8vlK9NjferZ1X65JlORVtBZmW7iSWFJreTzUZG5ikq6ZTrtqtQ+EuLixvh7jm8tRLcp5khD\r\ndT16b+FLDxltcZe5DFXWPlglyLs0d38nYHYGtA6+3dPvERfJ8JYwBQnJbouh00eUVRbViXbeR67M\r\nzeIRi4f8QLlLNFhVFdF+tok73+PauK3s5r20DLEsS82/PufYD0x48Ri8/wCPGVkybQPBYBWSCYjT\r\nyFQOx79wfhTNzj4+2w8sV9bxtC6FEhZRo9PcKFcwA3I7MpAAmbplvYomtXijcluUSxN8emvdRH4X\r\nAW0eYLHmlWVUHOSTqhG/hW1zTShnWLQ1pui9e1GvhwD+xrqYczefcMQT3IFBme01GMCn1uC1/byT\r\nsGtWKuDtXB67qxsM0l9bbyYhM8Oo9gA85Hp1owfwltZnaK1y1xBNolY/L3v0oLfgjHxZg2drkMjL\r\nfxvp0ktBErH7Dvr/AEregTMzctsJjocnx5gbVIIzbef50qqhGuXZ0a0Yw6dunuA+ND/CmDhxOItW\r\ne3C3xQhmce0P8d1ci7jZuQnUv9g70LVwQCSxiu8ROBpJc1LxJas0qzRrHcQbJ0yjQZT6dDSxzWdF\r\ngqRq9xJMy8qhm3yDtqtSMiSRGN0DK406nsd96UOd8PcFJxiTc/uIki505j0cH6o9DUpSNw1Y3UR7\r\nJc3kq24V3uJ/ZCjZK799PPCY6LA4a2s9FgqDm9nR37/xroseG8bip2nsrSAvrQk5tsBVkyEqpCk/\r\nHdJ5snrQjmJaNmWkP0ll/sPzpdZz+Z0Hr/1UqU4nYs3I9F+ji9BVUf4kP3VSpVHsyWWMvYeo/OhT\r\njT59v92f1qVKFvmFj+oL475g9Ksrbs1SpSB7Oj+T/9k=")); diff --git a/src/modules/Image/testsuite.in.in b/src/modules/Image/testsuite.in.in index 5cb71ec9cc2740b2ee24506cf1a9b60028d238a8..2652422a0cbbe02dd61bdaf62c49bb9b62a6e0ad 100644 --- a/src/modules/Image/testsuite.in.in +++ b/src/modules/Image/testsuite.in.in @@ -388,25 +388,58 @@ if (Image.BMP.decode(Image.BMP.encode(img))!=img) fail("differ"); ok(); + #test Image.BMP.encode/decode (8bpp) object img=Image.image(100,100)->test(43); object c=Image.Colortable(img,256); img=c*img; - if (Image.BMP.decode(Image.BMP.encode(img))!=img) fail("differ"); + if (Image.BMP.decode(Image.BMP.encode(img,(["bpp":8])))!=img) fail("differ"); ok(); #test Image.BMP.encode/decode (4bpp) object img=Image.image(100,100)->test(43); object c=Image.Colortable(img,16); img=c*img; - if (Image.BMP.decode(Image.BMP.encode(img))!=img) fail("differ"); + if (Image.BMP.decode(Image.BMP.encode(img,(["bpp":4])))!=img) fail("differ"); ok(); #test Image.BMP.encode/decode (1bpp) object img=Image.image(100,100)->test(43); - object c=Image.Colortable(img,2); + object c=Image.Colortable(img,2)->floyd_steinberg(); img=c*img; - if (Image.BMP.decode(Image.BMP.encode(img))!=img) fail("differ"); + if (Image.BMP.decode(Image.BMP.encode(img,(["bpp":1])))!=img) fail("differ"); + ok(); + +#test Image.BMP.encode/decode (8bpp rle first) + object img=Image.image(400,100,Image.Color.red); + img->line(0,0,0,99,Image.Color.green); + img->line(399,0,399,99,Image.Color.blue); + object c=Image.Colortable(img,256); + img=c*img; + if (Image.BMP.decode(Image.BMP.encode(img,(["bpp":8,"rle":1])))!=img) fail("differ"); + ok(); + +#test Image.BMP.encode/decode (4bpp rle first) + object img=Image.image(400,100,Image.Color.red); + img->line(0,0,0,99,Image.Color.green); + img->line(399,0,399,99,Image.Color.blue); + object c=Image.Colortable(img,16); + img=c*img; + if (Image.BMP.decode(Image.BMP.encode(img,(["bpp":4,"rle":1])))!=img) fail("differ"); + ok(); + +#test Image.BMP.encode/decode (8bpp rle second) + object img=Image.image(100,100)->test(99)->scale(400,100); + object c=Image.Colortable(img,256); + img=c*img; + if (Image.BMP.decode(Image.BMP.encode(img,(["bpp":8,"rle":1])))!=img) fail("differ"); + ok(); + +#test Image.BMP.encode/decode (4bpp rle second) + object img=Image.image(100,100)->test(99)->scale(400,100); + object c=Image.Colortable(img,16); + img=c*img; + if (Image.BMP.decode(Image.BMP.encode(img,(["bpp":4,"rle":1])))!=img) fail("differ"); ok(); #test Image.HRZ.encode/decode