pixie/tests/test_png.nim
2021-05-11 22:40:39 -05:00

35 lines
1 KiB
Nim

import pixie, pixie/fileformats/png, pngsuite, strformat
# for file in pngSuiteFiles:
# let
# original = cast[seq[uint8]](
# readFile(&"tests/images/png/pngsuite/{file}.png")
# )
# decoded = decodePng(original)
# encoded = encodePng(decoded)
# decoded2 = decodePng(cast[seq[uint8]](encoded))
# doAssert decoded.height == decoded2.height
# doAssert decoded.width == decoded2.width
# doAssert decoded.data == decoded2.data
block:
for channels in 1 .. 4:
var data: seq[uint8]
for x in 0 ..< 16:
for y in 0 ..< 16:
var components = newSeq[uint8](channels)
for i in 0 ..< channels:
components[i] = (x * 16).uint8
data.add(components)
let encoded = encodePng(16, 16, channels, data[0].addr, data.len)
for file in pngSuiteCorruptedFiles:
try:
discard decodePng(readFile(&"tests/images/png/pngsuite/{file}.png"))
doAssert false
except PixieError:
discard
block:
discard readImage("tests/images/png/trailing_data.png")