# Copyright 2023 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 tests to use fuzzy instead of exact matching, one per line.
# There are at least five space-separated columns per line.
#
# Columns 0-4 are predicates (matching conditions):
# 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, skia
#
# Column 5 is the optional value (diff parameters):
# Column 5 (optional): *, or <delta>,<mse>,<win_mse>
#                      (e.g. 3,0.05,15.0; defaults apply if omitted or *)
#
# All predicate columns on a line must match, but filenames may be
# repeated on subsequent lines to match more cases. Within predicate
# columns (except column 0), a comma-separated list of values may be
# provided, where any one of the values matching satisfies the predicate for
# that column.
# 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".
#
# Try to keep the file alphabetized within each category of test.

#
# Pixel tests
#

# Sensitive to transparency code changes.
bug_1258968.in * * * skia

# Decoder and text subpixel differences.
resolve_nodes_0.pdf * * * * fuzzy

# TODO(crbug.com/459586268): Remove these entries once macOS support for Intel
# hardware goes away. Then rebase the test expectations as needed.
bug_1383708.in mac * * skia
dynamic_password_field_background_fill.pdf mac * * skia
image_transformer_other.in mac * * skia
radial_shading_point_at_border.in mac * * skia
radial_shading_point_at_border_no_extend.in mac * * skia
shade.in mac * * skia
xfa_textfield.in mac * * skia

#
# Corpus tests
#

# Sensitive to transparency code changes.
1_10_watermark.pdf * * * skia

# Device-specific ColorBurn differences (see pdfium:1959).
xfermodes.pdf * * * skia
xfermodes2.pdf * * * skia
xfermodes3.pdf * * * skia

# Continuous-tone JPEG upsampling and edge reconstruction tolerance.
1.pdf * * * * fuzzy
3bigpreview.pdf * * * * fuzzy=21,0.1,10.0
FRC_11_8.2.4_View_edit.pdf * * * * fuzzy
FRC_12_8.2.4_View_remove_all.pdf * * * * fuzzy
FRC_13_8.2.4_View_remove_value.pdf * * * * fuzzy
FRC_14_8.2.4_Sort_remove_all.pdf * * * * fuzzy
FRC_15_8.2.4_Sort_remove_value.pdf * * * * fuzzy
FRC_1_8.2.4_Type_8.6_.pdf * * * * fuzzy
FRC_2_8.2.4_Type_8.6__remove_value.pdf * * * * fuzzy
FRC_3_8.2.4_Type_8.6__edit_.pdf * * * * fuzzy
FRC_4_8.2.4_Schema_8.6__remove_all.pdf * * * * fuzzy
FRC_5_8.2.4_Schema_8.6__remove_value.pdf * * * * fuzzy
FRC_6_8.2.4_Schema_8.6__remove_obj.pdf * * * * fuzzy
FRC_7_8.2.4_View_H.pdf * * * * fuzzy
FRC_8.5_URI_IsMap.pdf * * * * fuzzy
FRC_8_8.2.4_View_D.pdf * * * * fuzzy
FRC_9_8.2.4_View_T.pdf * * * * fuzzy
all_trigger_browsefordoc.pdf * * * * fuzzy
bug_691967.pdf * * * * fuzzy
bug_86459.pdf * * * * fuzzy
ch_7_0.pdf * * * * fuzzy
ch_7_1.pdf * * * * fuzzy
ch_7_4.pdf * * * * fuzzy
ch_7_5.pdf * * * * fuzzy
ch_7_6.pdf * * * * fuzzy
ch_7_7.pdf * * * * fuzzy
ch_7_8.pdf * * * * fuzzy
en_tem.pdf * * * * fuzzy
example_001.pdf * * * * fuzzy
example_003.pdf * * * * fuzzy
example_004.pdf * * * * fuzzy
example_005.pdf * * * * fuzzy
example_006.pdf * * * * fuzzy
example_007.pdf * * * * fuzzy
example_008.pdf * * * * fuzzy
example_009.pdf * * * * fuzzy=3,0.15,5.0
example_010.pdf * * * * fuzzy
example_011.pdf * * * * fuzzy
example_013.pdf * * * * fuzzy
example_014.pdf * * * * fuzzy
example_015.pdf * * * * fuzzy
example_016.pdf * * * * fuzzy
example_017.pdf * * * * fuzzy
example_018.pdf * * * * fuzzy
example_019.pdf * * * * fuzzy
example_020.pdf * * * * fuzzy
example_021.pdf * * * * fuzzy
example_022.pdf * * * * fuzzy
example_023.pdf * * * * fuzzy
example_024.pdf * * * * fuzzy
example_025.pdf * * * * fuzzy
example_026.pdf * * * * fuzzy=4,0.05,5.0
example_027.pdf * * * * fuzzy
example_029.pdf * * * * fuzzy
example_030.pdf * * * * fuzzy
example_031.pdf * * * * fuzzy
example_032.pdf * * * * fuzzy
example_033.pdf * * * * fuzzy
example_034.pdf * * * * fuzzy=4,0.05,5.0
example_035.pdf * * * * fuzzy
example_036.pdf * * * * fuzzy
example_037.pdf * * * * fuzzy
example_038.pdf * * * * fuzzy
example_039.pdf * * * * fuzzy
example_040.pdf * * * * fuzzy
example_041.pdf * * * * fuzzy
example_042.pdf * * * * fuzzy
example_043.pdf * * * * fuzzy
example_044.pdf * * * * fuzzy
example_045.pdf * * * * fuzzy
example_046.pdf * * * * fuzzy
example_047.pdf * * * * fuzzy
example_048.pdf * * * * fuzzy
example_049.pdf * * * * fuzzy
example_050.pdf * * * * fuzzy
example_051.pdf * * * * fuzzy=3,0.35,5.0
example_052.pdf * * * * fuzzy
example_053.pdf * * * * fuzzy
example_054.pdf * * * * fuzzy
example_055.pdf * * * * fuzzy
example_056.pdf * * * * fuzzy
example_057.pdf * * * * fuzzy
example_058.pdf * * * * fuzzy
example_059.pdf * * * * fuzzy
example_060.pdf * * * * fuzzy
example_061.pdf * * * * fuzzy
example_062.pdf * * * * fuzzy=4,0.05,5.0
example_063.pdf * * * * fuzzy
example_064.pdf * * * * fuzzy
example_065.pdf * * * * fuzzy
image_8bit_devicergb_dctdecode.pdf * * * * fuzzy
image_bmp.pdf * * * * fuzzy
image_foxit.pdf * * * * fuzzy=10,0.35,10.0
image_jpg.pdf * * * * fuzzy
image_tif.pdf * * * * fuzzy=10,0.05,10.0
new_pdfsign3.pdf * * * * fuzzy
new_stamp3.pdf * * * * fuzzy
quick_start_guide.pdf * * * * fuzzy=4,0.05,5.0

