# Copyright 2016 The PDFium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
#
# List of expectations for tests that do not match their expected images,
# one per line.
# There are seven space-separated columns per line
# Each column (except column 0) can contain a comma-separated list of values.
#
# Column 0: test file name
# Column 1: platform: *, win, mac, mac_arm, mac_x86, linux
# Column 2: v8 support: *, nov8, v8
# Column 3: xfa support: *, noxfa, xfa
# Column 4: rendering support: *, agg, gdi, gdi_agg, gdi_skia, skia
# Column 5: font engine: *, freetype, fontations
# Column 6: action, one of:
#   diff  - the output differs in a way that no tolerance can bridge, so
#           the test still runs but never fails, however far off it lands
#   blank - skip the image comparison entirely
#   fuzzy - compare with a tolerance, either the defaults or the explicit
#           fuzzy=<delta>,<mse>,<win_mse> (e.g. fuzzy=3,0.05,15.0)
#   skip  - the test is expected to crash, so do not run it at all
#
# Apart from "skip", every action excuses mismatching output and nothing
# else. A crash, an ASan report, a CHECK failure or a timeout is reported
# as a failure no matter what is listed here, even when the test managed
# to write output that matches.
#
# All columns on a line must match, but filenames may be repeated on subsequent
# lines to suppress more cases.  Within each column, any one of the
# comma-separated values must match in order for the column to "match".
# The filenames and keywords are case-sensitive.
# One exception is column 1, where "mac" is a shorthand that matches either
# "mac_arm" or "mac_x86". Similarly, "gdi" in column 4 is a shorthand that
# matches either "gdi_agg" or "gdi_skia".
#
# Try to keep the file alphabetized within each category of test.

#
# Corpus tests
#
12.pdf mac * * agg * diff
12.pdf * * * * fontations fuzzy=10,0.1,15
1_1_textbox.pdf * * * * * diff
1_2_typewriter.pdf * * * * * diff
1_3_callout.pdf * * * * * diff
1_matrix.pdf mac * * agg * diff
1_matrix.pdf * * * * fontations fuzzy=10,0.1,15
1m_diff_lsjdf.pdf mac * * agg * diff
1m_diff_lsjdf.pdf * * * * fontations fuzzy=10,0.1,15
1m_same_xxxx.pdf mac * * agg * diff
2_11_stamp3.pdf mac * * agg * diff
2_11_stamp3.pdf * * * * fontations fuzzy=10,0.1,15
2_11_stamp3.pdf mac * * skia * fuzzy
2_6_textbox.pdf * * * * * diff
2_color_calrgb.pdf mac * * agg * diff
2_color_calrgb.pdf * * * * fontations fuzzy=10,0.1,15
2_color_indexed.pdf mac * * agg * diff
2_color_indexed.pdf * * * * fontations fuzzy=10,0.1,15
3_4_textbox.pdf * * * * * diff
3_interpolate_image.pdf mac * * agg * diff
3_interpolate_image.pdf * * * * fontations fuzzy=10,0.1,15
3_interpolate_image.pdf mac * * skia * fuzzy
3bigpreview.pdf mac * * agg * diff
3bigpreview.pdf * * * * * fuzzy=21,0.15,10.0
4_35.pdf mac * * agg * diff
4_35.pdf * * * * fontations fuzzy=10,0.1,15
4_39.pdf mac * * agg * diff
4_39.pdf * * * * fontations fuzzy=10,0.1,15
5.1.pdf mac * * agg * diff
5.1.pdf * * * * fontations fuzzy=10,0.1,15
5.2.pdf * * * * * diff
5.5_simple_font.pdf mac * * agg * diff
5.5_simple_font.pdf * * * * fontations diff
8.2_name_dest_f_dest.pdf mac * * agg * diff
8.2_name_dest_f_dest.pdf * * * * fontations fuzzy=10,0.1,15
8.2_outline.pdf mac * * agg * diff
8.2_outline.pdf * * * * fontations fuzzy=10,0.1,15
8.3_presentation.pdf mac * * agg * diff
8.3_presentation.pdf * * * * fontations fuzzy=10,0.1,15
FRC_10_8.2.2__T8.3_original_file.pdf * * * * * diff
FRC_11_8.2.2__T8.3_first_last_exchange.pdf * * * * * diff
FRC_12_8.2.2__T8.3_first_outline_obj_ID.pdf * * * * * diff
FRC_13_8.2.2__T8.3_Count_edit300.pdf * * * * * diff
FRC_14_8.2.2__T8.3_Count_edit0.pdf * * * * * diff
FRC_15_8.2.2__T8.3_Count_edit1.pdf * * * * * diff
FRC_16_8.2.2__T8.3_Count_edit_1.pdf * * * * * diff
FRC_1_8.2.2__T8.3_First_empty.pdf * * * * * diff
FRC_2_8.2.2__T8.3_Last_empty.pdf * * * * * diff
FRC_3.5_P__3616_Password_1.pdf * * * * * diff
FRC_3_8.2.2_Type_empty.pdf * * * * * diff
FRC_4_8.2.2__T8.3_Count_empty.pdf * * * * * diff
FRC_5_8.2.2__T8.3_First_remove.pdf * * * * * diff
FRC_6_8.2.2__T8.3_Last_remove.pdf * * * * * diff
FRC_7_8.2.2_Type_remove.pdf * * * * * diff
FRC_8.4.1_Annotations_M.pdf * * * * * diff
FRC_8.4.1_Annotations_NM.pdf * * * * * diff
FRC_8.5_Page_C_SubmitForm.pdf * * * * * diff
FRC_8.5_Page_PI_ResetForm_Phantom.pdf * * * * * diff
FRC_8.5_Widget_F.pdf * nov8 * * * diff
FRC_8.5_Widget_F.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8_8.2.2__T8.3_Count_remove.pdf * * * * * diff
FRC_9_8.2.2__T8.3_remove_first_item.pdf * * * * * diff
action.pdf * * * * * diff
action_execute_a_menu_item.pdf mac * * agg * diff
action_execute_a_menu_item.pdf * * * * fontations fuzzy=10,0.1,15
action_execute_a_menu_item.pdf mac * * skia * fuzzy
action_hide_show_form.pdf mac * * agg * diff
action_hide_show_form.pdf * * * * fontations fuzzy=10,0.1,15
action_hide_show_form.pdf mac * * skia * fuzzy
action_on_focus.pdf mac * * agg * diff
action_on_focus.pdf * * * * fontations fuzzy=10,0.1,15
action_open_a_file.pdf mac * * agg * diff
action_open_a_file.pdf * * * * fontations fuzzy=10,0.1,15
action_pdf_save_close.pdf mac * * agg * diff
action_pdf_save_close.pdf * * * * fontations fuzzy=10,0.1,15
action_reset.pdf mac * * agg * diff
action_reset.pdf * * * * fontations fuzzy=10,0.1,15
action_reset.pdf mac * * skia * fuzzy
action_run_javascript.pdf mac * * agg * diff
action_run_javascript.pdf * * * * fontations fuzzy=10,0.1,15
action_submit_a_form.pdf mac * * agg * diff
action_submit_a_form.pdf * * * * fontations fuzzy=10,0.1,15
all_trigger_alert.pdf * * * * * diff
all_trigger_mailmsg.pdf * * * * * diff
all_trigger_print.pdf * * * * * diff
all_trigger_run_js_lunchurl.pdf mac * * agg * diff
all_trigger_run_js_lunchurl.pdf * * * * fontations fuzzy=10,0.1,15
all_trigger_run_js_lunchurl.pdf mac * * skia * fuzzy
all_trigger_run_js_maildoc.pdf mac * * agg * diff
all_trigger_run_js_maildoc.pdf * * * * fontations fuzzy=10,0.1,15
all_trigger_run_js_maildoc.pdf mac * * skia * fuzzy
annotation_highlight_author_content.pdf mac * * agg * diff
annotation_highlight_author_content.pdf * * * * fontations fuzzy=10,0.1,15
annotation_highlight_author_content.pdf mac * * skia * fuzzy
annotation_highlight_long_content.pdf mac * * agg * diff
annotation_highlight_long_content.pdf * * * * fontations fuzzy=10,0.1,15
annotation_highlight_long_content.pdf mac * * skia * fuzzy
annotation_highlight_no_author.pdf mac * * agg * diff
annotation_highlight_no_author.pdf * * * * fontations fuzzy=10,0.1,15
annotation_highlight_no_author.pdf mac * * skia * fuzzy
app_launchurl.pdf mac * * agg * diff
app_launchurl.pdf * * * * fontations fuzzy=10,0.1,15
appstoredescription3.1_en_updated.pdf mac * * agg * diff
appstoredescription3.1_en_updated.pdf * * * * fontations fuzzy=10,0.1,15
bookmark.pdf * * * * * diff
bookmarkgetcolor.pdf mac * * agg * diff
bookmarkgetcolor.pdf * * * * fontations diff
bug_0_length_line.pdf mac * * agg * diff
bug_0_length_line.pdf * * * * fontations fuzzy=10,0.1,15

# TODO(crbug.com/42270825): Remove after associated bug is fixed
bug_0_length_line.pdf * * * skia * diff

