Blame tests/gd2/gd2_read.c

Packit ed3af9
#include "gd.h"
Packit ed3af9
#include <stdio.h>
Packit ed3af9
#include <stdlib.h>
Packit ed3af9
#include "gdtest.h"
Packit ed3af9
Packit ed3af9
int main(int argc, char *argv[])
Packit ed3af9
{
Packit ed3af9
	int error = 0, i = 0;
Packit ed3af9
	gdImagePtr im, exp;
Packit ed3af9
	FILE *fp;
Packit ed3af9
	char *path[] = {
Packit ed3af9
			"conv_test.gd2",
Packit ed3af9
			"invalid_neg_size.gd2",
Packit ed3af9
			"invalid_header.gd2",
Packit ed3af9
			NULL
Packit ed3af9
	};
Packit ed3af9
	char *path_exp[] = {
Packit ed3af9
			"conv_test_exp.png",
Packit ed3af9
			NULL,
Packit ed3af9
			NULL,
Packit ed3af9
			NULL
Packit ed3af9
	};
Packit ed3af9
	while (path[i] != NULL) {
Packit ed3af9
		fp = gdTestFileOpen2("gd2", path[i]);
Packit ed3af9
		if (!fp) {
Packit ed3af9
			gdTestErrorMsg("failed, cannot open file: %s\n", path[0]);
Packit ed3af9
			return 1;
Packit ed3af9
		}
Packit ed3af9
		im = gdImageCreateFromGd2(fp);
Packit ed3af9
		fclose(fp);
Packit ed3af9
Packit ed3af9
		if (path_exp[i] != NULL) {
Packit ed3af9
			fp = gdTestFileOpen2("gd2", path_exp[i]);
Packit ed3af9
			if (!fp) {
Packit ed3af9
				gdTestErrorMsg("failed, cannot open file: %s\n", path_exp[i]);
Packit ed3af9
				return 1;
Packit ed3af9
			}
Packit ed3af9
			exp = gdImageCreateFromPng(fp);
Packit ed3af9
			if (!gdAssertImageEquals(exp, im)) {
Packit ed3af9
				gdTestErrorMsg("image %s differs from expected result\n", path[i]);
Packit ed3af9
				gdImageDestroy(im);
Packit ed3af9
				error = 1;
Packit ed3af9
			}
Packit ed3af9
			if (exp) {
Packit ed3af9
				gdImageDestroy(exp);
Packit ed3af9
			}
Packit ed3af9
		} else {
Packit ed3af9
			/* expected to fail */
Packit ed3af9
			if (im) {
Packit ed3af9
				gdTestErrorMsg("image %s should have failed to be loaded\n", path[i]);
Packit ed3af9
				gdImageDestroy(im);
Packit ed3af9
				error = 1;
Packit ed3af9
			}
Packit ed3af9
		}
Packit ed3af9
		i++;
Packit ed3af9
	}
Packit ed3af9
	return error;
Packit ed3af9
}