# TODO(crbug.com/459586268): Remove these entries once macOS support for Intel
# hardware goes away. Then rebase the test expectations as needed.
1.pdf mac * * skia
123.pdf mac * * skia
1_image.pdf mac * * skia
2_11_stamp3.pdf mac * * skia
2_9_stamp2.pdf mac * * skia
2_halftone.pdf mac * * skia
3_image_imagemask.pdf mac * * skia
3_interpolate_image.pdf mac * * skia
4_3.pdf mac * * skia
4_36.pdf mac * * skia
FRC_11_8.2.4_View_edit.pdf mac * * skia
FRC_12_8.2.4_View_remove_all.pdf mac * * skia
FRC_13_8.2.4_View_remove_value.pdf mac * * skia
FRC_14_8.2.4_Sort_remove_all.pdf mac * * skia
FRC_15_8.2.4_Sort_remove_value.pdf mac * * skia
FRC_1_8.2.4_Type_8.6_.pdf mac * * skia
FRC_2_8.2.4_Type_8.6__remove_value.pdf mac * * skia
FRC_3.5_AuthEvent_EFOpen.pdf mac * * skia
FRC_3.5_CFM_AESV2__EncryptMetadata_F.pdf mac * * skia
FRC_3.5_CF_EFF_StdCF_Strf_Stmf_Identity.pdf mac * * skia
FRC_3.5_CF_Strf_stmf_StdCF.pdf mac * * skia
FRC_3.5_EncryptMetadata_None.pdf mac * * skia
FRC_3.5_V_4_CFM_V2_.pdf mac * * skia
FRC_3.5_V_5_CFM_AESV3.pdf mac * * skia
FRC_3.5_v_1_length_40_Filter_standard.pdf mac * * skia
FRC_3.5_v_2_length_128_AuthEvent_DocOpen_.pdf mac * * skia
FRC_3_8.2.4_Type_8.6__edit_.pdf mac * * skia
FRC_4.5.5_Pattern_shading.pdf mac * * skia
FRC_4_8.2.4_Schema_8.6__remove_all.pdf mac * * skia
FRC_5_8.2.4_Schema_8.6__remove_value.pdf mac * * skia
FRC_6_8.2.4_Schema_8.6__remove_obj.pdf mac * * skia
FRC_7_8.2.4_View_H.pdf mac * * skia
FRC_8.4.1_Annotations_Border.pdf mac * * skia
FRC_8.5_Screen_Img_D_Launch.pdf mac * * skia
FRC_8.5_URI_IsMap.pdf mac * * skia
FRC_8_8.2.4_View_D.pdf mac * * skia
FRC_9_8.2.4_View_T.pdf mac * * skia
action_execute_a_menu_item.pdf mac * * skia
action_hide_show_form.pdf mac * * skia
action_reset.pdf mac * * skia
all_trigger_browsefordoc.pdf mac * * skia
all_trigger_newdoc.pdf mac * * skia
all_trigger_run_js_lunchurl.pdf mac * * skia
all_trigger_run_js_maildoc.pdf mac * * skia
annotation_circle.pdf mac * * skia
annotation_circle_dash.pdf mac * * skia
annotation_circle_fill_opacity.pdf mac * * skia
annotation_ellipse.pdf mac * * skia
annotation_ellipse_fill.pdf mac * * skia
annotation_ellipse_fill_dash.pdf mac * * skia
annotation_freetext.pdf mac * * skia
annotation_highlight_author_content.pdf mac * * skia
annotation_highlight_long_content.pdf mac * * skia
annotation_highlight_no_author.pdf mac * * skia
annotation_ink.pdf mac * * skia
annotation_ink_dash.pdf mac * * skia
annotation_ink_dot.pdf mac * * skia
annotation_ink_multiple.pdf mac * * skia
annotation_square.pdf mac * * skia
annotation_square_dash.pdf mac * * skia
annotation_square_fill_opacity.pdf mac * * skia
annotation_square_fill_opacity_dash.pdf mac * * skia
annotation_squiggly.pdf mac * * skia
annotation_squiggly_opacity.pdf mac * * skia
annotation_strikeout.pdf mac * * skia
annotation_strikeout_opacity.pdf mac * * skia
annotation_text.pdf mac * * skia
bi.pdf mac * * skia
bug_691967.pdf mac * * skia
ch_9_android.pdf mac * * skia
colorspace.pdf mac * * skia
colorspace_test1.pdf mac * * skia
en_fqa2.pdf mac * * skia
en_system.pdf mac * * skia
en_tem.pdf mac * * skia
en_uicase_.pdf mac * * skia
en_uicase_2_.pdf mac * * skia
example_001.pdf mac * * skia
example_006.pdf mac * * skia
example_010.pdf mac * * skia
example_018.pdf mac * * skia
example_025.pdf mac * * skia
example_039.pdf mac * * skia
example_040.pdf mac * * skia
example_057.pdf mac * * skia
example_058.pdf mac * * skia
example_060.pdf mac * * skia
example_063.pdf mac * * skia
example_064.pdf mac * * skia
form_button0.pdf mac * * skia
form_button1.pdf mac * * skia
form_button10.pdf mac * * skia
form_button2.pdf mac * * skia
form_button3.pdf mac * * skia
form_button4.pdf mac * * skia
form_button5.pdf mac * * skia
form_button7.pdf mac * * skia
form_button8.pdf mac * * skia
form_button9.pdf mac * * skia
image_8bit_devicergb_dctdecode.pdf mac * * skia
image_bmp.pdf mac * * skia
image_gif.pdf mac * * skia
image_jpg.pdf mac * * skia
image_png.pdf mac * * skia
new_stamp3.pdf mac * * skia
new_textmarkup2.pdf mac * * skia
new_textmarkup8.pdf mac * * skia
path_5_pattern.pdf mac * * skia
path_9.pdf mac_x86 * * skia
shading_2_15.pdf mac * * skia
shading_2_17.pdf mac * * skia
shading_2_4.pdf mac * * skia
shading_2_7.pdf mac * * skia
shading_2_8.pdf mac * * skia
shading_2_9.pdf mac * * skia
whats_new_in_v3.0.pdf mac * * skia
xfa_node_caption.pdf mac * * skia
zh_file_structure.pdf mac * * skia
zh_function_list.pdf mac * * skia
zh_page.pdf mac * * skia
zh_webdav.pdf mac * * skia