bug_0_width_line.pdf mac * * agg * diff
bug_0_width_line.pdf * * * * fontations fuzzy=10,0.1,15
bug_440132.pdf mac * * agg * diff
bug_440132.pdf * * * * fontations fuzzy=10,0.1,15
bug_white_space.pdf mac * * agg * diff
bug_white_space.pdf * * * * fontations fuzzy=10,0.1,15
calcorderindex_test.pdf * * * * * diff
calculate_average.pdf mac * * agg * diff
calculate_average.pdf * * * * fontations fuzzy=10,0.1,15
calculate_order.pdf * * * * * diff
calculate_sum_a_b_c.pdf mac * * agg * diff
calculate_sum_a_b_c.pdf * * * * fontations fuzzy=10,0.1,15
calculate_validate.pdf mac * * agg * diff
calculate_validate.pdf * * * * fontations fuzzy=10,0.1,15
calculate_validate.pdf * nov8 * * * diff
ch_1.pdf * * * * * diff
check_box.pdf * * * * * diff
color.pdf mac * * agg * diff
color.pdf * * * * fontations fuzzy=10,0.1,15
colorspace.pdf mac * * agg * diff
colorspace.pdf * * * * fontations fuzzy=10,0.1,15
colorspace.pdf mac * * skia * fuzzy
colorspace_test1.pdf mac * * agg * diff
colorspace_test1.pdf * * * * fontations fuzzy=10,0.1,15
colorspace_test1.pdf mac * * skia * fuzzy
combo_box.pdf * * * * * diff
combo_box_format.pdf mac * * agg * diff
combo_box_format.pdf * * * * fontations fuzzy=10,0.1,15
date.pdf mac * * agg * diff
date.pdf * * * * fontations fuzzy=10,0.1,15
edit_transform.pdf mac * * agg * diff
edit_transform.pdf * * * * fontations fuzzy=10,0.1,15
en_contact.pdf mac * * agg * diff
en_contact.pdf * * * * fontations fuzzy=10,0.1,15
en_diy.pdf mac * * agg * diff
en_diy.pdf * * * * fontations diff
en_foxit.pdf mac * * agg * diff
en_foxit.pdf * * * * fontations fuzzy=10,0.1,15
en_fqa2.pdf mac * * agg * diff
en_fqa2.pdf * * * * fontations fuzzy=10,0.1,15
en_fqa2.pdf mac * * skia * fuzzy
en_introduce.pdf mac * * agg * diff
en_introduce.pdf * * * * fontations fuzzy=10,0.1,15
en_tem.pdf mac * * agg * diff
en_tem.pdf * * * * fontations diff
en_tem.pdf * * * * * fuzzy
en_tem.pdf mac * * skia * fuzzy
en_uicase_.pdf mac * * agg * diff
en_uicase_.pdf * * * * fontations fuzzy=10,0.1,15
en_uicase_.pdf mac * * skia * fuzzy
event.change.pdf mac * * agg * diff
event.change.pdf * * * * fontations fuzzy=10,0.1,15
event.changeex.pdf mac * * agg * diff
event.changeex.pdf * * * * fontations fuzzy=10,0.1,15
event.keydown.pdf mac * * agg * diff
event.keydown.pdf * * * * fontations fuzzy=10,0.1,15
event.keydown_1_.pdf mac * * agg * diff
event.keydown_1_.pdf * * * * fontations fuzzy=10,0.1,15
event.type_name.pdf mac * * agg * diff
event.type_name.pdf * * * * fontations fuzzy=10,0.1,15
event.value.pdf mac * * agg * diff
event.value.pdf * * * * fontations fuzzy=10,0.1,15
event_change.pdf mac * * agg * diff
event_change.pdf * * * * fontations fuzzy=10,0.1,15
example_001.pdf mac * * agg * diff
example_001.pdf * * * * fontations diff
example_001.pdf * * * * * fuzzy
example_001.pdf mac * * skia * fuzzy
example_002.pdf mac * * agg * diff
example_002.pdf * * * * fontations fuzzy=10,0.1,15
example_003.pdf mac * * agg * diff
example_003.pdf * * * * fontations diff
example_003.pdf * * * * * fuzzy
example_004.pdf mac * * agg * diff
example_004.pdf * * * * fontations diff
example_004.pdf * * * * * fuzzy
example_005.pdf mac * * agg * diff
example_005.pdf * * * * fontations diff
example_005.pdf * * * * * fuzzy
example_006.pdf mac * * agg * diff
example_006.pdf * * * * fontations diff
example_006.pdf * * * * * fuzzy
example_006.pdf mac * * skia * fuzzy
example_007.pdf mac * * agg * diff
example_007.pdf * * * * fontations diff
example_007.pdf * * * * * fuzzy
example_008.pdf mac * * agg * diff
example_008.pdf * * * * fontations diff
example_008.pdf * * * * * fuzzy
example_009.pdf mac * * agg * diff
example_009.pdf * * * * fontations diff
example_009.pdf * * * * * fuzzy=3,0.15,5.0
example_010.pdf mac * * agg * diff
example_010.pdf * * * * fontations diff
example_010.pdf * * * * * fuzzy
example_010.pdf mac * * skia * fuzzy
example_011.pdf mac * * agg * diff
example_011.pdf * * * * fontations diff
example_011.pdf * * * * * fuzzy
example_012.pdf mac * * agg * diff
example_012.pdf * * * * fontations fuzzy=10,0.1,15
example_013.pdf mac * * agg * diff
example_013.pdf * * * * fontations diff
example_013.pdf * * * * * fuzzy
example_014.pdf mac * * agg * diff
example_014.pdf * * * * fontations diff
example_014.pdf * * * * * fuzzy
example_015.pdf mac * * agg * diff
example_015.pdf * * * * fontations diff
example_015.pdf * * * * * fuzzy
example_016.pdf mac * * agg * diff
example_016.pdf * * * * fontations diff
example_016.pdf * * * * * fuzzy
example_017.pdf mac * * agg * diff
example_017.pdf * * * * fontations diff
example_017.pdf * * * * * fuzzy
example_018.pdf mac * * agg * diff
example_018.pdf * * * * fontations diff
example_018.pdf * * * * * fuzzy
example_018.pdf mac * * skia * fuzzy
example_019.pdf mac * * agg * diff
example_019.pdf * * * * fontations diff
example_019.pdf * * * * * fuzzy
example_020.pdf mac * * agg * diff
example_020.pdf * * * * fontations diff
example_020.pdf * * * * * fuzzy
example_021.pdf mac * * agg * diff
example_021.pdf * * * * fontations diff
example_021.pdf * * * * * fuzzy
example_022.pdf mac * * agg * diff
example_022.pdf * * * * fontations diff
example_022.pdf * * * * * fuzzy
example_023.pdf mac * * agg * diff
example_023.pdf * * * * fontations diff
example_023.pdf * * * * * fuzzy
example_024.pdf mac * * agg * diff
example_024.pdf * * * * fontations diff
example_024.pdf * * * * * fuzzy
example_025.pdf mac * * agg * diff
example_025.pdf * * * * fontations diff
example_025.pdf * * * * * fuzzy
example_025.pdf mac * * skia * fuzzy
example_026.pdf mac * * agg * diff
example_026.pdf * * * * * fuzzy=4,0.05,5.0
example_027.pdf mac * * agg * diff
example_027.pdf * * * * fontations diff
example_027.pdf * * * * * fuzzy
example_028.pdf mac * * agg * diff
example_028.pdf * * * * fontations fuzzy=10,0.1,15
example_029.pdf mac * * agg * diff
example_029.pdf * * * * fontations diff
example_029.pdf * * * * * fuzzy
example_030.pdf mac * * agg * diff
example_030.pdf * * * * fontations diff
example_030.pdf * * * * * fuzzy
example_031.pdf mac * * agg * diff
example_031.pdf * * * * fontations diff
example_031.pdf * * * * * fuzzy
example_032.pdf mac * * agg * diff
example_032.pdf * * * * fontations diff
example_032.pdf * * * * * fuzzy
example_033.pdf mac * * agg * diff
example_033.pdf * * * * fontations diff
example_033.pdf * * * * * fuzzy
example_034.pdf mac * * agg * diff
example_034.pdf * * * * * fuzzy=4,0.05,5.0
example_035.pdf mac * * agg * diff
example_035.pdf * * * * fontations diff
example_035.pdf * * * * * fuzzy
example_036.pdf mac * * agg * diff
example_036.pdf * * * * fontations diff
example_036.pdf * * * * * fuzzy
example_037.pdf mac * * agg * diff
example_037.pdf * * * * fontations diff
example_037.pdf * * * * * fuzzy
example_038.pdf mac * * agg * diff
example_038.pdf * * * * fontations diff
example_038.pdf * * * * * fuzzy
example_039.pdf mac * * agg * diff
example_039.pdf * * * * fontations diff
example_039.pdf * * * * * fuzzy
example_039.pdf mac * * skia * fuzzy
example_040.pdf mac * * agg * diff
example_040.pdf * * * * fontations diff
example_040.pdf * * * * * fuzzy
example_040.pdf mac * * skia * fuzzy
example_041.pdf mac * * agg * diff
example_041.pdf * * * * fontations diff
example_041.pdf * * * * * fuzzy
example_042.pdf mac * * agg * diff
example_042.pdf * * * * fontations diff
example_042.pdf * * * * * fuzzy
example_043.pdf mac * * agg * diff
example_043.pdf * * * * fontations diff
example_043.pdf * * * * * fuzzy
example_044.pdf mac * * agg * diff
example_044.pdf * * * * fontations diff
example_044.pdf * * * * * fuzzy
example_045.pdf mac * * agg * diff
example_045.pdf * * * * fontations diff
example_045.pdf * * * * * fuzzy
example_046.pdf mac * * agg * diff
example_046.pdf * * * * fontations diff
example_046.pdf * * * * * fuzzy
example_047.pdf mac * * agg * diff
example_047.pdf * * * * fontations diff
example_047.pdf * * * * * fuzzy
example_048.pdf mac * * agg * diff
example_048.pdf * * * * fontations diff
example_048.pdf * * * * * fuzzy
example_049.pdf mac * * agg * diff
example_049.pdf * * * * fontations diff
example_049.pdf * * * * * fuzzy
example_050.pdf mac * * agg * diff
example_050.pdf * * * * fontations diff
example_050.pdf * * * * * fuzzy
example_051.pdf mac * * agg * diff
example_051.pdf * * * * * fuzzy=3,0.35,5.0
example_052.pdf mac * * agg * diff
example_052.pdf * * * * fontations diff
example_052.pdf * * * * * fuzzy
example_053.pdf mac * * agg * diff
example_053.pdf * * * * fontations diff
example_053.pdf * * * * * fuzzy
example_054.pdf mac * * agg * diff
example_054.pdf * * * * fontations diff
example_054.pdf * * * * * fuzzy
example_055.pdf mac * * agg * diff
example_055.pdf * * * * fontations diff
example_055.pdf * * * * * fuzzy
example_056.pdf mac * * agg * diff
example_056.pdf * * * * fontations diff
example_056.pdf * * * * * fuzzy
example_057.pdf mac * * agg * diff
example_057.pdf * * * * fontations diff
example_057.pdf * * * * * fuzzy
example_057.pdf mac * * skia * fuzzy
example_058.pdf mac * * agg * diff
example_058.pdf * * * * fontations diff
example_058.pdf * * * * * fuzzy
example_058.pdf mac * * skia * fuzzy
example_059.pdf mac * * agg * diff
example_059.pdf * * * * fontations diff
example_059.pdf * * * * * fuzzy
example_060.pdf mac * * agg * diff
example_060.pdf * * * * fontations diff
example_060.pdf * * * * * fuzzy
example_060.pdf mac * * skia * fuzzy
example_061.pdf mac * * agg * diff
example_061.pdf * * * * fontations diff
example_061.pdf * * * * * fuzzy
example_062.pdf mac * * agg * diff
example_062.pdf * * * * * fuzzy=4,0.05,5.0
example_063.pdf mac * * agg * diff
example_063.pdf * * * * fontations diff
example_063.pdf * * * * * fuzzy
example_063.pdf mac * * skia * fuzzy
example_064.pdf mac * * agg * diff
example_064.pdf * * * * fontations diff
example_064.pdf * * * * * fuzzy
example_064.pdf mac * * skia * fuzzy
example_065.pdf mac * * agg * diff
example_065.pdf * * * * fontations fuzzy=15,0.05,15
example_065.pdf * * * * * fuzzy
fillform.pdf * * * * * diff
form_action_trigger.pdf * * * * * diff
form_button_sign_url.pdf * * * * * diff
form_combo_sign_url.pdf * * * * * diff
form_combobox0.pdf * * * * * diff
form_combobox_actioin_goto.pdf * * * * * diff
form_combobox_date.pdf mac * * agg * diff
form_combobox_date.pdf * * * * fontations fuzzy=10,0.1,15
form_combobox_date.pdf * nov8 * * * diff
form_combobox_date1.pdf * * * * * diff
form_combobox_date2.pdf mac * * agg * diff
form_combobox_date2.pdf * * * * fontations fuzzy=10,0.1,15
form_combobox_date2.pdf * nov8 * * * diff
form_combobox_importform.pdf * * * * * diff
form_combobox_num.pdf mac * * agg * diff
form_combobox_num.pdf * * * * fontations fuzzy=10,0.1,15
form_combobox_num.pdf * nov8 * * * diff
form_combobox_per.pdf mac * * agg * diff
form_combobox_per.pdf * * * * fontations fuzzy=10,0.1,15
form_combobox_per.pdf * nov8 * * * diff
form_combobox_plus.pdf mac * * agg * diff
form_combobox_plus.pdf * * * * fontations fuzzy=10,0.1,15
form_combobox_plus.pdf * nov8 * * * diff
form_combobox_product.pdf mac * * agg * diff
form_combobox_product.pdf * * * * fontations fuzzy=10,0.1,15
form_combobox_product.pdf * nov8 * * * diff
form_combobox_resetform.pdf * * * * * diff
form_combobox_time.pdf mac * * agg * diff
form_combobox_time.pdf * * * * fontations fuzzy=10,0.1,15
form_combobox_time.pdf * nov8 * * * diff
form_list.pdf * * * * * diff
form_list1.pdf * * * * * diff
form_same.pdf mac * * agg * diff
form_same.pdf * * * * fontations fuzzy=10,0.1,15
form_text_sign_url.pdf * * * * * diff
format_combo_box.pdf mac * * agg * diff
format_combo_box.pdf * * * * fontations fuzzy=10,0.1,15
format_combo_box.pdf * nov8 * * * diff
format_custom_format.pdf * nov8 * agg * diff
format_custom_format.pdf * * * * fontations fuzzy=10,0.1,15
format_custom_keystroke.pdf * * * * * diff
format_date.pdf * nov8 * * * diff
format_number.pdf mac * * agg * diff
format_number.pdf * * * * fontations fuzzy=10,0.1,15
format_percentage.pdf mac * * agg * diff
format_percentage.pdf * * * * fontations fuzzy=10,0.1,15
format_special.pdf * nov8 * * * diff
format_text_color.pdf mac * * agg * diff
format_text_color.pdf * * * * fontations fuzzy=10,0.1,15
formfield.pdf * * * * * diff
getarray.pdf mac * * agg * diff
getarray.pdf * * * * fontations fuzzy=10,0.1,15

