Blame tests/gd2/bug00309.c
|
Packit Service |
df60bb |
/**
|
|
Packit Service |
df60bb |
* Regression test for <https://github.com/libgd/libgd/issues/309>.
|
|
Packit Service |
df60bb |
*
|
|
Packit Service |
df60bb |
* We test that an image with 64x64 pixels reports only a single chunk in the
|
|
Packit Service |
df60bb |
* GD2 image header when the chunk size is 64.
|
|
Packit Service |
df60bb |
*/
|
|
Packit Service |
df60bb |
|
|
Packit Service |
df60bb |
|
|
Packit Service |
df60bb |
#include "gd.h"
|
|
Packit Service |
df60bb |
#include "gdtest.h"
|
|
Packit Service |
df60bb |
|
|
Packit Service |
df60bb |
|
|
Packit Service |
df60bb |
int main()
|
|
Packit Service |
df60bb |
{
|
|
Packit Service |
df60bb |
gdImagePtr im;
|
|
Packit Service |
df60bb |
unsigned char *buf;
|
|
Packit Service |
df60bb |
int size, word;
|
|
Packit Service |
df60bb |
|
|
Packit Service |
df60bb |
im = gdImageCreate(64, 64);
|
|
Packit Service |
df60bb |
gdImageColorAllocate(im, 0, 0, 0);
|
|
Packit Service |
df60bb |
|
|
Packit Service |
df60bb |
buf = gdImageGd2Ptr(im, 64, 1, &size);
|
|
Packit Service |
df60bb |
|
|
Packit Service |
df60bb |
gdImageDestroy(im);
|
|
Packit Service |
df60bb |
|
|
Packit Service |
df60bb |
word = buf[10] << 8 | buf[11];
|
|
Packit Service |
df60bb |
gdTestAssertMsg(word == 64, "chunk size is %d, but expected 64\n", word);
|
|
Packit Service |
df60bb |
word = buf[14] << 8 | buf[15];
|
|
Packit Service |
df60bb |
gdTestAssertMsg(word == 1, "x chunk count is %d, but expected 1\n", word);
|
|
Packit Service |
df60bb |
word = buf[16] << 8 | buf[17];
|
|
Packit Service |
df60bb |
gdTestAssertMsg(word == 1, "y chunk count is %d, but expected 1\n", word);
|
|
Packit Service |
df60bb |
gdTestAssertMsg(size == 5145, "file size is %d, but expected 5145\n", size);
|
|
Packit Service |
df60bb |
|
|
Packit Service |
df60bb |
gdFree(buf);
|
|
Packit Service |
df60bb |
|
|
Packit Service |
df60bb |
return gdNumFailures();
|
|
Packit Service |
df60bb |
}
|