Feature Test SpecificationMaintained by: Terri Preston
Seamonkey: Browser Imaging (Black Box)
UI and/or Functional Specifications:
Test Case Suites
Will-Test Areas/Testing Strategy:
For Browser Imaging, we'll be testing the features that casual Mozilla/Netscape 6 Preview Release users are unlikely to encounter. Testing will be focused on newly introduced image formats (PNG & MNG), rather than GIF/JPEG, which are more likely to be tested thoroughly through the ad hoc use of 100,000 Mozilla testers.
New image formats
1. PNG - an extremely well-architected and documented new lossless image format, positioned as a replacement for the aging GIF format --- our support for the PNG format in Seamonkey will further facilitate the format's adoption.
Members of the PNG community have assembled test case suites, which we are leveraging for coverage. Members of the PNG community have expressed an interest in coordinating further detailed testing by PNG experts.
The png-discuss list could also be used to invite test participation. (PNG test coverage is directly lifted from/modeled after Williem van Schaik's PngSuite test suite.)
PNG test areas
- Basic formats (b/w, color, paletted)
- Supported color types (grayscale, grayscale + alpha, color palettes, rgb, rgb + alpha)
- Interlacing (Adam-7)
- Unusual sizes (e.g. 1x1)
- Transparency (none, transparent w/o background chunk, transparent w/white, w/gray, w/black, w/yellow)
- Gamma values (per platform)
- Image filtering (none, sub, up, average, paeth)
- Corrupted files (empty IDAT, added cr bytes, added lf bytes, color type 0, color type 9, bit-depth 0, bit-depth 3, bit-depth 99, incorrect IDAT checksum)
MNG test areas:
- Basic testing: BASI-IEND streams, embedded PNGs and BACK/FRAM functionality.
- Text animations
- Scrolling images
- Color-correction by difference
- Color-correction by similarity
- Loading an image as a web page
3. Traditional, Natively handled Image Formats
- (animated GIFs) Proper handling of corrupted frames, images w/frames larger than header, & 1-pixel high frames.
- GIF (animated) - single and multiple
- Animated GIFs don't trash system if left animating for extended periods of time hours.
- Animated GIFs should not do a 304 request other than on specified pages. [pnunn could elaborate this into multiple test case ideas]
- JPEG/jfif (Note that CMYK jpegs are not yet supported.)
* No thorough test case suites for these formats. This should be considered in the case of a point release in which Compositor/ImageLib changes might result in a regression.
Perhaps module owner Tom Lane might know of a JPEG test case suite? pnunn says that a test case suite existed around 3.0/4.0, and she might know where it is.
4. Non-natively handled Image Formats <None currently implemented, although they will be. This will have to be tested when it happens.>
5. Miscellaneous Scenarios
- Proper dithering at 8 & 16-bit resolutions cross-platform.
- Proper reloading of updated images that have been cached (including when loading the image file as document, rather than when embedded within a page), with respect to cache user prefs and server attributes.
- Dynamic screen bit-depth & resolution changes, especially to lower bit depths.
- Proper loading from local HD
Future Coverage should be implemented for:
GIF error handling on:
- background: erase
- background: overlay
- corruption in frame1+
- frame1+ dimens < header dimens
- global colormaps
- local colormaps
- 1x1 images
ART image format