# TODO(crbug.com/42271468): Remove after associated bug is fixed.
gradient_many_stops.pdf * * * agg * diff

javascriptaction.pdf * * * * * diff
jetman_std.pdf mac * * agg * diff
jetman_std.pdf * * * * fontations fuzzy=10,0.1,15
jetman_std_fixed.pdf mac * * agg * diff
jetman_std_fixed.pdf * * * * fontations fuzzy=10,0.1,15
js_calculate.pdf * * * * * diff
list_box.pdf * * * * * diff
negative.pdf mac * * agg * diff
negative.pdf * * * * fontations fuzzy=10,0.1,15
new_certify1.pdf mac * * agg * diff
new_certify1.pdf * * * * fontations fuzzy=10,0.1,15
new_signature1.pdf mac * * agg * diff
new_signature1.pdf * * * * fontations fuzzy=10,0.1,15
new_signature2.pdf mac * * agg * diff
new_signature2.pdf * * * * fontations fuzzy=10,0.1,15
new_stamp4.pdf mac * * agg * diff
new_stamp4.pdf * * * * fontations fuzzy=10,0.1,15
new_stamp5.pdf mac * * agg * diff
new_stamp5.pdf * * * * fontations fuzzy=10,0.1,15
new_textmarkup1.pdf mac * * agg * diff
new_textmarkup1.pdf * * * * fontations fuzzy=10,0.1,15
new_textmarkup1_hidden.pdf mac * * agg * diff
new_textmarkup1_hidden.pdf * * * * fontations fuzzy=10,0.1,15
new_textmarkup2.pdf mac * * agg * diff
new_textmarkup2.pdf * * * * fontations fuzzy=10,0.1,15
new_textmarkup2.pdf mac * * skia * fuzzy
new_textmarkup2_hidden.pdf mac * * agg * diff
new_textmarkup2_hidden.pdf * * * * fontations fuzzy=10,0.1,15
new_textmarkup4.pdf mac * * agg * diff
new_textmarkup4.pdf * * * * fontations fuzzy=10,0.1,15
new_textmarkup4_hidden.pdf mac * * agg * diff
new_textmarkup4_hidden.pdf * * * * fontations fuzzy=10,0.1,15
new_textmarkup5.pdf mac * * agg * diff
new_textmarkup5.pdf * * * * fontations fuzzy=10,0.1,15
new_textmarkup5_hidden.pdf mac * * agg * diff
new_textmarkup5_hidden.pdf * * * * fontations fuzzy=10,0.1,15
new_textmarkup6.pdf mac * * agg * diff
new_textmarkup6.pdf * * * * fontations fuzzy=10,0.1,15
new_textmarkup7.pdf mac * * agg * diff
new_textmarkup7.pdf * * * * fontations fuzzy=10,0.1,15
new_textmarkup7_hidden.pdf mac * * agg * diff
new_textmarkup7_hidden.pdf * * * * fontations fuzzy=10,0.1,15
new_textmarkup8.pdf mac * * agg * diff
new_textmarkup8.pdf * * * * fontations fuzzy=10,0.1,15
new_textmarkup8.pdf mac * * skia * fuzzy
new_textmarkup8_hidden.pdf mac * * agg * diff
new_textmarkup8_hidden.pdf * * * * fontations fuzzy=10,0.1,15
number.pdf * * * * * diff
octest.pdf mac * * agg * diff
octest.pdf * * * * fontations fuzzy=10,0.1,15
open_a_weblink.pdf mac * * agg * diff
open_a_weblink.pdf * * * * fontations fuzzy=10,0.1,15
path_10_jd.pdf mac * * agg * diff
path_10_jd.pdf * * * * fontations fuzzy=10,0.1,15
path_5_pattern.pdf mac * * agg * diff
path_5_pattern.pdf * * * * fontations fuzzy=10,0.1,15
path_5_pattern.pdf mac * * skia * fuzzy
path_6_graphics4.5.5.pdf mac * * agg * diff
path_6_graphics4.5.5.pdf * * * * fontations fuzzy=10,0.1,15
path_7.pdf mac * * agg * diff
path_7.pdf * * * * fontations diff
path_9.pdf mac * * agg * diff
path_9.pdf * * * * fontations diff
path_9.pdf mac_x86 * * skia * fuzzy
percentage.pdf mac * * agg * diff
percentage.pdf * * * * fontations fuzzy=10,0.1,15
push_button.pdf * * * * * diff
quick_start_guide.pdf mac * * agg * diff
quick_start_guide.pdf * * * * fontations diff
quick_start_guide.pdf * * * * * fuzzy=4,0.05,5.0
radio_button.pdf * * * * * diff
run_custom_validate_script.pdf * * * * * diff
show_1.pdf mac * * agg * diff
show_1.pdf * * * * fontations fuzzy=10,0.1,15
signature.pdf * * * * * diff
signature_4.pdf * * * * * diff
simplified_field_notation.pdf mac * * agg * diff
simplified_field_notation.pdf * * * * fontations fuzzy=10,0.1,15
special.pdf mac * * agg * diff
special.pdf * * * * fontations fuzzy=10,0.1,15
submit_form.pdf mac * * agg * diff
submit_form.pdf * * * * fontations fuzzy=10,0.1,15
test_app_beep.pdf * * * * * diff
test_control.pdf * * * * * diff
text_field.pdf * * * * * diff
text_field_font_input_decimal_point.pdf mac * * agg * diff
text_field_font_input_decimal_point.pdf * * * * fontations fuzzy=10,0.1,15
text_field_multiline_line_spacing.pdf mac * * agg * diff
text_field_multiline_line_spacing.pdf * * * * fontations fuzzy=10,0.1,15
thread_action.pdf mac * * agg * diff
thread_action.pdf * * * * fontations fuzzy=10,0.1,15
time.pdf mac * * agg * diff
time.pdf * * * * fontations fuzzy=10,0.1,15
transformation.pdf mac * * agg * diff
transformation.pdf * * * * fontations fuzzy=10,0.1,15
transparent.pdf mac * * agg * diff
whats_new_in_v3.0.pdf mac * * agg * diff
whats_new_in_v3.0.pdf * * * * fontations fuzzy=10,0.1,15
whats_new_in_v3.0.pdf mac * * skia * fuzzy
widget_javascript.pdf mac * * agg * diff
widget_javascript.pdf * * * * fontations fuzzy=10,0.1,15

# TODO(crbug.com/42270997): Remove after associated bug is fixed
xfermodes2.pdf * * * agg * diff
xfermodes2.pdf * * * skia * fuzzy

zh_file1.pdf mac * * agg * diff
zh_file1.pdf * * * * fontations fuzzy=10,0.1,15
zh_function_list.pdf mac * * agg * diff
zh_function_list.pdf * * * * fontations fuzzy=10,0.1,15
zh_function_list.pdf mac * * skia * fuzzy
zh_shared_document.pdf mac * * agg * diff
zh_shared_document.pdf * * * * fontations diff

# TODO(hnakashima): These might never have been run. Go over them and fix.

FRC_8.5_E&X.pdf * * * * * diff
FRC_8.5_O&PO_GoToE.pdf * * * * * diff
FRC_8.5_OpenAction&O_URI.pdf * * * * * diff
FRC_8.5_PC&C_GoToE_T_T.pdf * * * * * diff
FRC_8.5_PC_GoToE_T_R&P&A.pdf * * * * * diff
FRC_8.5_PO_GoToE_T_R&N.pdf * * * * * diff

# xfa_specific

Choose.pdf * * * * * diff
data_binding.pdf * * * * * diff
# TODO(crbug.com/567626109): Add proper evt for MouseEvents.
MouseEvents_enter.pdf * * * * * diff
MouseEvents_exit.pdf * * * * * diff
Oneof3.pdf * * * * * diff
Sum.pdf * * * * * diff
Test_CheckBox.pdf * * * * * diff

# TODO(crbug.com/459586268): Remove this entry once macOS support for Intel
# hardware goes away. The test expectation is just different enough from the ARM
# rendering that fuzzy matching is not enough for it to match.
2_color_calrgb.pdf mac_x86 * * skia * diff
2_color_tiling.pdf mac_x86 * * skia * diff
2_color_tiling.pdf * * * * fontations fuzzy=10,0.1,15
2_uncolor_tiling.pdf mac_x86 * * skia * diff
3bigpreview.pdf mac_x86 * * skia * diff
FRC_4.5.3_DeviceRGB_rg.pdf mac_x86 * * skia * diff
FRC_4.5.4_CalGray_gamma.pdf mac_x86 * * skia * diff
FRC_4.5.4_CalGray_whitepoint.pdf mac_x86 * * skia * diff
FRC_4.5.4_CalRGB_gamma.pdf mac_x86 * * skia * diff
FRC_4.5.4_CalRGB_matrix.pdf mac_x86 * * skia * diff
FRC_4.5.4_CalRGB_whitepoint.pdf mac_x86 * * skia * diff
FRC_4.5.4_Lab.pdf mac_x86 * * skia * diff
FRC_4.5.4_RI_Relative.pdf mac_x86 * * skia * diff
FRC_10_8.2.4_View_C.pdf mac_x86 * * skia * diff
FRC_10_8.2.4_View_C.pdf * * * * fontations fuzzy=10,0.1,15
Test_DateField_locale_zh_HK.pdf mac_x86 * * skia * diff
Test_DateField_locale_zh_HK.pdf * * * * fontations fuzzy=10,0.1,15
TimeField.pdf mac_x86 * * skia * diff
annotation_circle_hidden.pdf mac_x86 * * skia * diff
annotation_circle_hidden.pdf * * * * fontations fuzzy=10,0.1,15
annotation_ellipse_hidden.pdf mac_x86 * * skia * diff
annotation_ellipse_hidden.pdf * * * * fontations fuzzy=10,0.1,15
annotation_highlight.pdf mac_x86 * * skia * diff
annotation_highlight.pdf * * * * fontations fuzzy=10,0.1,15
annotation_highlight_empty_content.pdf mac_x86 * * skia * diff
annotation_highlight_empty_content.pdf * * * * fontations fuzzy=10,0.1,15
annotation_highlight_hidden.pdf mac_x86 * * skia * diff
annotation_highlight_hidden.pdf * * * * fontations fuzzy=10,0.1,15
annotation_highlight_no_author_no_content.pdf mac_x86 * * skia * diff
annotation_highlight_no_author_no_content.pdf * * * * fontations fuzzy=10,0.1,15
annotation_highlight_no_content.pdf mac_x86 * * skia * diff
annotation_highlight_opacity.pdf mac_x86 * * skia * diff
annotation_highlight_opacity.pdf * * * * fontations fuzzy=10,0.1,15
annotation_ink_hidden.pdf mac_x86 * * skia * diff
annotation_ink_hidden.pdf * * * * fontations fuzzy=10,0.1,15
annotation_polygon.pdf mac_x86 * * skia * diff
annotation_polygon.pdf * * * * fontations fuzzy=10,0.1,15
annotation_square_fill_negative_border.pdf mac_x86 * * skia * diff
annotation_square_fill_negative_border.pdf * * * * fontations fuzzy=10,0.1,15
annotation_square_hidden.pdf mac_x86 * * skia * diff
annotation_square_hidden.pdf * * * * fontations fuzzy=10,0.1,15
annotation_squiggly_hidden.pdf mac_x86 * * skia * diff
annotation_squiggly_hidden.pdf * * * * fontations fuzzy=10,0.1,15
annotation_stamp.pdf mac_x86 * * skia * diff
annotation_stamp.pdf * * * * fontations fuzzy=10,0.1,15
annotation_strikeout_hidden.pdf mac_x86 * * skia * diff
annotation_strikeout_hidden.pdf * * * * fontations fuzzy=10,0.1,15
annotation_strikeout_opacity.pdf * * * * fontations fuzzy=10,0.1,15
annotation_strikeout_opacity.pdf mac * * skia * fuzzy
annotation_underline.pdf mac_x86 * * skia * diff
annotation_underline.pdf * * * * fontations fuzzy=10,0.1,15
annotation_underline_hidden.pdf mac_x86 * * skia * diff
annotation_underline_hidden.pdf * * * * fontations fuzzy=10,0.1,15
annotation_underline_opacity.pdf mac_x86 * * skia * diff
annotation_underline_opacity.pdf * * * * fontations fuzzy=10,0.1,15
bug_668762.pdf mac_x86 * * skia * diff
bug_668762.pdf * * * * fontations fuzzy=10,0.1,15
edit_transform.pdf mac_x86 * * skia * diff
en_14_foxit_products.pdf mac_x86 * * skia * diff
en_14_foxit_products.pdf * * * * fontations fuzzy=10,0.1,15
en_contact.pdf mac_x86 * * skia * diff
en_foxit.pdf mac_x86 * * skia * diff
en_fqa.pdf mac_x86 * * skia * diff
en_fqa.pdf * * * * fontations fuzzy=10,0.1,15
example_002.pdf mac_x86 * * skia * diff
example_004.pdf mac_x86 * * skia * diff
example_028.pdf mac_x86 * * skia * diff
example_055.pdf mac_x86 * * skia * diff
font_1_embedded_font_en_feature.pdf mac_x86 * * skia * diff
font_1_embedded_font_en_feature.pdf * * * * fontations fuzzy=10,0.1,15
font_2_embedded_font_en_size14.pdf mac_x86 * * skia * diff
font_2_embedded_font_en_size14.pdf * * * * fontations fuzzy=10,0.1,15
new_stamp4.pdf mac_x86 * * skia * diff
octest.pdf mac_x86 * * skia * diff
path_5_pattern.pdf mac_x86 * * skia * diff
path_6_graphics4.5.5.pdf mac_x86 * * skia * diff
path_7.pdf mac_x86 * * skia * diff
quick_start_guide.pdf mac_x86 * * skia * diff
transparent1.pdf mac_x86 * * skia * diff
xfermodes.pdf mac_x86 * * skia * diff
xfermodes.pdf * * * skia * fuzzy
xfermodes2.pdf mac_x86 * * skia * diff
xfermodes3.pdf * * * skia * fuzzy
zh_function_list.pdf mac_x86 * * skia * diff

