119 lines
2 KiB
CoffeeScript
119 lines
2 KiB
CoffeeScript
|
|
imagesize = require '../lib/imagesize'
|
|
fs = require 'fs'
|
|
|
|
exports["test imagesize"] = (test) ->
|
|
|
|
inputs = [
|
|
[
|
|
"200x100.png"
|
|
imagesize.Parser.DONE
|
|
"png"
|
|
200
|
|
100
|
|
]
|
|
[
|
|
"200x100.gif"
|
|
imagesize.Parser.DONE
|
|
"gif"
|
|
200
|
|
100
|
|
]
|
|
[
|
|
"200x100.jpg"
|
|
imagesize.Parser.DONE
|
|
"jpeg"
|
|
200
|
|
100
|
|
]
|
|
[
|
|
"246x247.png"
|
|
imagesize.Parser.DONE
|
|
"png"
|
|
246
|
|
247
|
|
]
|
|
[
|
|
"384x385.png"
|
|
imagesize.Parser.DONE
|
|
"png"
|
|
384
|
|
385
|
|
]
|
|
[
|
|
"test.gif"
|
|
imagesize.Parser.DONE
|
|
"gif"
|
|
245
|
|
66
|
|
]
|
|
[
|
|
"testAPP.jpg"
|
|
imagesize.Parser.DONE
|
|
"jpeg"
|
|
300
|
|
300
|
|
]
|
|
[
|
|
"test1pix.jpg"
|
|
imagesize.Parser.DONE
|
|
"jpeg"
|
|
1
|
|
1
|
|
]
|
|
[
|
|
"test.txt"
|
|
imagesize.Parser.INVALID
|
|
]
|
|
[
|
|
"blank.gif"
|
|
imagesize.Parser.EOF
|
|
]
|
|
]
|
|
|
|
testSingleParse = (image, status, format, width, height) ->
|
|
|
|
parser = imagesize.Parser()
|
|
data = fs.readFileSync "tests/fixtures/imagesize/#{image}"
|
|
|
|
retStatus = parser.parse data
|
|
|
|
test.equal retStatus, status
|
|
|
|
if imagesize.Parser.DONE == status
|
|
|
|
result = parser.getResult()
|
|
|
|
test.equal result.format, format
|
|
test.equal result.width, width
|
|
test.equal result.height, height
|
|
|
|
test1byteParses = (image, status, format, width, height) ->
|
|
|
|
parser = imagesize.Parser()
|
|
fd = fs.openSync "tests/fixtures/imagesize/#{image}", "r"
|
|
buf = new Buffer 1
|
|
retStatus = imagesize.Parser.EOF
|
|
|
|
while 0 < fs.readSync fd, buf, 0, 1, null
|
|
|
|
retStatus = parser.parse buf
|
|
|
|
break if imagesize.Parser.EOF != retStatus
|
|
|
|
test.equal retStatus, status
|
|
|
|
if imagesize.Parser.DONE == status
|
|
|
|
result = parser.getResult()
|
|
|
|
test.equal result.format, format
|
|
test.equal result.width, width
|
|
test.equal result.height, height
|
|
|
|
for input in inputs
|
|
testSingleParse input...
|
|
test1byteParses input...
|
|
|
|
test.done()
|
|
|