From 54dfb659ec3f599193769fd542e70671435e491d Mon Sep 17 00:00:00 2001 From: Gilles Leblanc Date: Mon, 2 Mar 2015 19:58:13 -0500 Subject: [PATCH] Organize reftest list alphabetically and make the tidy script check it Reftest list check is checked using Python's default string comparison. Also added a notice in the tidy script when there are no errors. Fixes #5092 --- python/tidy.py | 37 +++- tests/ref/basic.list | 439 +++++++++++++++++++++---------------------- 2 files changed, 253 insertions(+), 223 deletions(-) diff --git a/python/tidy.py b/python/tidy.py index fda394f1eed2..c6bb4931e2db 100644 --- a/python/tidy.py +++ b/python/tidy.py @@ -11,10 +11,13 @@ import os import fnmatch +import itertools from licenseck import licenses directories_to_check = ["ports/gonk", "components"] filetypes_to_check = [".rs", ".rc", ".cpp", ".c", ".h", ".py"] +reftest_directories = ["tests/ref"] +reftest_filetype = ".list" ignored_files = [ # Upstream @@ -51,6 +54,10 @@ def should_check(file_name): return True +def should_check_reftest(file_name): + return file_name.endswith(reftest_filetype) + + def check_license(contents): valid_license = any(contents.startswith(license) for license in licenses) acknowledged_bad_license = "xfail-license" in contents[:100] @@ -93,17 +100,45 @@ def collect_errors_for_files(files_to_check, checking_functions): yield (file_name, error[0], error[1]) +def check_reftest_order(files_to_check): + for file_name in files_to_check: + with open(file_name, "r") as fp: + split_lines = fp.read().splitlines() + lines = filter(lambda l: len(l) > 0 and l[0] != '#', split_lines) + for idx, line in enumerate(lines[:-1]): + next_line = lines[idx+1] + current = get_reftest_names(line) + next = get_reftest_names(next_line) + if current is not None and next is not None and current > next: + yield (file_name, split_lines.index(next_line) + 1, "line not in alphabetical order") + + +def get_reftest_names(line): + tokens = line.split() + if (len(tokens) == 3): + return tokens[1] + tokens[2] + if (len(tokens) == 4): + return tokens[2] + tokens[3] + return None + + def scan(): all_files = collect_file_names(directories_to_check) files_to_check = filter(should_check, all_files) checking_functions = [check_license, check_length, check_whitespace] errors = collect_errors_for_files(files_to_check, checking_functions) - errors = list(errors) + + reftest_files = collect_file_names(reftest_directories) + reftest_to_check = filter(should_check_reftest, reftest_files) + r_errors = check_reftest_order(reftest_to_check) + + errors = list(itertools.chain(errors, r_errors)) if errors: for error in errors: print("{}:{}: {}".format(*error)) return 1 else: + print("tidy reported no errors.") return 0 diff --git a/tests/ref/basic.list b/tests/ref/basic.list index 13e258eb3dbf..c4ff7b1f395f 100644 --- a/tests/ref/basic.list +++ b/tests/ref/basic.list @@ -1,271 +1,266 @@ -== case-insensitive-font-family.html case-insensitive-font-family-ref.html -!= img_simple.html img_simple_ref.html -== basic_width_px.html basic_width_em.html -== br.html br-ref.html -# `?` and `#` in the name is a test for https://github.com/servo/servo/issues/3340 -== hello_a?foo#bar.html hello_b.html -== margin_a.html margin_b.html -== root_pseudo_a.html root_pseudo_b.html -== first_child_pseudo_a.html first_child_pseudo_b.html -== last_child_pseudo_a.html last_child_pseudo_b.html -== only_child_pseudo_a.html only_child_pseudo_b.html -== nth_child_pseudo_a.html nth_child_pseudo_b.html -== nth_last_child_pseudo_a.html nth_last_child_pseudo_b.html -== nth_of_type_pseudo_a.html nth_of_type_pseudo_b.html -== nth_last_of_type_pseudo_a.html nth_last_of_type_pseudo_b.html -== first_of_type_pseudo_a.html first_of_type_pseudo_b.html -== last_of_type_pseudo_a.html last_of_type_pseudo_b.html -== only_of_type_pseudo_a.html only_of_type_pseudo_b.html -== visibility_hidden.html visibility_hidden_ref.html -== root_height_a.html root_height_b.html -== png_rgba_colorspace_a.html png_rgba_colorspace_b.html -== border_style_none_a.html border_style_none_b.html -== borders_a.html borders_b.html +# Should be != with expected failure: +# FIXME: use the real test when pixel-snapping for scrolling is fixed. +#fragment=top == ../html/acid2.html acid2_ref_broken.html + +# Should be == with expected failure: +fragment=top != ../html/acid2.html acid2_ref.html + +== abs_float_pref_width_a.html abs_float_pref_width_ref.html == acid1_a.html acid1_b.html -== text_decoration_cached.html text_decoration_cached_ref.html -# text_decoration_propagation_a.html text_decoration_propagation_b.html -# inline_text_align_a.html inline_text_align_b.html -== font_size.html font_size_ref.html -== font_style.html font_style_ref.html -== img_size_a.html img_size_b.html -== img_dynamic_remove.html img_dynamic_remove_ref.html -== upper_id_attr.html upper_id_attr_ref.html -# inline_border_a.html inline_border_b.html -== border_code_tag.html border_code_tag_ref.html +== acid2_noscroll.html acid2_ref_broken.html +== after_block_iteration.html after_block_iteration_ref.html +== alpha_png_a.html alpha_png_b.html == anon_block_inherit_a.html anon_block_inherit_b.html +flaky_cpu == append_style_a.html append_style_b.html == attr_exists_selector.html attr_exists_selector_ref.html == attr_selector_case_sensitivity.html attr_selector_case_sensitivity_ref.html -!= noteq_attr_exists_selector.html attr_exists_selector_ref.html -== data_img_a.html data_img_b.html -== background_style_attr.html background_ref.html == background_external_stylesheet.html background_ref.html -== block_image.html 500x300_green.html -!= block_image.html noteq_500x300_white.html -== object_element_a.html object_element_b.html -flaky_cpu == append_style_a.html append_style_b.html -== height_compute_reset.html height_compute.html -== width_nonreplaced_block_simple_a.html width_nonreplaced_block_simple_b.html -== max_width_float_simple_a.html max_width_float_simple_b.html -== max_width_simple_a.html max_width_simple_b.html -== min_width_float_simple_a.html min_width_float_simple_b.html -== min_width_simple_a.html min_width_simple_b.html -# Positioning tests -== position_abs_cb_with_non_cb_kid_a.html position_abs_cb_with_non_cb_kid_b.html -== position_abs_height_width_a.html position_abs_height_width_b.html -== position_abs_left_a.html position_abs_left_b.html -== position_abs_margin_top_percentage_a.html position_abs_margin_top_percentage_b.html -== position_abs_nested_a.html position_abs_nested_b.html -== position_abs_replaced_simple_a.html position_abs_replaced_simple_b.html -== position_abs_static_y_a.html position_abs_static_y_b.html -== position_abs_width_percentage_a.html position_abs_width_percentage_b.html -== position_abs_pseudo_a.html position_abs_pseudo_b.html -# commented out because multiple layers don't work with reftests --pcwalton -# == position_fixed_a.html position_fixed_b.html -# == position_fixed_simple_a.html position_fixed_simple_b.html -# == position_fixed_static_y_a.html position_fixed_static_y_b.html -== position_fixed_background_color_a.html position_fixed_background_color_b.html -== position_fixed_overflow_a.html position_fixed_overflow_b.html -== position_fixed_tile_edge.html position_fixed_tile_edge_ref.html -== position_fixed_tile_edge_2.html position_fixed_tile_edge_ref.html -== position_fixed_tile_edge_3.html position_fixed_tile_edge_ref.html -== position_relative_a.html position_relative_b.html -== position_relative_top_percentage_a.html position_relative_top_percentage_b.html +== background_image_position_a.html background_image_position_ref.html == background_none_a.html background_none_b.html -== negative_margins_a.html negative_margins_b.html -== negative_margin_uncle_a.html negative_margin_uncle_b.html -== inline_padding_a.html inline_padding_b.html -== min_max_height_a.html min_max_height_b.html -== minimum_line_height_a.html minimum_line_height_b.html == background_position_a.html background_position_b.html == background_position_keyword.html background_position_b.html == background_position_percent.html background_position_b.html == background_position_shorthand.html background_position_shorthand_ref.html +== background_repeat_both_a.html background_repeat_both_b.html +== background_repeat_none_a.html background_repeat_none_b.html == background_repeat_x_a.html background_repeat_x_b.html == background_repeat_y_a.html background_repeat_y_b.html -== background_repeat_none_a.html background_repeat_none_b.html -== background_repeat_both_a.html background_repeat_both_b.html -== setattribute_id_restyle_a.html setattribute_id_restyle_b.html -== pseudo_element_a.html pseudo_element_b.html -flaky_cpu == linebreak_simple_a.html linebreak_simple_b.html -== linebreak_inline_span_a.html linebreak_inline_span_b.html - -# Should be == with expected failure. See #2797 -!= overconstrained_block.html overconstrained_block_ref.html - -== overflow_auto.html overflow_simple_b.html -== overflow_scroll.html overflow_simple_b.html -== overflow_simple_a.html overflow_simple_b.html -== noscript.html noscript_ref.html -== pseudo_inherit.html pseudo_inherit_ref.html -flaky_cpu,experimental == vertical-lr-blocks.html vertical-lr-blocks_ref.html -== float_intrinsic_height.html float_intrinsic_height_ref.html -== table_auto_width.html table_auto_width_ref.html -== inline_whitespace_b.html inline_whitespace_ref.html -== inline_whitespace_a.html inline_whitespace_ref.html -== whitespace_pre.html whitespace_pre_ref.html -== line_height_a.html line_height_ref.html +== background_size_a.html background_size_ref.html +== background_size_shorthand_a.html background_size_shorthand_ref.html +== background_style_attr.html background_ref.html +== basic_width_px.html basic_width_em.html +== block_formatting_context_a.html block_formatting_context_ref.html +== block_formatting_context_complex_a.html block_formatting_context_complex_ref.html +== block_formatting_context_containing_floats_a.html block_formatting_context_containing_floats_ref.html +== block_formatting_context_relative_a.html block_formatting_context_ref.html +== block_formatting_context_translation_a.html block_formatting_context_translation_ref.html +== block_image.html 500x300_green.html +!= block_image.html noteq_500x300_white.html == block_replaced_content_a.html block_replaced_content_ref.html == block_replaced_content_b.html block_replaced_content_ref.html -== root_margin_collapse_a.html root_margin_collapse_b.html - -# Should be == with expected failure: -fragment=top != ../html/acid2.html acid2_ref.html - -# Should be != with expected failure: -# FIXME: use the real test when pixel-snapping for scrolling is fixed. -#fragment=top == ../html/acid2.html acid2_ref_broken.html -== acid2_noscroll.html acid2_ref_broken.html - -!= inline_background_a.html inline_background_ref.html -== inline_element_border_a.html inline_element_border_ref.html +!= border_black_groove.html border_black_solid.html +!= border_black_ridge.html border_black_groove.html +!= border_black_ridge.html border_black_solid.html +== border_code_tag.html border_code_tag_ref.html +== border_radius_clip_a.html border_radius_clip_ref.html +== border_radius_overlapping_a.html border_radius_overlapping_ref.html +== border_style_none_a.html border_style_none_b.html +== borders_a.html borders_b.html +!= box_shadow_blur_a.html box_shadow_blur_ref.html +== box_shadow_border_box_a.html box_shadow_border_box_ref.html +== box_shadow_default_color_a.html box_shadow_default_color_ref.html +== box_shadow_inset_a.html box_shadow_inset_ref.html +== box_shadow_inset_parsing_a.html box_shadow_inset_parsing_ref.html +== box_shadow_paint_order_a.html box_shadow_paint_order_ref.html +== box_shadow_spread_a.html box_shadow_spread_ref.html +== box_sizing_border_box_a.html box_sizing_border_box_ref.html +== box_sizing_sanity_check_a.html box_sizing_sanity_check_ref.html +== br.html br-ref.html +== canvas_lineto_a.html canvas_lineto_ref.html +== canvas_transform_a.html canvas_transform_ref.html +== case-insensitive-font-family.html case-insensitive-font-family-ref.html +== clear_generated_content_table_a.html clear_generated_content_table_ref.html +== clip_a.html clip_ref.html +== data_img_a.html data_img_b.html +== empty_cells_a.html empty_cells_ref.html +== filter_opacity_a.html filter_opacity_ref.html +== filter_sepia_a.html filter_sepia_ref.html +== first_child_pseudo_a.html first_child_pseudo_b.html +== first_of_type_pseudo_a.html first_of_type_pseudo_b.html +== fixed_width_overrides_child_intrinsic_width_a.html fixed_width_overrides_child_intrinsic_width_ref.html +== float_clearance_a.html float_clearance_ref.html +== float_intrinsic_height.html float_intrinsic_height_ref.html == float_intrinsic_width_a.html float_intrinsic_width_ref.html == float_right_intrinsic_width_a.html float_right_intrinsic_width_ref.html -== fixed_width_overrides_child_intrinsic_width_a.html fixed_width_overrides_child_intrinsic_width_ref.html -== abs_float_pref_width_a.html abs_float_pref_width_ref.html -== alpha_png_a.html alpha_png_b.html -== background_image_position_a.html background_image_position_ref.html -== multiple_css_class_a.html multiple_css_class_b.html +== float_table_a.html float_table_ref.html +== floated_generated_content_a.html floated_generated_content_b.html +== floated_list_item_a.html floated_list_item_ref.html +== floated_table_with_margin_a.html floated_table_with_margin_ref.html +== font_size.html font_size_ref.html +== font_style.html font_style_ref.html +== height_compute_reset.html height_compute.html +# `?` and `#` in the name is a test for https://github.com/servo/servo/issues/3340 +== hello_a?foo#bar.html hello_b.html +== hide_after_create.html hide_after_create_ref.html == iframe/bg_color.html iframe/bg_color_ref.html +== iframe/hide_and_show.html iframe/hide_and_show_ref.html +== iframe/multiple_external.html iframe/multiple_external_ref.html +== iframe/overflow.html iframe/overflow_ref.html +== iframe/positioning_margin.html iframe/positioning_margin_ref.html == iframe/simple.html iframe/simple_ref.html == iframe/simple_inline_default.html iframe/simple_inline_default_ref.html +== iframe/simple_inline_height.html iframe/simple_inline_height_ref.html +== iframe/simple_inline_max.html iframe/simple_inline_max_ref.html +== iframe/simple_inline_min.html iframe/simple_inline_min_ref.html == iframe/simple_inline_width.html iframe/simple_inline_width_ref.html == iframe/simple_inline_width_height.html iframe/simple_inline_width_height_ref.html -== iframe/simple_inline_height.html iframe/simple_inline_height_ref.html == iframe/simple_inline_width_percentage.html iframe/simple_inline_width_percentage_ref.html -== iframe/simple_inline_min.html iframe/simple_inline_min_ref.html -== iframe/simple_inline_max.html iframe/simple_inline_max_ref.html -== iframe/multiple_external.html iframe/multiple_external_ref.html -== iframe/overflow.html iframe/overflow_ref.html -== iframe/positioning_margin.html iframe/positioning_margin_ref.html -== iframe/hide_and_show.html iframe/hide_and_show_ref.html # gw: race condition here caused by pipelines never painting when removed from document #== iframe/hide_layers1.html iframe/hide_layers_ref.html #== iframe/hide_layers2.html iframe/hide_layers_ref.html - -== floated_generated_content_a.html floated_generated_content_b.html -== inline_block_margin_a.html inline_block_margin_ref.html -== inline_block_img_a.html inline_block_img_ref.html -== inline_block_baseline_a.html inline_block_baseline_ref.html -== inline_block_parent_width.html inline_block_parent_width_ref.html -== inline_block_parent_width_percentage.html inline_block_parent_width_ref.html -== inline_block_overflow.html inline_block_overflow_ref.html -== float_table_a.html float_table_ref.html -== table_containing_block_a.html table_containing_block_ref.html -== link_style_order.html link_style_order_ref.html -# Fails intermittently (#3636) -# == link_style_dynamic_addition.html link_style_dynamic_addition_ref.html -== percent_height.html percent_height_ref.html -== inline_block_with_margin_a.html inline_block_with_margin_ref.html -== table_padding_a.html table_padding_ref.html +!= image_rendering_auto_a.html image_rendering_pixelated_a.html +== image_rendering_pixelated_a.html image_rendering_pixelated_ref.html == img_block_display_a.html img_block_display_ref.html -== after_block_iteration.html after_block_iteration_ref.html -== inline_block_percentage_height_a.html inline_block_percentage_height_ref.html -== inline_block_min_width.html inline_block_min_width_ref.html -== percentage_height_float_a.html percentage_height_float_ref.html == img_block_maxwidth_a.html img_block_maxwidth_ref.html == img_block_maxwidth_b.html img_block_maxwidth_ref.html -== float_clearance_a.html float_clearance_ref.html -== block_formatting_context_a.html block_formatting_context_ref.html -== inline_block_parent_padding_a.html inline_block_parent_padding_ref.html -== whitespace_nowrap_a.html whitespace_nowrap_ref.html -== block_formatting_context_relative_a.html block_formatting_context_ref.html -== block_formatting_context_translation_a.html block_formatting_context_translation_ref.html -== floated_table_with_margin_a.html floated_table_with_margin_ref.html -== margins_inside_floats_a.html margins_inside_floats_ref.html -== block_formatting_context_complex_a.html block_formatting_context_complex_ref.html -== block_formatting_context_containing_floats_a.html block_formatting_context_containing_floats_ref.html -== clear_generated_content_table_a.html clear_generated_content_table_ref.html +== img_dynamic_remove.html img_dynamic_remove_ref.html +!= img_simple.html img_simple_ref.html +== img_size_a.html img_size_b.html +== incremental_float_a.html incremental_float_ref.html +!= inline_background_a.html inline_background_ref.html +== inline_block_baseline_a.html inline_block_baseline_ref.html == inline_block_border_a.html inline_block_border_ref.html -== vertical_align_top_a.html vertical_align_top_ref.html -== vertical_align_bottom_a.html vertical_align_bottom_ref.html -== vertical_align_top_span_a.html vertical_align_top_span_ref.html -== vertical_align_top_bottom_a.html vertical_align_top_bottom_ref.html -== vertical_align_sub_a.html vertical_align_sub_ref.html -== vertical_align_super_a.html vertical_align_super_ref.html -== vertical_align_text_top_a.html vertical_align_text_top_ref.html -== vertical_align_text_bottom_a.html vertical_align_text_bottom_ref.html +== inline_block_img_a.html inline_block_img_ref.html +== inline_block_margin_a.html inline_block_margin_ref.html +== inline_block_min_width.html inline_block_min_width_ref.html +== inline_block_overflow.html inline_block_overflow_ref.html +== inline_block_overflow_hidden_a.html inline_block_overflow_hidden_ref.html +== inline_block_parent_padding_a.html inline_block_parent_padding_ref.html +== inline_block_parent_width.html inline_block_parent_width_ref.html +== inline_block_parent_width_percentage.html inline_block_parent_width_ref.html +== inline_block_percentage_height_a.html inline_block_percentage_height_ref.html +== inline_block_with_margin_a.html inline_block_with_margin_ref.html +# inline_border_a.html inline_border_b.html +== inline_element_border_a.html inline_element_border_ref.html == inline_hypothetical_box_a.html inline_hypothetical_box_ref.html -== box_sizing_border_box_a.html box_sizing_border_box_ref.html +== inline_padding_a.html inline_padding_b.html +# inline_text_align_a.html inline_text_align_b.html +== inline_whitespace_a.html inline_whitespace_ref.html +== inline_whitespace_b.html inline_whitespace_ref.html != input_height_a.html input_height_ref.html -== pre_ignorable_whitespace_a.html pre_ignorable_whitespace_ref.html -== many_brs_a.html many_brs_ref.html -== table_expansion_to_fit_a.html table_expansion_to_fit_ref.html -== table_percentage_width_a.html table_percentage_width_ref.html -== table_percentage_capping_a.html table_percentage_capping_ref.html +== inset.html inset_ref.html +!= inset_blackborder.html blackborder_ref.html +== issue-1324.html issue-1324-ref.html +== last_child_pseudo_a.html last_child_pseudo_b.html +== last_of_type_pseudo_a.html last_of_type_pseudo_b.html == legacy_input_size_attribute_override_a.html legacy_input_size_attribute_override_ref.html +== legacy_table_border_attribute_a.html legacy_table_border_attribute_ref.html +== legacy_td_bgcolor_attribute_a.html legacy_td_bgcolor_attribute_ref.html == legacy_td_width_attribute_a.html legacy_td_width_attribute_ref.html -== box_sizing_sanity_check_a.html box_sizing_sanity_check_ref.html -== inline_block_overflow_hidden_a.html inline_block_overflow_hidden_ref.html -== issue-1324.html issue-1324-ref.html -== linear_gradients_parsing_a.html linear_gradients_parsing_ref.html -!= linear_gradients_smoke_a.html linear_gradients_smoke_ref.html -== linear_gradients_reverse_a.html linear_gradients_reverse_ref.html +== letter_spacing_a.html letter_spacing_ref.html +== line_height_a.html line_height_ref.html != linear_gradients_corners_a.html linear_gradients_corners_ref.html == linear_gradients_lengths_a.html linear_gradients_lengths_ref.html -== incremental_float_a.html incremental_float_ref.html +== linear_gradients_parsing_a.html linear_gradients_parsing_ref.html +== linear_gradients_reverse_a.html linear_gradients_reverse_ref.html +!= linear_gradients_smoke_a.html linear_gradients_smoke_ref.html +== linebreak_inline_span_a.html linebreak_inline_span_b.html +flaky_cpu == linebreak_simple_a.html linebreak_simple_b.html +# Fails intermittently (#3636) +# == link_style_dynamic_addition.html link_style_dynamic_addition_ref.html +== link_style_order.html link_style_order_ref.html +== list_style_position_a.html list_style_position_ref.html +!= list_style_type_a.html list_style_type_ref.html +== many_brs_a.html many_brs_ref.html +== margin_a.html margin_b.html +== margins_inside_floats_a.html margins_inside_floats_ref.html +== max_width_float_simple_a.html max_width_float_simple_b.html +== max_width_simple_a.html max_width_simple_b.html +== min_max_height_a.html min_max_height_b.html +== min_width_float_simple_a.html min_width_float_simple_b.html +== min_width_simple_a.html min_width_simple_b.html +== minimum_line_height_a.html minimum_line_height_b.html +== mix_blend_mode_a.html mix_blend_mode_ref.html +== multiple_css_class_a.html multiple_css_class_b.html +== negative_margin_uncle_a.html negative_margin_uncle_b.html +== negative_margins_a.html negative_margins_b.html +== noscript.html noscript_ref.html +!= noteq_attr_exists_selector.html attr_exists_selector_ref.html +== nth_child_pseudo_a.html nth_child_pseudo_b.html +== nth_last_child_pseudo_a.html nth_last_child_pseudo_b.html +== nth_last_of_type_pseudo_a.html nth_last_of_type_pseudo_b.html +== nth_of_type_pseudo_a.html nth_of_type_pseudo_b.html +== object_element_a.html object_element_b.html +== only_child_pseudo_a.html only_child_pseudo_b.html +== only_of_type_pseudo_a.html only_of_type_pseudo_b.html == opacity_simple_a.html opacity_simple_ref.html == opacity_stacking_context_a.html opacity_stacking_context_ref.html -== text_transform_none_a.html text_transform_none_ref.html -== text_transform_uppercase_a.html text_transform_uppercase_ref.html -== text_transform_lowercase_a.html text_transform_lowercase_ref.html -== text_transform_capitalize_a.html text_transform_capitalize_ref.html +== outline_offset_a.html outline_offset_ref.html == outlines_simple_a.html outlines_simple_ref.html == outlines_wrap_a.html outlines_wrap_ref.html -== letter_spacing_a.html letter_spacing_ref.html -!= border_black_groove.html border_black_solid.html -!= border_black_ridge.html border_black_solid.html -!= border_black_ridge.html border_black_groove.html -== text_indent_a.html text_indent_ref.html -== word_spacing_a.html word_spacing_ref.html -== overflow_wrap_a.html overflow_wrap_ref.html -!= box_shadow_blur_a.html box_shadow_blur_ref.html -== box_shadow_border_box_a.html box_shadow_border_box_ref.html -== box_shadow_default_color_a.html box_shadow_default_color_ref.html -== box_shadow_paint_order_a.html box_shadow_paint_order_ref.html -== box_shadow_spread_a.html box_shadow_spread_ref.html -== box_shadow_inset_a.html box_shadow_inset_ref.html -== box_shadow_inset_parsing_a.html box_shadow_inset_parsing_ref.html -!= list_style_type_a.html list_style_type_ref.html -== list_style_position_a.html list_style_position_ref.html -== table_colspan_simple_a.html table_colspan_simple_ref.html -== table_colspan_fixed_a.html table_colspan_fixed_ref.html -== legacy_td_bgcolor_attribute_a.html legacy_td_bgcolor_attribute_ref.html -== legacy_table_border_attribute_a.html legacy_table_border_attribute_ref.html -== inset.html inset_ref.html == outset.html outset_ref.html -== empty_cells_a.html empty_cells_ref.html -== table_caption_top_a.html table_caption_top_ref.html -== table_caption_bottom_a.html table_caption_bottom_ref.html -== clip_a.html clip_ref.html -!= inset_blackborder.html blackborder_ref.html != outset_blackborder.html blackborder_ref.html -== border_radius_clip_a.html border_radius_clip_ref.html -== border_radius_overlapping_a.html border_radius_overlapping_ref.html +# Should be == with expected failure. See #2797 +!= overconstrained_block.html overconstrained_block_ref.html +== overflow_auto.html overflow_simple_b.html +== overflow_scroll.html overflow_simple_b.html +== overflow_simple_a.html overflow_simple_b.html +== overflow_wrap_a.html overflow_wrap_ref.html +== overflow_xy_a.html overflow_xy_ref.html +== percent_height.html percent_height_ref.html +== percentage_height_float_a.html percentage_height_float_ref.html +== percentage_height_root.html percentage_height_root_ref.html +== png_rgba_colorspace_a.html png_rgba_colorspace_b.html +== position_abs_cb_with_non_cb_kid_a.html position_abs_cb_with_non_cb_kid_b.html +== position_abs_height_width_a.html position_abs_height_width_b.html +== position_abs_left_a.html position_abs_left_b.html +== position_abs_margin_top_percentage_a.html position_abs_margin_top_percentage_b.html +== position_abs_nested_a.html position_abs_nested_b.html +== position_abs_pseudo_a.html position_abs_pseudo_b.html +== position_abs_replaced_simple_a.html position_abs_replaced_simple_b.html +== position_abs_static_y_a.html position_abs_static_y_b.html +== position_abs_width_percentage_a.html position_abs_width_percentage_b.html +# commented out because multiple layers don't work with reftests --pcwalton +# == position_fixed_a.html position_fixed_b.html +== position_fixed_background_color_a.html position_fixed_background_color_b.html +== position_fixed_overflow_a.html position_fixed_overflow_b.html +# == position_fixed_simple_a.html position_fixed_simple_b.html +# == position_fixed_static_y_a.html position_fixed_static_y_b.html +== position_fixed_tile_edge.html position_fixed_tile_edge_ref.html +== position_fixed_tile_edge_2.html position_fixed_tile_edge_ref.html +== position_fixed_tile_edge_3.html position_fixed_tile_edge_ref.html +== position_relative_a.html position_relative_b.html +== position_relative_top_percentage_a.html position_relative_top_percentage_b.html +== pre_ignorable_whitespace_a.html pre_ignorable_whitespace_ref.html +== pseudo_element_a.html pseudo_element_b.html +== pseudo_inherit.html pseudo_inherit_ref.html +== root_height_a.html root_height_b.html +== root_margin_collapse_a.html root_margin_collapse_b.html +== root_pseudo_a.html root_pseudo_b.html +== setattribute_id_restyle_a.html setattribute_id_restyle_b.html == stacking_context_overflow_a.html stacking_context_overflow_ref.html == stacking_context_overflow_relative_outline_a.html stacking_context_overflow_relative_outline_ref.html -== word_break_a.html word_break_ref.html -== outline_offset_a.html outline_offset_ref.html -== filter_opacity_a.html filter_opacity_ref.html -== filter_sepia_a.html filter_sepia_ref.html -== mix_blend_mode_a.html mix_blend_mode_ref.html -!= text_overflow_a.html text_overflow_ref.html -== floated_list_item_a.html floated_list_item_ref.html +== table_auto_width.html table_auto_width_ref.html +== table_caption_bottom_a.html table_caption_bottom_ref.html +== table_caption_top_a.html table_caption_top_ref.html +== table_colspan_fixed_a.html table_colspan_fixed_ref.html +== table_colspan_simple_a.html table_colspan_simple_ref.html +== table_containing_block_a.html table_containing_block_ref.html +== table_expansion_to_fit_a.html table_expansion_to_fit_ref.html +== table_padding_a.html table_padding_ref.html +== table_percentage_capping_a.html table_percentage_capping_ref.html +== table_percentage_width_a.html table_percentage_width_ref.html +== text_align_complex_a.html text_align_complex_ref.html == text_align_justify_a.html text_align_justify_ref.html +== text_decoration_cached.html text_decoration_cached_ref.html +# text_decoration_propagation_a.html text_decoration_propagation_b.html +!= text_decoration_smoke_a.html text_decoration_smoke_ref.html +== text_indent_a.html text_indent_ref.html == text_justify_none_a.html text_justify_none_ref.html +!= text_overflow_a.html text_overflow_ref.html == text_overflow_basic_a.html text_overflow_basic_ref.html -== text_align_complex_a.html text_align_complex_ref.html -== percentage_height_root.html percentage_height_root_ref.html -== canvas_transform_a.html canvas_transform_ref.html -== canvas_lineto_a.html canvas_lineto_ref.html -!= text_decoration_smoke_a.html text_decoration_smoke_ref.html -== hide_after_create.html hide_after_create_ref.html -== overflow_xy_a.html overflow_xy_ref.html -== text_shadow_simple_a.html text_shadow_simple_ref.html -== text_shadow_decorations_a.html text_shadow_decorations_ref.html == text_shadow_blur_a.html text_shadow_blur_ref.html -!= image_rendering_auto_a.html image_rendering_pixelated_a.html -== image_rendering_pixelated_a.html image_rendering_pixelated_ref.html -== background_size_a.html background_size_ref.html -== background_size_shorthand_a.html background_size_shorthand_ref.html +== text_shadow_decorations_a.html text_shadow_decorations_ref.html +== text_shadow_simple_a.html text_shadow_simple_ref.html +== text_transform_capitalize_a.html text_transform_capitalize_ref.html +== text_transform_lowercase_a.html text_transform_lowercase_ref.html +== text_transform_none_a.html text_transform_none_ref.html +== text_transform_uppercase_a.html text_transform_uppercase_ref.html +== upper_id_attr.html upper_id_attr_ref.html +flaky_cpu,experimental == vertical-lr-blocks.html vertical-lr-blocks_ref.html +== vertical_align_bottom_a.html vertical_align_bottom_ref.html +== vertical_align_sub_a.html vertical_align_sub_ref.html +== vertical_align_super_a.html vertical_align_super_ref.html +== vertical_align_text_bottom_a.html vertical_align_text_bottom_ref.html +== vertical_align_text_top_a.html vertical_align_text_top_ref.html +== vertical_align_top_a.html vertical_align_top_ref.html +== vertical_align_top_bottom_a.html vertical_align_top_bottom_ref.html +== vertical_align_top_span_a.html vertical_align_top_span_ref.html +== visibility_hidden.html visibility_hidden_ref.html +== whitespace_nowrap_a.html whitespace_nowrap_ref.html +== whitespace_pre.html whitespace_pre_ref.html +== width_nonreplaced_block_simple_a.html width_nonreplaced_block_simple_b.html +== word_break_a.html word_break_ref.html +== word_spacing_a.html word_spacing_ref.html