static void test_subset_hdmx_invalid (void) { hb_face_t *face = hb_test_open_font_file ("../fuzzing/fonts/crash-ccc61c92d589f895174cdef6ff2e3b20e9999a1a"); hb_subset_input_t *input = hb_subset_input_create_or_fail (); hb_set_t *codepoints = hb_subset_input_unicode_set (input); hb_face_t *subset; hb_set_add (codepoints, 'a'); hb_set_add (codepoints, 'b'); hb_set_add (codepoints, 'c'); subset = hb_subset (face, input); g_assert (subset); g_assert (subset == hb_face_get_empty ()); hb_subset_input_destroy (input); hb_face_destroy (subset); hb_face_destroy (face); }
static void test_subset_hdmx_fails_sanitize (void) { hb_face_t *face = hb_test_open_font_file ("../fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5609911946838016"); hb_subset_input_t *input = hb_subset_input_create_or_fail (); hb_set_t *codepoints = hb_subset_input_unicode_set (input); hb_face_t *subset; hb_set_add (codepoints, 'a'); hb_set_add (codepoints, 'b'); hb_set_add (codepoints, 'c'); subset = hb_subset (face, input); g_assert (subset); g_assert (subset == hb_face_get_empty ()); hb_subset_input_destroy (input); hb_face_destroy (subset); hb_face_destroy (face); }
static void * create_font_inert (void) { return hb_font_create (hb_face_get_empty ()); }