Blame test/test-name-parse.c

Packit 352660
#include <fontconfig/fontconfig.h>
Packit 352660
#include <stdio.h>
Packit 352660
Packit 352660
static int
Packit 352660
test (const FcChar8 *query, const FcPattern *expect)
Packit 352660
{
Packit 352660
    FcPattern *pat;
Packit 352660
    int c = 0;
Packit 352660
Packit 352660
    c++;
Packit 352660
    pat = FcNameParse (query);
Packit 352660
    if (!pat)
Packit 352660
	goto bail;
Packit 352660
    c++;
Packit 352660
    if (!FcPatternEqual (pat, expect))
Packit 352660
	goto bail;
Packit 352660
    c = 0;
Packit 352660
bail:
Packit 352660
    FcPatternDestroy (pat);
Packit 352660
Packit 352660
    return c;
Packit 352660
}
Packit 352660
Packit 352660
#define BEGIN(x)	(x) = FcPatternCreate (); c++;
Packit 352660
#define END(x)		FcPatternDestroy (x); (x) = NULL
Packit 352660
int
Packit 352660
main (void)
Packit 352660
{
Packit 352660
    FcPattern *expect;
Packit 352660
    int c = 0, ret;
Packit 352660
Packit 352660
    BEGIN (expect) {
Packit 352660
	FcPatternAddString (expect, FC_FAMILY, (const FcChar8 *)"sans-serif");
Packit 352660
	if ((ret = test ((const FcChar8 *)"sans\\-serif", expect)) != 0)
Packit 352660
	    goto bail;
Packit 352660
    } END (expect);
Packit 352660
    BEGIN (expect) {
Packit 352660
	FcPatternAddString (expect, FC_FAMILY, (const FcChar8 *)"Foo");
Packit 352660
	FcPatternAddInteger (expect, FC_SIZE, 10);
Packit 352660
	if ((ret = test ((const FcChar8 *)"Foo-10", expect)) != 0)
Packit 352660
	    goto bail;
Packit 352660
    } END (expect);
Packit 352660
    BEGIN (expect) {
Packit 352660
	FcPatternAddString (expect, FC_FAMILY, (const FcChar8 *)"Foo");
Packit 352660
	FcPatternAddString (expect, FC_FAMILY, (const FcChar8 *)"Bar");
Packit 352660
	FcPatternAddInteger (expect, FC_SIZE, 10);
Packit 352660
	if ((ret = test ((const FcChar8 *)"Foo,Bar-10", expect)) != 0)
Packit 352660
	    goto bail;
Packit 352660
    } END (expect);
Packit 352660
    BEGIN (expect) {
Packit 352660
	FcPatternAddString (expect, FC_FAMILY, (const FcChar8 *)"Foo");
Packit 352660
	FcPatternAddInteger (expect, FC_WEIGHT, FC_WEIGHT_MEDIUM);
Packit 352660
	if ((ret = test ((const FcChar8 *)"Foo:weight=medium", expect)) != 0)
Packit 352660
	    goto bail;
Packit 352660
    } END (expect);
Packit 352660
    BEGIN (expect) {
Packit 352660
	FcPatternAddString (expect, FC_FAMILY, (const FcChar8 *)"Foo");
Packit 352660
	FcPatternAddInteger (expect, FC_WEIGHT, FC_WEIGHT_MEDIUM);
Packit 352660
	if ((ret = test ((const FcChar8 *)"Foo:weight_medium", expect)) != 0)
Packit 352660
	    goto bail;
Packit 352660
    } END (expect);
Packit 352660
    BEGIN (expect) {
Packit 352660
	FcPatternAddInteger (expect, FC_WEIGHT, FC_WEIGHT_MEDIUM);
Packit 352660
	if ((ret = test ((const FcChar8 *)":medium", expect)) != 0)
Packit 352660
	    goto bail;
Packit 352660
    } END (expect);
Packit 352660
    BEGIN (expect) {
Packit 352660
	FcPatternAddInteger (expect, FC_WIDTH, FC_WIDTH_NORMAL);
Packit 352660
	if ((ret = test ((const FcChar8 *)":normal", expect)) != 0)
Packit 352660
	    goto bail;
Packit 352660
    } END (expect);
Packit 352660
    BEGIN (expect) {
Packit 352660
	FcPatternAddInteger (expect, FC_WIDTH, FC_WIDTH_NORMAL);
Packit 352660
	if ((ret = test ((const FcChar8 *)":normal", expect)) != 0)
Packit 352660
	    goto bail;
Packit 352660
    } END (expect);
Packit 352660
    BEGIN (expect) {
Packit 352660
	FcRange *r = FcRangeCreateDouble (FC_WEIGHT_MEDIUM, FC_WEIGHT_BOLD);
Packit 352660
	FcPatternAddRange (expect, FC_WEIGHT, r);
Packit 352660
	FcRangeDestroy (r);
Packit 352660
	if ((ret = test ((const FcChar8 *)":weight=[medium bold]", expect)) != 0)
Packit 352660
	    goto bail;
Packit 352660
    } END (expect);
Packit 352660
Packit 352660
bail:
Packit 352660
    if (expect)
Packit 352660
	FcPatternDestroy (expect);
Packit 352660
Packit 352660
    return ret == 0 ? 0 : (c - 1) * 2 + ret;
Packit 352660
}