# GDI

# TODO(crbug.com/42271066): Remove after associated bug is fixed
1.pdf * * * gdi * diff
1.pdf * * * * * fuzzy
1.pdf mac * * skia * fuzzy
123.pdf * * * gdi * diff
123.pdf mac * * skia * fuzzy
1_image.pdf * * * gdi * diff
1_image.pdf mac * * skia * fuzzy
3_interpolate_image.pdf * * * gdi * diff
3bigpreview.pdf * * * gdi * diff
4_3.pdf * * * gdi * diff
4_3.pdf mac * * skia * fuzzy
4_36.pdf * * * gdi * diff
4_36.pdf mac * * skia * fuzzy
FRC_10_8.2.4_View_C.pdf * * * gdi * diff
FRC_8.4.1_Annotations_Type.pdf * * * gdi * diff
FRC_8.4.1_Annotations_Type.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.4.3_Border_Stypes_W_different_values.pdf * * * gdi * diff
FRC_8.4.3_Border_Stypes_W_different_values.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.5_Screen_Img_D_Launch.pdf * * * gdi * diff
FRC_8.5_Screen_Img_D_Launch.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.5_Screen_Img_D_Launch.pdf mac * * skia * fuzzy
FRC_8.5_URI_IsMap.pdf * * * gdi * diff
FRC_8.5_URI_IsMap.pdf * * * * * fuzzy
FRC_8.5_URI_IsMap.pdf mac * * skia * fuzzy
bug_691967.pdf * * * gdi_skia * diff
bug_691967.pdf * * * * * fuzzy
bug_691967.pdf mac * * skia * fuzzy
bug_86459.pdf * * * gdi * diff
bug_86459.pdf * * * * * fuzzy
bug_880920.pdf * * * gdi * diff
ch_7_0.pdf * * * gdi * diff
ch_7_0.pdf * * * * * fuzzy
ch_7_1.pdf * * * gdi * diff
ch_7_1.pdf * * * * * fuzzy
ch_7_4.pdf * * * gdi * diff
ch_7_4.pdf * * * * * fuzzy
ch_7_5.pdf * * * gdi * diff
ch_7_5.pdf * * * * * fuzzy
ch_7_6.pdf * * * gdi * diff
ch_7_6.pdf * * * * * fuzzy
ch_7_7.pdf * * * gdi * diff
ch_7_7.pdf * * * * * fuzzy
ch_7_8.pdf * * * gdi * diff
ch_7_8.pdf * * * * * fuzzy
en_tem.pdf * * * gdi * diff
example_001.pdf * * * gdi * diff
example_003.pdf * * * gdi * diff
example_004.pdf * * * gdi * diff
example_005.pdf * * * gdi * diff
example_006.pdf * * * gdi * diff
example_007.pdf * * * gdi * diff
example_008.pdf * * * gdi * diff
example_009.pdf * * * gdi * diff
example_010.pdf * * * gdi * diff
example_011.pdf * * * gdi * diff
example_013.pdf * * * gdi * diff
example_015.pdf * * * gdi * diff
example_016.pdf * * * gdi * diff
example_017.pdf * * * gdi * diff
example_018.pdf * * * gdi * diff
example_019.pdf * * * gdi * diff
example_020.pdf * * * gdi * diff
example_021.pdf * * * gdi * diff
example_022.pdf * * * gdi * diff
example_023.pdf * * * gdi * diff
example_024.pdf * * * gdi * diff
example_025.pdf * * * gdi * diff
example_026.pdf * * * gdi * diff
example_027.pdf * * * gdi * diff
example_029.pdf * * * gdi * diff
example_030.pdf * * * gdi * diff
example_031.pdf * * * gdi * diff
example_032.pdf * * * gdi * diff
example_033.pdf * * * gdi * diff
example_034.pdf * * * gdi * diff
example_035.pdf * * * gdi * diff
example_036.pdf * * * gdi * diff
example_037.pdf * * * gdi * diff
example_038.pdf * * * gdi * diff
example_039.pdf * * * gdi * diff
example_040.pdf * * * gdi * diff
example_041.pdf * * * gdi * diff
example_042.pdf * * * gdi * diff
example_043.pdf * * * gdi * diff
example_044.pdf * * * gdi * diff
example_045.pdf * * * gdi * diff
example_046.pdf * * * gdi * diff
example_047.pdf * * * gdi * diff
example_048.pdf * * * gdi * diff
example_049.pdf * * * gdi * diff
example_050.pdf * * * gdi * diff
example_051.pdf * * * gdi * diff
example_052.pdf * * * gdi * diff
example_053.pdf * * * gdi * diff
example_055.pdf * * * gdi * diff
example_056.pdf * * * gdi * diff
example_057.pdf * * * gdi * diff
example_058.pdf * * * gdi * diff
example_059.pdf * * * gdi * diff
example_060.pdf * * * gdi * diff
example_061.pdf * * * gdi * diff
example_062.pdf * * * gdi * diff
example_063.pdf * * * gdi * diff
example_064.pdf * * * gdi * diff
example_065.pdf * * * gdi * diff
image_8bit_devicergb_dctdecode.pdf * * * gdi * diff
image_8bit_devicergb_dctdecode.pdf * * * * * fuzzy
image_8bit_devicergb_dctdecode.pdf mac * * skia * fuzzy
image_bmp.pdf * * * gdi * diff
image_bmp.pdf * * * * * fuzzy
image_bmp.pdf mac * * skia * fuzzy
image_jpg.pdf * * * gdi * diff
image_jpg.pdf * * * * * fuzzy
image_jpg.pdf mac * * skia * fuzzy
image_png.pdf * * * gdi * diff
image_png.pdf mac * * skia * fuzzy
image_tif.pdf * * * gdi * diff
image_tif.pdf * * * * * fuzzy=10,0.05,10.0
mask_array.pdf * * * gdi * diff
new_stamp2.pdf * * * gdi * diff
quick_start_guide.pdf * * * gdi * diff
whats_new_in_v3.0.pdf * * * gdi * diff

