#include #include #include #include #include //#include #include #define TRACE(fmt, ...) {printf(fmt, __VA_ARGS__); printf("\n");} #define TRACE0(fmt) TRACE("%s", fmt) #define ABORT_TEST(msg) { TRACE("Error: %s", msg); exit(EXIT_FAILURE); } const char* FcResultToString(FcResult res) { const char* str = "unknown result code"; switch(res) { case FcResultMatch: str = "FcResultMatch"; break; case FcResultNoMatch: str = "FcResultNoMatch"; break; case FcResultTypeMismatch: str = "FcResultTypeMismatch"; break; case FcResultNoId: str = "FcResultNoId"; break; case FcResultOutOfMemory: str = "FcResultOutOfMemory"; break; default: break; } return str; } /////////////////////////////////////////////////////////////////////////// // Target(s): // FcFontMatch // // Parameters: // none /////////////////////////////////////////////////////////////////////////// void test_18_1() { //TRACE0("Executing test_18_1()"); FcConfig *fc; FcResult result = 12345; FcPattern *p1, *p2, *p3 /*, *p4 */; if (!(fc = FcConfigGetCurrent ())) { ABORT_TEST ("Could not get current config"); } if (!(p1 = FcPatternCreate ())) { ABORT_TEST ("Could not create the pattern"); } FcConfigSubstitute (fc, p1, FcMatchPattern); FcDefaultSubstitute (p1); TRACE("Result: %u (%s)", (unsigned int)result, FcResultToString(result)); TRACE0("Pattern p1:"); FcPatternPrint(p1); TRACE0("------------------------------"); p2 = FcFontMatch (fc, p1, &result); if (p2 == NULL) { ABORT_TEST("FcFontMatch() returned NULL"); } TRACE("Result: %u (%s)", (unsigned int)result, FcResultToString(result)); TRACE0("Pattern p2:"); FcPatternPrint(p2); TRACE0("------------------------------"); p3 = FcFontMatch (fc, p2, &result); if (p3 == NULL) { ABORT_TEST("FcFontMatch() returned NULL"); } TRACE("Result: %u (%s)", (unsigned int)result, FcResultToString(result)); TRACE0("Pattern p3:"); FcPatternPrint(p3); TRACE("Patterns p2 and p3 are %s", ((FcPatternEqual (p2, p3) == FcTrue) ? "equal" : "not equal")); TRACE0("------------------------------"); /* p4 = FcFontMatch (fc, p3, &result); if (p4 == NULL) { ABORT_TEST("FcFontMatch() returned NULL"); } TRACE("Result: %u (%s)", (unsigned int)result, FcResultToString(result)); TRACE0("Pattern p4:"); FcPatternPrint(p4); TRACE("Patterns p3 and p4 are %s", ((FcPatternEqual (p3, p4) == FcTrue) ? "equal" : "not equal")); TRACE0("------------------------------"); */ return; } /////////////////////////////////////////////////////////////////////////// int main(int argc, char* argv[]) { test_18_1(); return 0; }