1# bmpsuite "questionable" tests 2 3# See ../README.mozilla for details. 4 5# BMP: bihsize=40, 127 x 64, bpp=1, compression=0, colors=1 6# "1 bit/pixel paletted image, with only one color in the palette. The 7# documentation says that 1-bpp images have a palette size of 2 (not 'up to 8# 2'), but it would be silly for a viewer not to support a size of 1." 9# [We accept it. So does Chromium.] 10fuzzy(0-1,0-926) == pal1p1.bmp pal1p1.png 11 12# BMP: bihsize=64, 127 x 64, bpp=1, compression=3, colors=2 13# "My attempt to make a BMP file with Huffman 1D compression. It is quite 14# possibly incorrect. Even if everything else about it is correct, I have no 15# way to know whether it is black/white reversed." 16# [We reject it. So does Chromium.] 17== wrapper.html?pal1huff.bmp about:blank 18 19# BMP: bihsize=40, 127 x 64, bpp=2, compression=0, colors=4 20# "A paletted image with 2 bits/pixel. Usually only 1, 4, and 8 are allowed, 21# but 2 is legal on Windows CE." 22# [We reject it. Chromium accepts it.] 23== wrapper.html?pal2.bmp about:blank 24 25# BMP: bihsize=40, 127 x 64, bpp=2, compression=0, colors=4 26# "Same as pal2.bmp, but with a color palette instead of grayscale palette." 27# [We reject it. Chromium accepts it.] 28== wrapper.html?pal2color.bmp about:blank 29 30# BMP: bihsize=40, 127 x 64, bpp=4, compression=2, colors=13 31# "An RLE-compressed image that used 'delta' codes to skip over some pixels, 32# leaving them undefined. Some viewers make undefined pixels transparent, 33# others make them black, and others assign them palette color 0 (purple, in 34# this case)." 35# [We make the undefined pixels transparent. So does Chromium.] 36== pal4rletrns.bmp pal4rletrns.png 37 38# BMP: bihsize=40, 127 x 64, bpp=4, compression=2, colors=13 39# "An RLE-compressed image that uses “delta” codes, and early EOL & EOBMP 40# markers, to skip over some pixels." 41== pal4rlecut.bmp pal4rlecut.png 42 43# BMP: bihsize=40, 127 x 64, bpp=8, compression=1, colors=253 44# "8-bit version of q/pal4rletrns.bmp." 45# [Ditto.] 46== pal8rletrns.bmp pal8rletrns.png 47 48# BMP: bihsize=40, 127 x 64, bpp=8, compression=1, colors=253 49# "8-bit version of q/pal4rlecut.bmp." 50== pal8rlecut.bmp pal8rlecut.png 51 52# BMP: bihsize=40, 127 x 64, bpp=8, compression=0, colors=252 53# "A file with some unused bytes between the palette and the image. This is 54# probably valid, but I’m not 100% sure." 55# [We accept it. So does Chromium.] 56fuzzy(0-1,0-996) == pal8offs.bmp pal8.png 57 58# BMP: bihsize=40, 127 x 64, bpp=8, compression=0, colors=300 59# "An 8-bit image with 300 palette colors. This may be invalid, because the 60# documentation could be interpreted to imply that 8-bit images aren’t allowed 61# to have more than 256 colors." 62# [We accept it. So does Chromium.] 63fuzzy(0-1,0-996) == pal8oversizepal.bmp pal8.png 64 65# BMP: bihsize=12, 127 x 64, bpp=8, compression=0, colors=0 66# # "Some OS/2 BMP specifications say that the size field in the file header 67# should be set to the aggregate size of the file header and infoheader, 68# instead of the total file size. For OS/2v1, that means it will always be 26. 69# BMP decoders usually ignore this field, so it shouldn’t cause a problem." 70fuzzy(0-1,0-996) == pal8os2-sz.bmp pal8.png 71 72# BMP: bihsize=12, 127 x 64, bpp=8, compression=0, colors=0 73# "Some OS/2 BMP specifications define the fields at offsets 6 and 8 to be a 74# “hotspot” (for cursor graphics). Though the fields are not used in BMP files, 75# they are sometimes, as in this file, set to nonzero values. This should cause 76# no problems, except that it could prevent some programs from detecting this 77# file as a BMP file." 78fuzzy(0-1,0-996) == pal8os2-hs.bmp pal8.png 79 80# BMP: bihsize=12, 127 x 64, bpp=8, compression=0, colors=0 81# "An OS/2v1 with a less-than-full-sized palette. Probably not valid, but such 82# files have been seen in the wild." 83# [We reject it. Chromium accepts it.] 84fuzzy(0-245,0-8128) == wrapper.html?pal8os2sp.bmp about:blank 85 86# BMP: bihsize=64, 127 x 64, bpp=8, compression=0, colors=252 87# "My attempt to make an OS/2v2 bitmap." 88# [We accept it. So does Chromium.] 89fuzzy(0-1,0-996) == pal8os2v2.bmp pal8.png 90 91# BMP: bihsize=16, 127 x 64, bpp=8, compression=0, colors=0 92# "An OS/2v2 bitmap whose header has only 16 bytes, instead of the full 64." 93# [We accept it. So does Chromium.] 94fuzzy(0-1,0-996) == pal8os2v2-16.bmp pal8.png 95 96# BMP: bihsize=64, 127 x 64, bpp=8, compression=0, colors=252 97# "An OS/2v2 bitmap. Like q/pal8os2-sz.bmp, the size field is set to the size 98# of the headers (78), instead of the size of the file." 99fuzzy(0-1,0-996) == pal8os2v2-sz.bmp pal8.png 100 101# BMP: bihsize=40, 127 x 64, bpp=8, compression=0, colors=252 102# "An OS/2v2 bitmap, with a 40-byte header. Like q/pal8os2-sz.bmp, the size 103# field is set to the size of the headers (54), instead of the size of the 104# file. Except for that, this file cannot be distinguished from a Windows 105# BMPv3 file." 106fuzzy(0-1,0-996) == pal8os2v2-40sz.bmp pal8.png 107 108# BMP: bihsize=40, 127 x 64, bpp=16, compression=0, colors=0 109# "Same idea as q/rgb32fakealpha.bmp. The default 16-bit color format has one 110# unused bit per pixel, and in this image some of the unused bits are set to 1. 111# It’s possible that some viewers will interpret this image as having 112# transparency." 113fuzzy(0-1,0-1296) == rgb16faketrns.bmp rgb16.png 114 115# BMP: bihsize=40, 127 x 64, bpp=16, compression=3, colors=0 116# "An unusual and silly 16-bit image, with 2 red bits, 3 green bits, and 1 blue 117# bit. Most viewers do support this image, but the colors may be darkened with 118# a yellow-green shadow. That’s because they’re doing simple bit-shifting 119# (possibly including one round of bit replication), instead of proper 120# scaling." 121== rgb16-231.bmp rgb16-231.png 122 123# BMP: bihsize=40, 127 x 64, bpp=16, compression=3, colors=0 124# "Similar to q/rgb16-231.bmp, with 3 red bits, 10 green bits, and 3 blue 125# bits." 126fuzzy(0-1,0-689) == rgb16-3103.bmp rgb16-3103.png 127 128# BMP: bihsize=124, 127 x 64, bpp=16, compression=3, colors=0 129# "A 16-bit image with an alpha channel. There are 4 bits for each color 130# channel, and 4 bits for the alpha channel. It’s not clear if this is valid, 131# but I can’t find anything that suggests it isn’t." 132== rgba16-4444.bmp rgba16-4444.png 133 134# BMP: bihsize=124, 127 x 64, bpp=16, compression=3, colors=0 135# "Similar to q/rgba16-4444.bmp, with 5 red bits, 5 green bits, 5 blue bits, 136# and a 1-bit alpha channel." 137fuzzy(0-1,0-2203) == rgba16-5551.bmp rgba16-5551.png 138 139# BMP: bihsize=124, 127 x 64, bpp=16, compression=3, colors=0 140# "Similar to q/rgba16-4444.bmp, with 1 red bit, 9 green bits, 2 blue bits, 141# and 4 bits for the alpha channel." 142== rgba16-1924.bmp rgba16-1924.png 143 144# BMP: bihsize=40, 127 x 64, bpp=24, compression=0, colors=300 145# "A 24-bit image, with a palette containing 300 colors. The fact that the 146# palette has more than 256 colors may cause some viewers to complain, but the 147# documentation does not mention a size limit." 148# [We accept it. So does Chromium.] 149== rgb24largepal.bmp rgb24.png 150 151# BMP: bihsize=124, 127 x 64, bpp=24, compression=0, colors=0 152# "My attempt to make a BMP file with an embedded color profile." 153fuzzy(1-1,28-73) == rgb24prof.bmp rgb24.png 154 155# BMP: bihsize=124, 127 x 64, bpp=24, compression=0, colors=0 156# "This image tries to test whether color profiles are fully supported. It has 157# the red and green channels swapped, and an embedded color profile that tries 158# to swap them back. Support for this is uncommon." 159# [The image is significantly closer to the desired output than without color 160# management, but we seem to handle the profile wrong in QCMS. See bug 1619332.] 161fuzzy(10-10,6590-6597) == rgb24prof2.bmp rgb24.png 162 163# BMP: bihsize=124, 127 x 64, bpp=24, compression=0, colors=0 164# "My attempt to make a BMP file with a linked color profile." 165# [We accept it, though we don't do anything with the color profile. Chromium 166# also handles it.] 167== rgb24lprof.bmp rgb24.png 168 169# BMP: bihsize=124, 127 x 64, bpp=0, compression=4, colors=0 170# BMP: bihsize=124, 127 x 64, bpp=0, compression=5, colors=0 171# "My attempt to make BMP files with embedded JPEG and PNG images. These are 172# not likely to be supported by much of anything (they’re intended for 173# printers)." 174# [We reject them. Chromium accepts them.] 175== wrapper.html?rgb24jpeg.bmp about:blank 176== wrapper.html?rgb24png.bmp about:blank 177 178# BMP: bihsize=64, 127 x 64, bpp=24, compression=4, colors=0 179# "An OS/2v2 bitmap with RLE24 compression. This image uses a limited number 180# of colors, just to make it more compressible." 181# [We reject it. Chromium accepts it.] 182== wrapper.html?rgb24rle24.bmp about:blank 183 184# BMP: bihsize=52, 127 x 64, bpp=32, compression=3, colors=0 185# "Similar to g/rgb32bf.bmp, but with a 52-byte “BITMAPV2INFOHEADER”. This is 186# an uncommon version of BMP, and I can’t confirm that this file is correct." 187# [We reject it. Chromium accepts it.] 188== wrapper.html?rgb32h52.bmp about:blank 189 190# BMP: bihsize=124, 127 x 64, bpp=32, compression=3, colors=0 191# "Color channels are the same size and order as rgb32bfdef.bmp, but they use 192# the highest available bits, instead of the lowest (or vice versa, depending 193# on your byte-order perspective)." 194== rgb32-xbgr.bmp rgb24.png 195 196# BMP: bihsize=40, 127 x 64, bpp=32, compression=0, colors=0 197# "Same as g/rgb32.bmp, except that the unused bits are set to something other 198# than 0. If the image becomes transparent toward the bottom, it probably means 199# the viewer uses heuristics to guess whether the undefined data represents 200# transparency." 201# [We don't apply transparency here. Chromium does the same.] 202== rgb32fakealpha.bmp rgb24.png 203 204# BMP: bihsize=40, 127 x 64, bpp=32, compression=3, colors=0 205# "A 32 bits/pixel image, with all 32 bits used: 11 each for red and green, and 206# 10 for blue. As far as I know, this is perfectly valid, but it is unusual." 207fuzzy(0-1,0-1408) == rgb32-111110.bmp rgb24.png 208 209# BMP: bihsize=40, 127 x 64, bpp=32, compression=3, colors=0 210# "A 32 bits/pixel image, with 7 bits for red, 18 for green, and 7 for blue." 211fuzzy(0-1,0-753) == rgb32-7187.bmp rgb32-7187.png 212 213# BMP: bihsize=124, 127 x 64, bpp=32, compression=3, colors=0 214# "A BMP with an alpha channel. Transparency is barely documented, so it’s 215# possible that this file is not correctly formed. The color channels are in an 216# unusual order, to prevent viewers from passing this test by making a lucky 217# guess." 218== rgba32-1.bmp rgba32.png 219 220# BMP: bihsize=124, 127 x 64, bpp=32, compression=3, colors=0 221# "Same as rgba32-1.bmp, but with the color channels in an unusual order, to 222# prevent viewers from passing this test by making a lucky guess." 223== rgba32-2.bmp rgba32.png 224 225# BMP: bihsize=124, 127 x 64, bpp=32, compression=3, colors=0 226# "A 32 bits/pixel image, with 10 bits for red, 10 for green, 10 for blue, and 227# 2 for alpha." 228fuzzy(0-1,0-1296) == rgba32-1010102.bmp rgba32-1010102.png 229 230# BMP: bihsize=124, 127 x 64, bpp=32, compression=3, colors=0 231# "A 32 bits/pixel image, with 8 bits for red, 12 for green, 8 for blue, and 4 232# for alpha." 233fuzzy(0-1,0-753) == rgba32-81284.bmp rgba32-81284.png 234 235# BMP: bihsize=124, 127 x 64, bpp=32, compression=3, colors=0 236# "A 32 bits/pixel image, with 6 bits for red, 17 for green, 5 for blue, and 4 237# for alpha." 238fuzzy(0-1,0-1554) == rgba32-61754.bmp rgba32-61754.png 239 240# BMP: bihsize=40, 127 x 64, bpp=32, compression=6, colors=0 241# "An image of type BI_ALPHABITFIELDS. Supposedly, this was used on Windows CE. 242# I don’t know whether it is constructed correctly." 243# [We reject it. Chromium accepts it.] 244== wrapper.html?rgba32abf.bmp about:blank 245 246# BMP: bihsize=56, 127 x 64, bpp=32, compression=3, colors=0 247# "Similar to q/rgba32.bmp, but with a 56-byte “BITMAPV3INFOHEADER”. This is an 248# uncommon version of BMP, and I can’t confirm that this file is correct." 249# [We reject it. Chromium accepts it.] 250== wrapper.html?rgba32h56.bmp about:blank 251 252