# TODO(crbug.com/42271067): Remove after associated bug is fixed
Date_FormCale.pdf * * * gdi * diff
FRC_3.5_P__3648_Password_1.pdf * * * gdi * diff
FRC_3.5_P__3648_Password_1.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.4.1_Annotations_AP_N_R.D_.pdf * * * gdi * diff
FRC_8.4.1_Annotations_AP_N_R.D_.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.4.1_Annotations_AS_Off_.pdf * * * gdi * diff
FRC_8.4.1_Annotations_AS_Off_.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.4.1_Annotations_AS_Yes_.pdf * * * gdi * diff
FRC_8.4.1_Annotations_AS_Yes_.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.5_Bl_Hide.pdf * * * gdi * diff
FRC_8.5_Bl_Hide.pdf * * * * fontations diff
FRC_8.5_E_GoTo_D.pdf * * * gdi * diff
FRC_8.5_E_GoTo_D.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.5_Fo_URI_Base.pdf * * * gdi * diff
FRC_8.5_Fo_URI_Base.pdf * * * * fontations diff
FRC_8.5_U_GoToR_NewWindow.pdf * * * gdi * diff
FRC_8.5_U_GoToR_NewWindow.pdf * * * * fontations diff
FRC_8.5_U_GoToR_NewWindow_2.pdf * * * gdi * diff
FRC_8.5_U_GoToR_NewWindow_2.pdf * * * * fontations diff
FRC_8.5_Widget_C.pdf * * * gdi * diff
FRC_8.5_Widget_C.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.5_Widget_F.pdf * * * gdi * diff
FRC_8.5_Widget_K.pdf * * * gdi * diff
FRC_8.5_Widget_K.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.5_Widget_V.pdf * * * gdi * diff
FRC_8.5_Widget_V.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.5_X_GoToR_D.pdf * * * gdi * diff
FRC_8.5_X_GoToR_D.pdf * * * * fontations fuzzy=10,0.1,15
Line_Stroke.pdf * * * gdi * diff
Oneof1.pdf * * * gdi * diff
Oneof2.pdf * * * gdi * diff
PagePosition_any_rest.pdf * * * gdi * diff
PagePosition_any_rest.pdf * * * * fontations fuzzy=10,0.1,15
PagePosition_first.pdf * * * gdi * diff
PagePosition_first.pdf * * * * fontations diff
PagePosition_last.pdf * * * gdi * diff
PagePosition_last.pdf * * * * fontations diff
PagePosition_no_any.pdf * * * gdi * diff
PagePosition_no_any.pdf * * * * fontations fuzzy=10,0.1,15
PagePosition_rest.pdf * * * gdi * diff
PagePosition_rest.pdf * * * * fontations fuzzy=10,0.1,15
PagePosition_rest_any.pdf * * * gdi * diff
PagePosition_rest_any.pdf * * * * fontations fuzzy=10,0.1,15
Test_DateField_locale_en_CA.pdf * * * gdi * diff
Test_DateField_locale_en_CA.pdf * * * * fontations fuzzy=10,0.1,15
Test_DateField_locale_en_GB.pdf * * * gdi * diff
Test_DateField_locale_en_GB.pdf * * * * fontations fuzzy=10,0.1,15
Test_DateField_locale_en_US.pdf * * * gdi * diff
Test_DateField_locale_en_US.pdf * * * * fontations fuzzy=10,0.1,15
Test_DateField_locale_fr_CA.pdf * * * gdi * diff
Test_DateField_locale_fr_CA.pdf * * * * fontations fuzzy=10,0.1,15
Test_DateField_locale_fr_FR.pdf * * * gdi * diff
Test_DateField_locale_fr_FR.pdf * * * * fontations fuzzy=10,0.1,15
Test_DateField_locale_nl_NL.pdf * * * gdi * diff
Test_DateField_locale_nl_NL.pdf * * * * fontations fuzzy=10,0.1,15
Test_DateField_locale_zh_CN.pdf * * * gdi * diff
Test_DateField_locale_zh_CN.pdf * * * * fontations fuzzy=10,0.1,15
Test_DateField_locale_zh_HK.pdf * * * gdi * diff
Test_Drop_downList.pdf * * * gdi * diff
Test_Drop_downList.pdf * * * * fontations fuzzy=10,0.1,15
Test_NumericField.pdf * * * gdi * diff
Test_NumericField.pdf * * * * fontations fuzzy=10,0.1,15
Test_PasswordField.pdf * * * gdi * diff
Test_PasswordField.pdf * * * * fontations fuzzy=10,0.1,15
Test_RadioButton.pdf * * * gdi * diff
Test_RadioButton.pdf * * * * fontations fuzzy=10,0.1,15
Test_ResetButton.pdf * * * gdi * diff
Test_ResetButton.pdf * * * * fontations fuzzy=10,0.1,15
Test_TextField.pdf * * * gdi * diff
TimeField.pdf * * * gdi * diff
action_execute_a_menu_item.pdf * * * gdi * diff
action_hide_show_form.pdf * * * gdi * diff
action_on_focus.pdf * * * gdi * diff
action_reset.pdf * * * gdi * diff
action_run_javascript.pdf * * * gdi * diff
action_submit_a_form.pdf * * * gdi * diff
all_trigger_browsefordoc.pdf * * * gdi * diff
all_trigger_browsefordoc.pdf linux,win * * * fontations diff
all_trigger_browsefordoc.pdf * * * * * fuzzy
all_trigger_browsefordoc.pdf mac * * skia * fuzzy
all_trigger_newdoc.pdf * * * gdi * diff
all_trigger_newdoc.pdf * * * * fontations fuzzy=10,0.1,15
all_trigger_newdoc.pdf mac * * skia * fuzzy
all_trigger_run_js_lunchurl.pdf * * * gdi * diff
all_trigger_run_js_maildoc.pdf * * * gdi * diff
annotation_highlight_author_content.pdf * * * gdi * diff
annotation_highlight_long_content.pdf * * * gdi * diff
annotation_highlight_no_author.pdf * * * gdi * diff
app_launchurl.pdf * * * gdi * diff
bi.pdf * * * gdi * diff
bi.pdf mac * * skia * fuzzy
bug_434.pdf * * * gdi * diff
bug_440132.pdf * * * gdi * diff
calculate_average.pdf * * * gdi * diff
calculate_sum_a_b_c.pdf * * * gdi * diff
calculate_validate.pdf * * * gdi * diff
check_box_no_color.pdf * * * gdi * diff
combo_box_format.pdf * * * gdi * diff
date.pdf * * * gdi * diff
event.change.pdf * * * gdi * diff
event.changeex.pdf * * * gdi * diff
event.keydown.pdf * * * gdi * diff
event.keydown_1_.pdf * * * gdi * diff
event.shift.pdf * * * gdi * diff
event.type_name.pdf * * * gdi * diff
event.value.pdf * * * gdi * diff
event_change.pdf * * * gdi * diff
event_fieldfull.pdf * * * gdi * diff
event_fieldfull_1_.pdf * * * gdi * diff
example_014.pdf * * * gdi * diff
example_054.pdf * * * gdi * diff
form_button0.pdf * * * gdi * diff
form_button0.pdf mac * * skia * fuzzy
form_button1.pdf * * * gdi * diff
form_button1.pdf mac * * skia * fuzzy
form_button10.pdf * * * gdi * diff
form_button10.pdf mac * * skia * fuzzy
form_button2.pdf * * * gdi * diff
form_button2.pdf mac * * skia * fuzzy
form_button3.pdf * * * gdi * diff
form_button3.pdf mac * * skia * fuzzy
form_button4.pdf * * * gdi * diff
form_button4.pdf mac * * skia * fuzzy
form_button5.pdf * * * gdi * diff
form_button5.pdf mac * * skia * fuzzy
form_button7.pdf * * * gdi * diff
form_button7.pdf mac * * skia * fuzzy
form_button8.pdf * * * gdi * diff
form_button8.pdf mac * * skia * fuzzy
form_button9.pdf * * * gdi * diff
form_button9.pdf mac * * skia * fuzzy
form_checkbox.pdf * * * gdi * diff
form_checkbox1.pdf * * * gdi * diff
form_checkbox2.pdf * * * gdi * diff
form_checkbox3.pdf * * * gdi * diff
form_combobox_date.pdf * * * gdi * diff
form_combobox_date2.pdf * * * gdi * diff
form_combobox_num.pdf * * * gdi * diff
form_combobox_per.pdf * * * gdi * diff
form_combobox_plus.pdf * * * gdi * diff
form_combobox_product.pdf * * * gdi * diff
form_combobox_time.pdf * * * gdi * diff
form_radio.pdf * * * gdi * diff
form_same.pdf * * * gdi * diff
form_textfield_focused_ltr.in * * * gdi * diff
form_textfield_focused_ltr.in * * * * fontations fuzzy=10,0.1,15
form_textfield_focused_rtl.in * * * gdi * diff
form_textfield_focused_rtl.in * * * * fontations fuzzy=10,0.1,15
form_textfield_selected_ltr.in * * * gdi * diff
form_textfield_selected_rtl.in * * * gdi * diff
format_alert_box.pdf * * * gdi * diff
format_combo_box.pdf * * * gdi * diff
format_custom_format.pdf * * * gdi * diff
format_date.pdf * * * gdi * diff
format_number.pdf * * * gdi * diff
format_percentage.pdf * * * gdi * diff
format_special.pdf * * * gdi * diff
format_text_color.pdf * * * gdi * diff
getarray.pdf * * * gdi * diff
js_value_chack_box.pdf * * * gdi * diff
negative.pdf * * * gdi * diff
new_certify1.pdf * * * gdi * diff
new_signature1.pdf * * * gdi * diff
new_signature2.pdf * * * gdi * diff
none.pdf * * * gdi * diff
open_a_weblink.pdf * * * gdi * diff
percentage.pdf * * * gdi * diff
rotate.pdf * * * gdi * diff
show_1.pdf * * * gdi * diff
simplified_field_notation.pdf * * * gdi * diff
special.pdf * * * gdi * diff
submit_form.pdf * * * gdi * diff
text_field_font_input_decimal_point.pdf * * * gdi * diff
text_field_multiline_line_spacing.pdf * * * gdi * diff
time.pdf * * * gdi * diff
validate_alert_box.pdf * * * gdi * diff
widget_javascript.pdf * * * gdi * diff

