add api test
diff --git a/test/api/fonts/AdobeVFPrototype.WA.gpos.otf b/test/api/fonts/AdobeVFPrototype.WA.gpos.otf
new file mode 100644
index 0000000..967ef25
--- /dev/null
+++ b/test/api/fonts/AdobeVFPrototype.WA.gpos.otf
Binary files differ
diff --git a/test/api/fonts/AdobeVFPrototype.WAV.gpos.otf b/test/api/fonts/AdobeVFPrototype.WAV.gpos.otf
new file mode 100644
index 0000000..c9da07b
--- /dev/null
+++ b/test/api/fonts/AdobeVFPrototype.WAV.gpos.otf
Binary files differ
diff --git a/test/api/test-subset-gpos.c b/test/api/test-subset-gpos.c
index ac460b3..5546bf2 100644
--- a/test/api/test-subset-gpos.c
+++ b/test/api/test-subset-gpos.c
@@ -54,12 +54,39 @@
hb_face_destroy (face_wa);
}
+/* TODO: Once GDEF subsetting is implemented, this test may fail & expected result need update. */
+static void
+test_subset_gpos_pairpos1_vf (void)
+{
+ hb_face_t *face_wav = hb_test_open_font_file ("fonts/AdobeVFPrototype.WAV.gpos.otf");
+ hb_face_t *face_wa = hb_test_open_font_file ("fonts/AdobeVFPrototype.WA.gpos.otf");
+
+ hb_set_t *codepoints = hb_set_create ();
+ hb_face_t *face_wav_subset;
+ hb_set_add (codepoints, 'W');
+ hb_set_add (codepoints, 'A');
+
+ hb_subset_input_t *input = hb_subset_test_create_input (codepoints);
+
+ hb_set_del (hb_subset_input_drop_tables_set (input), HB_TAG ('G', 'P', 'O', 'S'));
+
+ face_wav_subset = hb_subset_test_create_subset (face_wav, input);
+ hb_set_destroy (codepoints);
+
+ hb_subset_test_check (face_wa, face_wav_subset, HB_TAG ('G','P','O','S'));
+
+ hb_face_destroy (face_wav_subset);
+ hb_face_destroy (face_wav);
+ hb_face_destroy (face_wa);
+}
+
int
main (int argc, char **argv)
{
hb_test_init (&argc, &argv);
hb_test_add (test_subset_gpos_lookup_subtable);
+ hb_test_add (test_subset_gpos_pairpos1_vf);
return hb_test_run ();
}