# TODO(crbug.com/42271068): Remove after associated bug is fixed
1_10_watermark.pdf * * * gdi_skia * diff
1_10_watermark.pdf * * * * fontations fuzzy=10,0.1,15
1_10_watermark.pdf * * * skia * fuzzy
1_matrix.pdf * * * gdi * diff
2_color_tiling.pdf * * * gdi * diff
2_shading_type_6_00.pdf * * * gdi_skia * diff
2_shading_type_6_001.pdf * * * gdi_skia * diff
2_uncolor_tiling.pdf * * * gdi * diff
FRC_11_8.2.4_View_edit.pdf * * * gdi * diff
FRC_11_8.2.4_View_edit.pdf * * * * fontations diff
FRC_11_8.2.4_View_edit.pdf * * * * * fuzzy
FRC_11_8.2.4_View_edit.pdf mac * * skia * fuzzy
FRC_12_8.2.4_View_remove_all.pdf * * * gdi * diff
FRC_12_8.2.4_View_remove_all.pdf * * * * fontations diff
FRC_12_8.2.4_View_remove_all.pdf * * * * * fuzzy
FRC_12_8.2.4_View_remove_all.pdf mac * * skia * fuzzy
FRC_13_8.2.4_View_remove_value.pdf * * * gdi * diff
FRC_13_8.2.4_View_remove_value.pdf * * * * fontations diff
FRC_13_8.2.4_View_remove_value.pdf * * * * * fuzzy
FRC_13_8.2.4_View_remove_value.pdf mac * * skia * fuzzy
FRC_14_8.2.4_Sort_remove_all.pdf * * * gdi * diff
FRC_14_8.2.4_Sort_remove_all.pdf * * * * fontations diff
FRC_14_8.2.4_Sort_remove_all.pdf * * * * * fuzzy
FRC_14_8.2.4_Sort_remove_all.pdf mac * * skia * fuzzy
FRC_15_8.2.4_Sort_remove_value.pdf * * * gdi * diff
FRC_15_8.2.4_Sort_remove_value.pdf * * * * fontations diff
FRC_15_8.2.4_Sort_remove_value.pdf * * * * * fuzzy
FRC_15_8.2.4_Sort_remove_value.pdf mac * * skia * fuzzy
FRC_1_8.2.4_Type_8.6_.pdf * * * gdi * diff
FRC_1_8.2.4_Type_8.6_.pdf * * * * fontations diff
FRC_1_8.2.4_Type_8.6_.pdf * * * * * fuzzy
FRC_1_8.2.4_Type_8.6_.pdf mac * * skia * fuzzy
FRC_2_8.2.4_Type_8.6__remove_value.pdf * * * gdi * diff
FRC_2_8.2.4_Type_8.6__remove_value.pdf * * * * fontations diff
FRC_2_8.2.4_Type_8.6__remove_value.pdf * * * * * fuzzy
FRC_2_8.2.4_Type_8.6__remove_value.pdf mac * * skia * fuzzy
FRC_3.5_AuthEvent_EFOpen.pdf * * * gdi * diff
FRC_3.5_AuthEvent_EFOpen.pdf * * * * fontations diff
FRC_3.5_AuthEvent_EFOpen.pdf mac * * skia * fuzzy
FRC_3.5_CFM_AESV2__EncryptMetadata_F.pdf * * * gdi * diff
FRC_3.5_CFM_AESV2__EncryptMetadata_F.pdf * * * * fontations diff
FRC_3.5_CFM_AESV2__EncryptMetadata_F.pdf mac * * skia * fuzzy
FRC_3.5_CF_EFF_StdCF_Strf_Stmf_Identity.pdf * * * gdi * diff
FRC_3.5_CF_EFF_StdCF_Strf_Stmf_Identity.pdf * * * * fontations diff
FRC_3.5_CF_EFF_StdCF_Strf_Stmf_Identity.pdf mac * * skia * fuzzy
FRC_3.5_CF_Strf_stmf_StdCF.pdf * * * gdi * diff
FRC_3.5_CF_Strf_stmf_StdCF.pdf * * * * fontations diff
FRC_3.5_CF_Strf_stmf_StdCF.pdf mac * * skia * fuzzy
FRC_3.5_EncryptMetadata_None.pdf * * * gdi * diff
FRC_3.5_EncryptMetadata_None.pdf * * * * fontations diff
FRC_3.5_EncryptMetadata_None.pdf mac * * skia * fuzzy
FRC_3.5_V_4_CFM_V2_.pdf * * * gdi * diff
FRC_3.5_V_4_CFM_V2_.pdf * * * * fontations diff
FRC_3.5_V_4_CFM_V2_.pdf mac * * skia * fuzzy
FRC_3.5_V_5_CFM_AESV3.pdf * * * gdi * diff
FRC_3.5_V_5_CFM_AESV3.pdf * * * * fontations diff
FRC_3.5_V_5_CFM_AESV3.pdf mac * * skia * fuzzy
FRC_3.5_v_1_length_40_Filter_standard.pdf * * * gdi * diff
FRC_3.5_v_1_length_40_Filter_standard.pdf * * * * fontations diff
FRC_3.5_v_1_length_40_Filter_standard.pdf mac * * skia * fuzzy
FRC_3.5_v_2_length_128_AuthEvent_DocOpen_.pdf * * * gdi * diff
FRC_3.5_v_2_length_128_AuthEvent_DocOpen_.pdf * * * * fontations diff
FRC_3.5_v_2_length_128_AuthEvent_DocOpen_.pdf mac * * skia * fuzzy
FRC_3_8.2.4_Type_8.6__edit_.pdf * * * gdi * diff
FRC_3_8.2.4_Type_8.6__edit_.pdf * * * * fontations diff
FRC_3_8.2.4_Type_8.6__edit_.pdf * * * * * fuzzy
FRC_3_8.2.4_Type_8.6__edit_.pdf mac * * skia * fuzzy
FRC_4.5.5_Pattern_shading.pdf * * * gdi * diff
FRC_4.5.5_Pattern_shading.pdf * * * * fontations fuzzy=10,0.1,15
FRC_4.5.5_Pattern_shading.pdf mac * * skia * fuzzy
FRC_4.5.5_Pattern_tiling.pdf * * * gdi_skia * diff
FRC_4.5.5_Pattern_tiling.pdf * * * * fontations fuzzy=10,0.1,15
FRC_4_8.2.4_Schema_8.6__remove_all.pdf * * * gdi * diff
FRC_4_8.2.4_Schema_8.6__remove_all.pdf * * * * fontations diff
FRC_4_8.2.4_Schema_8.6__remove_all.pdf * * * * * fuzzy
FRC_4_8.2.4_Schema_8.6__remove_all.pdf mac * * skia * fuzzy
FRC_5_8.2.4_Schema_8.6__remove_value.pdf * * * gdi * diff
FRC_5_8.2.4_Schema_8.6__remove_value.pdf * * * * fontations diff
FRC_5_8.2.4_Schema_8.6__remove_value.pdf * * * * * fuzzy
FRC_5_8.2.4_Schema_8.6__remove_value.pdf mac * * skia * fuzzy
FRC_6_8.2.4_Schema_8.6__remove_obj.pdf * * * gdi * diff
FRC_6_8.2.4_Schema_8.6__remove_obj.pdf * * * * fontations diff
FRC_6_8.2.4_Schema_8.6__remove_obj.pdf * * * * * fuzzy
FRC_6_8.2.4_Schema_8.6__remove_obj.pdf mac * * skia * fuzzy
FRC_7_8.2.4_View_H.pdf * * * gdi * diff
FRC_7_8.2.4_View_H.pdf * * * * fontations diff
FRC_7_8.2.4_View_H.pdf * * * * * fuzzy
FRC_7_8.2.4_View_H.pdf mac * * skia * fuzzy
FRC_8_8.2.4_View_D.pdf * * * gdi * diff
FRC_8_8.2.4_View_D.pdf * * * * fontations diff
FRC_8_8.2.4_View_D.pdf * * * * * fuzzy
FRC_8_8.2.4_View_D.pdf mac * * skia * fuzzy
FRC_9_8.2.4_View_T.pdf * * * gdi * diff
FRC_9_8.2.4_View_T.pdf * * * * fontations diff
FRC_9_8.2.4_View_T.pdf * * * * * fuzzy
FRC_9_8.2.4_View_T.pdf mac * * skia * fuzzy
annotation_circle_fill_opacity.pdf * * * gdi_skia * diff
annotation_circle_fill_opacity.pdf * * * * fontations fuzzy=10,0.1,15
annotation_circle_fill_opacity.pdf mac * * skia * fuzzy
annotation_square_fill_opacity.pdf * * * gdi_skia * diff
annotation_square_fill_opacity.pdf * * * * fontations fuzzy=10,0.1,15
annotation_square_fill_opacity.pdf mac * * skia * fuzzy
annotation_square_fill_opacity_dash.pdf * * * gdi_skia * diff
annotation_square_fill_opacity_dash.pdf * * * * fontations fuzzy=10,0.1,15
annotation_square_fill_opacity_dash.pdf mac * * skia * fuzzy
bug_0_length_line.pdf * * * gdi * diff
bug_883026.pdf * * * gdi_skia * diff
bug_883026.pdf * * * * fontations fuzzy=10,0.1,15
clipping_text.pdf * * * gdi * diff
clipping_text.pdf * * * * fontations fuzzy=10,0.1,15
en_fqa.pdf * * * gdi_skia * diff
en_introduce.pdf * * * gdi_skia * diff
en_system.pdf * * * gdi * diff
en_system.pdf mac * * skia * fuzzy
example_012.pdf * * * gdi * diff
gradient_many_stops.pdf * * * gdi * diff
group_xobject.pdf * * * gdi * diff
group_xobject.pdf * * * * fontations fuzzy=10,0.1,15
image_gif.pdf * * * gdi_skia * diff
image_gif.pdf mac * * skia * fuzzy
image_ico.pdf * * * gdi_skia * diff
new_pdfsign1.pdf * * * gdi_skia * diff
new_pdfsign2.pdf * * * gdi_skia * diff
new_pdfsign3.pdf * * * gdi_skia * diff
new_pdfsign3.pdf * * * * * fuzzy
new_pdfsign4.pdf * * * gdi_skia * diff
new_stamp3.pdf * * * gdi_skia * diff
new_stamp3.pdf * * * * * fuzzy
new_stamp3.pdf mac * * skia * fuzzy
path_10_jd.pdf * * * gdi * diff
path_5_pattern.pdf * * * gdi * diff
path_7.pdf * * * gdi * diff
path_9.pdf * * * gdi * diff
transformation.pdf * * * gdi * diff
transparent1.pdf * * * gdi_skia * diff
xfermodes.pdf * * * gdi_skia * diff
xfermodes2.pdf * * * gdi * diff
xfermodes3.pdf * * * gdi_skia * diff

#
# JavaScript tests
#
bug_679642.in * * noxfa * * diff
bug_735912.in * * noxfa * * diff

# xfa_specific

# TODO(crbug.com/42270097): Remove after associated bug is fixed
resolve_nodes_1.pdf * * * * * diff

#
# Pixel tests
#

# TODO(crbug.com/475874968): Remove after the bug is fixed
alpha_composite.in * * * gdi * diff

# TODO(crbug.com/40643646): Remove after associated bug is fixed
bug_40643646.in * * * * * diff

# TODO(crbug.com/40721524): Remove after associated bug is fixed
bug_40721524.in * * * * * diff

# TODO(thestig): Remove after fixing inline image parsing.
bug_1236805.in * * * * * diff

# TODO(crbug.com/42270756): Remove after associated bug is fixed
bug_1258634.in * * * * * diff

# TODO(crbug.com/42270333): Remove after associated bug is fixed
bug_42270333.in * * * * * diff

# TODO(crbug.com/40860237): Remove after associated bug is fixed
bug_40860237.in mac * * agg * diff

# This test is intentionally suppressed on Windows. Normally, Windows provides
# the Symbol font, so this PDF would render correctly. However, in the hermetic
# test environment, there is no Symbol font and the rendering is incorrect.
bug_1442723.in win * * * * diff

# TODO(crbug.com/42270459): Remove after associated bug is fixed
bug_42270459_2.in * * * * * diff

# TODO(crbug.com/42270524): Remove after associated bug is fixed
bug_42270524.in * * * * * diff

# TODO(crbug.com/42270577): Remove after associated bug is fixed
bug_42270577.in * * * * * diff

# TODO(crbug.com/42270732): Remove after associated bug is fixed
bug_42270732.in * * * * * diff

# TODO(crbug.com/42270979): Remove after associated bug is fixed
bug_42270979_1.in * * * agg * diff
bug_42270979_2.in * * * agg * diff
bug_42270979_3.in * * * agg * diff

# TODO(crbug.com/42270980): Remove after associated bug is fixed
bug_42270980.in * * * * * diff

# TODO(crbug.com/42271010): Remove after associated bug is fixed
bug_42271010.pdf * * * * * diff

# TODO(crbug.com/41010502): Remove after associated bug is fixed
bug_41010502_1.in * * * * * diff

# TODO(crbug.com/346766787): Remove after associated bug is fixed
bug_346766787.in * * * * * diff

# TODO(crbug.com/394767650): Remove after associated bug is fixed
bug_394767650.in * * * * * diff

# TODO(crbug.com/41153500): Remove after associated bug is fixed
bug_41153500.in * * * agg * diff

# TODO(crbug.com/42271472): Remove after associated bug is fixed
bug_42271472.in * nov8 * * * diff

# TODO(crbug.com/40040570, crbug.com/40040569): Remove after associated bug is
# fixed
bug_40040570.in * * * skia * diff

# TODO(crbug.com/41470360): Remove after associated bug is fixed
bug_41470360.in * * * agg * diff

# TODO(crbug.com/42270756): Remove after associated bug is fixed
jpxdecode.in * * * * * diff
jpxdecode_without_bitspercomponent.in * * * * * diff
jpxdecode_without_colorspace.in * * * * * diff

# TODO(crbug.com/40661120): Remove after associated bug is fixed
reset_button.in * * * * * diff

# TODO(crbug.com/479849565): Remove after associated bug is fixed
bug_479849565.in * * * agg * diff

# xfa_specific

# TODO(crbug.com/42270088): Remove after associated bug is fixed
bug_997412.in win * * * * diff
# TODO(crbug.com/42270098): Remove after associated bug is fixed
standard_symbols.pdf * * * * * diff
# TODO(crbug.com/42270088): Remove after associated bug is fixed
xfa_example.in win * * * * diff
# TODO(crbug.com/42270088): Remove after associated bug is fixed
xfa_textfield.in win * * * * diff
xfa_textfield.in mac * * skia * fuzzy

# GDI

# TODO(crbug.com/42271066): Remove after associated bug is fixed
bug_1258968.in * * * gdi * diff
bug_1258968.in * * * skia * fuzzy
bug_1383708.in * * * gdi * diff
bug_1383708.in mac * * skia * fuzzy

# TODO(crbug.com/42271067): Remove after associated bug is fixed
barcode_test.pdf * * * gdi * diff
bug_1026918.in * * * gdi * diff
bug_1072440.in * * * gdi * diff
bug_113910.in * * * gdi * diff
bug_1282.in * * * gdi * diff
bug_1286970.in * * * gdi * diff
bug_1304714.in * * * gdi * diff
bug_1337.in * * * gdi * diff
bug_1372651.in * * * gdi * diff
bug_1372651.in * * * * fontations fuzzy=10,0.1,15
bug_477200528.in * * * gdi * diff
bug_477200528.in * * * * fontations fuzzy=10,0.1,15
bug_725389.in * * * gdi * diff
bug_725389.in * * * * fontations fuzzy=10,0.1,15
bug_733528.in * * * gdi * diff
bug_733528.in * * * * fontations fuzzy=10,0.1,15
bug_736695_1.in * * * gdi * diff
bug_736695_2.in * * * gdi * diff
bug_736695_2.in * * * * fontations fuzzy=10,0.1,15
bug_736695_3.in * * * gdi * diff
bug_736695_4.in * * * gdi * diff
bug_983137.in * * * gdi * diff
checkbox_radiobutton.in * * * gdi * diff
checkbox_radiobutton_hide.in * * * gdi * diff
checkbox_radiobutton_reset.in * * * gdi * diff
combobox_form.in * * * gdi * diff
dynamic_list_box_allow_multiple_selection.pdf * * * gdi * diff
dynamic_password_field_background_fill.pdf * * * gdi * diff
dynamic_password_field_background_fill.pdf mac * * skia * fuzzy
dynamic_table_color_and_width.pdf * * * gdi * diff
password.in * * * gdi * diff
resolve_nodes_0.pdf * * * gdi * diff
resolve_nodes_0.pdf * * * * * fuzzy
scrollable_widgets1.in * * * gdi * diff
scrollable_widgets2.in * * * gdi * diff
scrollable_widgets2.in * * * * fontations fuzzy=10,0.1,15
static_list_box_caption.pdf * * * gdi * diff
static_password_field_rotate.pdf * * * gdi * diff
text_form_custom_font.in * * * gdi * diff
text_form_multiline.in * * * gdi * diff
text_form_multiline.in * * * * fontations fuzzy=10,0.1,15
xfa_bmp_image.in * * * gdi * diff
xfa_gif_image.in * * * gdi * diff
xfa_jpg_image.in * * * gdi * diff
xfa_node_caption.pdf * * * gdi * diff
xfa_node_caption.pdf * * * * fontations fuzzy=10,0.1,15
xfa_node_caption.pdf mac * * skia * fuzzy
xfa_png_image.in * * * gdi * diff
xfa_rectangle_node.in * * * gdi * diff
xfa_tiff_image.in * * * gdi * diff
xfa_tiff_lzw_image.in * * * gdi * diff
xfa_tiff_packbits_image.in * * * gdi * diff

# TODO(crbug.com/42271068): Remove after associated bug is fixed
bug_1015233.in * * * gdi * diff
bug_1099446.in * * * gdi * diff
bug_1161.in * * * gdi * diff
bug_1236.in * * * gdi_skia * diff
bug_1288_1.in * * * gdi_skia * diff
bug_1330.in * * * gdi * diff
bug_1395648.in * * * gdi_skia * diff
bug_1396266.in * * * gdi_skia * diff
bug_1430333.in * * * gdi_skia * diff
bug_1822.in * * * gdi * diff
bug_1847.in * * * gdi_skia * diff
bug_1949.in * * * gdi_skia * diff
bug_1995.in * * * gdi_skia * diff
bug_41153500.in * * * gdi * diff
bug_42270979_1.in * * * gdi * diff
bug_42270979_3.in * * * gdi * diff
bug_632.in * * * gdi * diff
bug_632.in * * * * fontations fuzzy=10,0.1,15
bug_660850.in * * * gdi * diff
long_dashed_line.in * * * gdi * diff
matte.in * * * gdi_skia * diff

# TODO(crbug.com/361002664): Remove after associated bug is fixed
smask_blend.in * * * gdi * diff

# TODO(crbug.com/459586268): Remove this entry once macOS support for Intel
# hardware goes away. The test expectation is just different enough from the ARM
# rendering that fuzzy matching is not enough for it to match. The difference
# looks like it may be due to several rounding errors combining for a bigger
# than normal pixel value difference.
bug_1430333.in mac_x86 * * skia * diff
bug_1746.in mac_x86 * * skia * diff
#
# Merged from SUPPRESSIONS_IMAGE_DIFF and SUPPRESSIONS_EXACT_MATCHING; these
# name no test that appears above.
#
2_9_stamp2.pdf mac * * skia * fuzzy
2_9_stamp2.pdf * * * * fontations fuzzy=10,0.1,15
2_halftone.pdf mac * * skia * fuzzy
3_image_imagemask.pdf mac * * skia * fuzzy
FRC_3.5_CF_Strf_stmf_DefaultCryptFilter.pdf * * * * * blank
FRC_3.5_EncryptMetadata_T.pdf * * * * * blank
FRC_3.5_Encrypt_is_damage.pdf * * * * * blank
FRC_3.5_Filter_PubSec_SubFilter_s5.pdf * * * * * blank
FRC_3.5_Filter_PubSec_Sub_SubFilter_s4.pdf * * * * * blank
FRC_8.4.1_Annotations_Border.pdf mac * * skia * fuzzy
FRC_8.4.1_Annotations_Border.pdf * * * * fontations fuzzy=10,0.1,15
MouseEvents.pdf * * * * * blank
Oneof.pdf * * * * * blank
annotation_circle.pdf mac * * skia * fuzzy
annotation_circle.pdf * * * * fontations fuzzy=10,0.1,15
annotation_circle_dash.pdf mac * * skia * fuzzy
annotation_circle_dash.pdf * * * * fontations fuzzy=10,0.1,15
annotation_ellipse.pdf mac * * skia * fuzzy
annotation_ellipse.pdf * * * * fontations fuzzy=10,0.1,15
annotation_ellipse_fill.pdf mac * * skia * fuzzy
annotation_ellipse_fill.pdf * * * * fontations fuzzy=10,0.1,15
annotation_ellipse_fill_dash.pdf mac * * skia * fuzzy
annotation_ellipse_fill_dash.pdf * * * * fontations fuzzy=10,0.1,15
annotation_freetext.pdf mac * * skia * fuzzy
annotation_freetext.pdf * * * * fontations fuzzy=10,0.1,15
annotation_ink.pdf mac * * skia * fuzzy
annotation_ink.pdf * * * * fontations fuzzy=10,0.1,15
annotation_ink_dash.pdf mac * * skia * fuzzy
annotation_ink_dash.pdf * * * * fontations fuzzy=10,0.1,15
annotation_ink_dot.pdf mac * * skia * fuzzy
annotation_ink_dot.pdf * * * * fontations fuzzy=10,0.1,15
annotation_ink_multiple.pdf mac * * skia * fuzzy
annotation_ink_multiple.pdf * * * * fontations fuzzy=10,0.1,15
annotation_square.pdf mac * * skia * fuzzy
annotation_square.pdf * * * * fontations fuzzy=10,0.1,15
annotation_square_dash.pdf mac * * skia * fuzzy
annotation_square_dash.pdf * * * * fontations fuzzy=10,0.1,15
annotation_squiggly.pdf mac * * skia * fuzzy
annotation_squiggly.pdf * * * * fontations fuzzy=10,0.1,15
annotation_squiggly_opacity.pdf mac * * skia * fuzzy
annotation_squiggly_opacity.pdf * * * * fontations fuzzy=10,0.1,15
annotation_strikeout.pdf mac * * skia * fuzzy
annotation_strikeout.pdf * * * * fontations fuzzy=10,0.1,15
annotation_text.pdf mac * * skia * fuzzy
annotation_text.pdf * * * * fontations fuzzy=10,0.1,15
bug_651304.pdf * * * * * blank
ch_9_android.pdf mac * * skia * fuzzy
ch_9_android.pdf * * * * fontations fuzzy=10,0.1,15
en_uicase_2_.pdf mac * * skia * fuzzy
en_uicase_2_.pdf * * * * fontations fuzzy=10,0.1,15
image_foxit.pdf * * * * * fuzzy=10,0.35,10.0
image_transformer_other.in mac * * skia * fuzzy
outline.pdf * * * * * blank
radial_shading_point_at_border.in mac * * skia * fuzzy
radial_shading_point_at_border_no_extend.in mac * * skia * fuzzy
shade.in mac * * skia * fuzzy
shading_2_15.pdf mac * * skia * fuzzy
shading_2_17.pdf mac * * skia * fuzzy
shading_2_4.pdf mac * * skia * fuzzy
shading_2_7.pdf mac * * skia * fuzzy
shading_2_8.pdf mac * * skia * fuzzy
shading_2_9.pdf mac * * skia * fuzzy
zh_file_structure.pdf mac * * skia * fuzzy
zh_file_structure.pdf * * * * fontations diff
zh_page.pdf mac * * skia * fuzzy
zh_page.pdf * * * * fontations fuzzy=10,0.1,15
zh_webdav.pdf mac * * skia * fuzzy
zh_webdav.pdf * * * * fontations fuzzy=10,0.1,15
#
# Fontations, naming no test that appears above.
#
2_color_lab.pdf * * * * fontations diff
FRC_4.5.3_DeviceCMYK_K1.pdf * * * * fontations diff
FRC_4.5.3_DeviceRGB_RG1.pdf * * * * fontations diff
FRC_8.5_Catalog_OpenAction.pdf linux,win * * * fontations diff
FRC_8.5_Page_O_URI.pdf * * * * fontations diff
bug_1021762.in * * * * fontations fuzzy
bug_601362.in * * * * fontations diff
bug_736703.in * * * * fontations diff
bug_846.in * * * * fontations diff

#
# Fontations fuzzy matching, naming no test that appears above.
#
2_8_stamp1.pdf * * * * fontations fuzzy=10,0.1,15
FRC_10_8.2.2_Prev_remove_all.pdf * * * * fontations fuzzy=10,0.1,15
FRC_10_8.2.4__remove_ModDate_value.pdf * * * * fontations fuzzy=10,0.1,15
FRC_11_8.2.2_Prev_remove_obj.pdf * * * * fontations fuzzy=10,0.1,15
FRC_11_8.2.4__remove_ModDate_all.pdf * * * * fontations fuzzy=10,0.1,15
FRC_12_8.2.2__Next_remove_value.pdf * * * * fontations fuzzy=10,0.1,15
FRC_12_8.2.4__remove_ModDate_obj_.pdf * * * * fontations fuzzy=10,0.1,15
FRC_13_8.2.2__Next_remove_all.pdf * * * * fontations fuzzy=10,0.1,15
FRC_13_8.2.4_remove_Size_value.pdf * * * * fontations fuzzy=10,0.1,15
FRC_14_8.2.2__Next_remove_obj.pdf * * * * fontations fuzzy=10,0.1,15
FRC_14_8.2.4_remove_Size_all.pdf * * * * fontations fuzzy=10,0.1,15
FRC_15_8.2.2__Next_exchange.pdf * * * * fontations fuzzy=10,0.1,15
FRC_15_8.2.4_remove_Size_obj.pdf * * * * fontations fuzzy=10,0.1,15
FRC_16_8.2.2__Next_add.pdf * * * * fontations fuzzy=10,0.1,15
FRC_16_8.2.4__remove_CompressedSize__value.pdf * * * * fontations fuzzy=10,0.1,15
FRC_17_8.2.2__T8.4_First_remove_value.pdf * * * * fontations fuzzy=10,0.1,15
FRC_17_8.2.4__remove_CompressedSize__all.pdf * * * * fontations fuzzy=10,0.1,15
FRC_18_8.2.2__T8.4_First_remove_all.pdf * * * * fontations fuzzy=10,0.1,15
FRC_18_8.2.4__remove_CompressedSize__obj.pdf * * * * fontations fuzzy=10,0.1,15
FRC_19_8.2.2__T8.4_First_remove_obj.pdf * * * * fontations fuzzy=10,0.1,15
FRC_19_8.2.4__remove_CreationDate_value.pdf * * * * fontations fuzzy=10,0.1,15
FRC_1_8.2.2__Title_edit.pdf * * * * fontations fuzzy=10,0.1,15
FRC_1_8.2.4__original.pdf * * * * fontations fuzzy=10,0.1,15
FRC_20_8.2.2__T8.4_First_remove_value2.pdf * * * * fontations fuzzy=10,0.1,15
FRC_20_8.2.4__remove_CreationDate_all.pdf * * * * fontations fuzzy=10,0.1,15
FRC_21_8.2.2__T8.4_First_remove_all2.pdf * * * * fontations fuzzy=10,0.1,15
FRC_21_8.2.4__remove_CreationDate_obj.pdf * * * * fontations fuzzy=10,0.1,15
FRC_22_8.2.2__T8.4_First_remove_obj2.pdf * * * * fontations fuzzy=10,0.1,15
FRC_22_8.2.4__remove_Order_value.pdf * * * * fontations fuzzy=10,0.1,15
FRC_23_8.2.2__T8.4_Last_remove_value.pdf * * * * fontations fuzzy=10,0.1,15
FRC_23_8.2.4__remove_Order_all.pdf * * * * fontations fuzzy=10,0.1,15
FRC_24_8.2.2__T8.4_Last_remove_all.pdf * * * * fontations fuzzy=10,0.1,15
FRC_24_8.2.4__remove_Order_obj.pdf * * * * fontations fuzzy=10,0.1,15
FRC_25_8.2.2__T8.4_Last_remove_obj.pdf * * * * fontations fuzzy=10,0.1,15
FRC_26_8.2.2__T8.4_Last_remove_value2.pdf * * * * fontations fuzzy=10,0.1,15
FRC_27_8.2.2__T8.4_Last_remove_all2.pdf * * * * fontations fuzzy=10,0.1,15
FRC_28_8.2.2__T8.4_Last_remove_obj2.pdf * * * * fontations fuzzy=10,0.1,15
FRC_29_8.2.2__T8.4_First_Last_exchange.pdf * * * * fontations fuzzy=10,0.1,15
FRC_2_8.2.2__Title_remove_value.pdf * * * * fontations fuzzy=10,0.1,15
FRC_2_8.2.4__add_type_.pdf * * * * fontations fuzzy=10,0.1,15
FRC_3.5_P_4_Password_1.pdf * * * * fontations fuzzy=10,0.1,15
FRC_3.5_P__1852_Password_1.pdf * * * * fontations fuzzy=10,0.1,15
FRC_3.5_P__2584_Password_1.pdf * * * * fontations fuzzy=10,0.1,15
FRC_3.5_P__2616_Password_1.pdf * * * * fontations fuzzy=10,0.1,15
FRC_3.5_P__2880_Password_1.pdf * * * * fontations fuzzy=10,0.1,15
FRC_3.5_P__3376_Password_1.pdf * * * * fontations fuzzy=10,0.1,15
FRC_3.5_P__3392_Password_1.pdf * * * * fontations fuzzy=10,0.1,15
FRC_3.5_P__3608_Password_1.pdf * * * * fontations fuzzy=10,0.1,15
FRC_3.5_P__3900_Password_1.pdf * * * * fontations fuzzy=10,0.1,15
FRC_31_8.2.2_add_dest_entry.pdf * * * * fontations fuzzy=10,0.1,15
FRC_32_8.2.2_A_Support_action.pdf * * * * fontations fuzzy=10,0.1,15
FRC_33_8.2.2_A_empty.pdf * * * * fontations fuzzy=10,0.1,15
FRC_34_8.2.2_A_remove.pdf * * * * fontations fuzzy=10,0.1,15
FRC_35_8.2.2_A_remove_A_item.pdf * * * * fontations fuzzy=10,0.1,15
FRC_36_8.2.2_Dest.pdf * * * * fontations fuzzy=10,0.1,15
FRC_37_8.2.2_Dest_empty.pdf * * * * fontations fuzzy=10,0.1,15
FRC_38_8.2.2_Dest_remove.pdf * * * * fontations fuzzy=10,0.1,15
FRC_39_8.2.2_C_edit.pdf * * * * fontations fuzzy=10,0.1,15
FRC_3_8.2.2__Title_remove_all.pdf * * * * fontations fuzzy=10,0.1,15
FRC_3_8.2.4__add_type_value.pdf * * * * fontations fuzzy=10,0.1,15
FRC_4.5.3_DeviceCMYK_k.pdf * * * * fontations fuzzy=10,0.1,15
FRC_4.5.3_DeviceGray_G1.pdf * * * * fontations fuzzy=10,0.1,15
FRC_4.5.3_DeviceGray_g.pdf * * * * fontations fuzzy=10,0.1,15
FRC_4.5.3_DeviceRGB_rg.pdf * * * * fontations fuzzy=10,0.1,15
FRC_4.5.4_CalGray_gamma.pdf * * * * fontations fuzzy=10,0.1,15
FRC_4.5.4_CalGray_whitepoint.pdf * * * * fontations fuzzy=10,0.1,15
FRC_4.5.4_CalRGB_gamma.pdf * * * * fontations fuzzy=10,0.1,15
FRC_4.5.4_CalRGB_matrix.pdf * * * * fontations fuzzy=10,0.1,15
FRC_4.5.4_CalRGB_whitepoint.pdf * * * * fontations fuzzy=10,0.1,15
FRC_4.5.4_ICCBased.pdf * * * * fontations fuzzy=10,0.1,15
FRC_4.5.4_Lab.pdf * * * * fontations fuzzy=10,0.1,15
FRC_4.5.4_RI_Absolute.pdf * * * * fontations fuzzy=10,0.1,15
FRC_4.5.4_RI_Perceptual.pdf * * * * fontations fuzzy=10,0.1,15
FRC_4.5.4_RI_Relative.pdf * * * * fontations fuzzy=10,0.1,15
FRC_4.5.4_RI_Saturation.pdf * * * * fontations fuzzy=10,0.1,15
FRC_4.5.4_Separation.pdf * * * * fontations fuzzy=10,0.1,15
FRC_4.5.5_DeviceN.pdf * * * * fontations fuzzy=10,0.1,15
FRC_4.5.5_Indexed.pdf * * * * fontations fuzzy=10,0.1,15
FRC_40_8.2.2_C_empty1.pdf * * * * fontations fuzzy=10,0.1,15
FRC_41_8.2.2_C_empty2.pdf * * * * fontations fuzzy=10,0.1,15
FRC_42_8.2.2_C_empty3.pdf * * * * fontations fuzzy=10,0.1,15
FRC_43_8.2.2_C_empty.pdf * * * * fontations fuzzy=10,0.1,15
FRC_44_8.2.2_C_remove.pdf * * * * fontations fuzzy=10,0.1,15
FRC_45_8.2.2_F_edit_F_1_2_3.pdf * * * * fontations fuzzy=10,0.1,15
FRC_46_8.2.2_F_edit_F__1__2__3.pdf * * * * fontations fuzzy=10,0.1,15
FRC_47_8.2.2_F_edit_F_32__32.pdf * * * * fontations fuzzy=10,0.1,15
FRC_48_8.2.2_F_edit_F_100__100.pdf * * * * fontations fuzzy=10,0.1,15
FRC_49_8.2.2_F_empty.pdf * * * * fontations fuzzy=10,0.1,15
FRC_4_8.2.2_Parent_edit2.pdf * * * * fontations fuzzy=10,0.1,15
FRC_4_8.2.4__remove_FileName_value.pdf * * * * fontations fuzzy=10,0.1,15
FRC_50_8.2.2_F_remove.pdf * * * * fontations fuzzy=10,0.1,15
FRC_51_8.2.2_T_8.4__Count_edit_count_100.pdf * * * * fontations fuzzy=10,0.1,15
FRC_52_8.2.2_T_8.4__Count_edit_count_0.pdf * * * * fontations fuzzy=10,0.1,15
FRC_53_8.2.2_T_8.4__Count_empty.pdf * * * * fontations fuzzy=10,0.1,15
FRC_54_8.2.2_T_8.4__Count_empty1.pdf * * * * fontations fuzzy=10,0.1,15
FRC_55_8.2.2_T_8.4__Count_remove.pdf * * * * fontations fuzzy=10,0.1,15
FRC_56_8.2.2_C_edit_C__1.pdf * * * * fontations fuzzy=10,0.1,15
FRC_57_8.2.2_C_edit_C_2.pdf * * * * fontations fuzzy=10,0.1,15
FRC_58_8.2.2_Count_edit_count__2.pdf * * * * fontations fuzzy=10,0.1,15
FRC_5_8.2.2_Parent_remove_value.pdf * * * * fontations fuzzy=10,0.1,15
FRC_5_8.2.4__remove_FileName_all.pdf * * * * fontations fuzzy=10,0.1,15
FRC_6_8.2.2_Parent_remove_all.pdf * * * * fontations fuzzy=10,0.1,15
FRC_6_8.2.4__remove_FileName_obj.pdf * * * * fontations fuzzy=10,0.1,15
FRC_7_8.2.2_Parent_remove_obj.pdf * * * * fontations fuzzy=10,0.1,15
FRC_7_8.2.4__remove_Description_value.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.4.1_Annotations_AP_N_.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.4.1_Annotations_AP_N_R_.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.4.1_Annotations_C.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.4.1_Annotations_M_text_string_.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.4.1_Annotations_P.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.4.1_Annotations_Rect.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.4.2_Annotation_Flags_F_Hidden.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.4.2_Annotation_Flags_F_Invisible.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.4.2_Annotation_Flags_F_Locked.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.4.2_Annotation_Flags_F_LockedContents.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.4.2_Annotation_Flags_F_NoRotate.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.4.2_Annotation_Flags_F_NoView.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.4.2_Annotation_Flags_F_NoZoom.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.4.2_Annotation_Flags_F_Print.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.4.2_Annotation_Flags_F_ReadOnly.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.4.2_Annotation_Flags_F_ToggleNoView.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.4.3_Border_Stypes_D_different_values.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.4.3_Border_Stypes_D_remove.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.4.3_Border_Stypes_I_different_values.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.4.3_Border_Stypes_I_remove.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.4.3_Border_Stypes_S_different_values_BE_.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.4.3_Border_Stypes_S_different_values_BS_.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.4.3_Border_Stypes_S_not_exist_BS_.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.4.3_Border_Stypes_S_remove_BE_.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.4.3_Border_Stypes_S_remove_BS_.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.4.3_Border_Stypes_Type_add.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.4.3_Border_Stypes_Type_not_exist_default_.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.4.3_Border_Stypes_W_remove.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.5_Catalog_WC.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.5_DP.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.5_DS.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.5_Link_URL.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.5_Outline_A.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.5_Page_PV_Named_Phantom.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.5_Screen_Fo_JavaScript.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.5_Screen_Rendition.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.5_WP.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8.5_WS.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8_8.2.2_Parent_edit.pdf * * * * fontations fuzzy=10,0.1,15
FRC_8_8.2.4__remove__Description_all.pdf * * * * fontations fuzzy=10,0.1,15
FRC_9_8.2.2_Prev_remove_value.pdf * * * * fontations fuzzy=10,0.1,15
FRC_9_8.2.4__remove__Description_obj.pdf * * * * fontations fuzzy=10,0.1,15
annotation_highlight_no_content.pdf * * * * fontations fuzzy=10,0.1,15
bug_113910.in * * * * fontations fuzzy=10,0.1,15
bug_1752.in * * * * fontations fuzzy=10,0.1,15
bug_1772.in * * * * fontations fuzzy=10,0.1,15
bug_1922.in * * * * fontations fuzzy=10,0.1,15
bug_432208037.in * * * * fontations fuzzy=10,0.1,15
bug_493126_endobj_bug.pdf * * * * fontations fuzzy=10,0.1,15
bug_493126_endobj_bug_weirdWS.pdf * * * * fontations fuzzy=10,0.1,15
bug_524043_1.in * * * * fontations fuzzy=10,0.1,15
bug_524043_2.in * * * * fontations fuzzy=10,0.1,15
bug_524043_3.in * * * * fontations fuzzy=10,0.1,15
bug_524043_4.in * * * * fontations fuzzy=10,0.1,15
bug_524043_5.in * * * * fontations fuzzy=10,0.1,15
bug_524043_7.in * * * * fontations fuzzy=10,0.1,15
bug_528103.in * * * * fontations fuzzy=10,0.1,15
bug_543018_1.in * * * * fontations fuzzy=10,0.1,15
bug_543018_2.in * * * * fontations fuzzy=10,0.1,15
bug_551258_1.in * * * * fontations fuzzy=10,0.1,15
bug_665467.in * * * * fontations fuzzy=10,0.1,15
bug_736695_3.in * * * * fontations fuzzy=10,0.1,15
bug_820345.in * * * * fontations fuzzy=10,0.1,15
bug_845697.in * * * * fontations fuzzy=10,0.1,15
bug_909762.in * * * * fontations fuzzy=10,0.1,15
bug_925736.pdf * * * * fontations fuzzy=10,0.1,15
ch_7_10.pdf * * * * fontations fuzzy=10,0.1,15
ch_7_11.pdf * * * * fontations fuzzy=10,0.1,15
ch_7_12.pdf * * * * fontations fuzzy=10,0.1,15
ch_7_14.pdf * * * * fontations fuzzy=10,0.1,15
ch_7_15.pdf * * * * fontations fuzzy=10,0.1,15
font_size.in * * * * fontations fuzzy=10,0.1,15
form_textfield_selected_ltr.in * * * * fontations fuzzy=10,0.1,15
form_textfield_selected_rtl.in * * * * fontations fuzzy=10,0.1,15
foxittext.pdf * * * * fontations fuzzy=10,0.1,15
freetext_annotation_with_da.in * * * * fontations fuzzy=10,0.1,15
freetext_annotation_without_da.pdf * * * * fontations fuzzy=10,0.1,15
generation_numbers1.pdf * * * * fontations fuzzy=10,0.1,15
generation_numbers2.pdf * * * * fontations fuzzy=10,0.1,15
password.in * * * * fontations fuzzy=10,0.1,15
scrollable_widgets1.in * * * * fontations fuzzy=10,0.1,15
