From 0ebf5bdf043a27fd3dfb7f92e0cb63d88954c44d Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 03:47:29 +0200 Subject: Adding upstream version 115.8.0esr. Signed-off-by: Daniel Baumann --- testing/web-platform/tests/css/css-tables/META.yml | 6 + .../tests/css/css-tables/absolute-crash.html | 10 + .../tests/css/css-tables/absolute-tables-001.html | 89 +++ .../tests/css/css-tables/absolute-tables-002.html | 78 +++ .../tests/css/css-tables/absolute-tables-003.html | 78 +++ .../tests/css/css-tables/absolute-tables-004.html | 78 +++ .../tests/css/css-tables/absolute-tables-005.html | 78 +++ .../tests/css/css-tables/absolute-tables-006.html | 35 ++ .../tests/css/css-tables/absolute-tables-007.html | 9 + .../css-tables/absolute-tables-008.tentative.html | 25 + .../css-tables/absolute-tables-009.tentative.html | 25 + .../css-tables/absolute-tables-010.tentative.html | 26 + .../css-tables/absolute-tables-011.tentative.html | 25 + .../tests/css/css-tables/absolute-tables-012.html | 9 + .../tests/css/css-tables/absolute-tables-013.html | 32 ++ .../tests/css/css-tables/absolute-tables-014.html | 32 ++ .../tests/css/css-tables/absolute-tables-015.html | 32 ++ .../tests/css/css-tables/absolute-tables-016.html | 44 ++ .../abspos-container-change-dynamic-001-ref.html | 12 + .../abspos-container-change-dynamic-001.html | 30 + .../animations/border-spacing-interpolation.html | 116 ++++ .../anonymous-table-cell-margin-collapsing.html | 20 + .../css/css-tables/anonymous-table-ws-001-ref.html | 7 + .../css/css-tables/anonymous-table-ws-001.html | 12 + .../css/css-tables/auto-layout-calc-width-001.html | 37 ++ .../tests/css/css-tables/background-clip-001.html | 42 ++ .../css/css-tables/baseline-vertical-ref.html | 25 + .../tests/css/css-tables/baseline-vertical.html | 30 + .../border-collapse-double-border-notref.html | 7 + .../css-tables/border-collapse-double-border.html | 10 + .../border-collapse-dynamic-col-001-ref.html | 43 ++ .../border-collapse-dynamic-col-001.html | 54 ++ .../css-tables/border-collapse-dynamic-oof.html | 15 + .../border-collapse-dynamic-section.html | 20 + .../css-tables/border-collapse-empty-cell-ref.html | 21 + .../css/css-tables/border-collapse-empty-cell.html | 26 + .../border-collapse-rowspan-cell-ref.html | 22 + .../css-tables/border-collapse-rowspan-cell.html | 26 + .../css-tables/border-conflict-resolution-ref.html | 25 + .../css/css-tables/border-conflict-resolution.html | 28 + .../border-spacing-included-in-sizes-001.html | 62 ++ .../border-writing-mode-dynamic-001.html | 72 +++ .../css/css-tables/bounding-box-computation-1.html | 96 ++++ .../css/css-tables/bounding-box-computation-2.html | 96 ++++ .../css/css-tables/bounding-box-computation-3.html | 86 +++ .../tests/css/css-tables/box-shadow-001.html | 40 ++ .../css/css-tables/calc-percent-plus-0px-auto.html | 13 + .../calc-percent-plus-0px-fixed-ref.html | 10 + .../css-tables/calc-percent-plus-0px-fixed.html | 14 + .../css/css-tables/calc-percent-plus-0px-ref.html | 9 + .../tests/css/css-tables/caption-side-1.html | 42 ++ .../css/css-tables/caption-writing-mode-001.html | 39 ++ .../css/css-tables/caption-writing-mode-002.html | 33 ++ .../tests/css/css-tables/chrome-rowspan-bug.html | 45 ++ .../css-tables/col-definite-max-size-001-ref.html | 131 +++++ .../css/css-tables/col-definite-max-size-001.html | 172 ++++++ .../css/css-tables/col-definite-min-size-001.html | 67 +++ .../css/css-tables/col-definite-size-001-ref.html | 45 ++ .../css/css-tables/col-definite-size-001.html | 67 +++ .../tests/css/css-tables/col_removal.html | 31 + ...d-border-color-change-with-compositing-ref.html | 20 + ...apsed-border-color-change-with-compositing.html | 29 + .../collapsed-border-paint-phase-001.html | 13 + .../collapsed-border-paint-phase-002.html | 13 + .../collapsed-border-positioned-tr-td-ref.html | 18 + .../collapsed-border-positioned-tr-td.html | 23 + .../collapsed-border-remove-cell-ref.html | 18 + .../css-tables/collapsed-border-remove-cell.html | 27 + .../css/css-tables/collapsed-scroll-overflow.html | 43 ++ .../tests/css/css-tables/colspan-001.html | 32 ++ .../tests/css/css-tables/colspan-002.html | 32 ++ .../tests/css/css-tables/colspan-003.html | 32 ++ .../tests/css/css-tables/colspan-004.html | 20 + .../tests/css/css-tables/column-track-merging.html | 278 +++++++++ .../caption-with-multicol-table-cell.html | 8 + .../crashtests/col_span_dynamic_crash.html | 21 + .../css-tables/crashtests/dialog-table-crash.html | 16 + .../crashtests/dynamic-recompute-baseline.html | 12 + .../crashtests/dynamic_col_width_crash.html | 12 + .../crashtests/dynamic_table_layout_crash.html | 9 + .../empty-tbody-after-tall-section-crash.html | 8 + .../css-tables/crashtests/empty_cells_crash.html | 17 + .../crashtests/empty_table_with_cols.html | 3 + .../crashtests/expression_width_crash.html | 5 + .../crashtests/inline-splitting-crash.html | 16 + .../css-tables/crashtests/large-border-crash.html | 3 + .../css-tables/crashtests/large-col-widths.html | 11 + .../css-tables/crashtests/legacy_ng_mix_crash.html | 9 + .../move-oof-inside-section-row-with-borders.html | 16 + .../crashtests/negative-section-distribution.html | 12 + .../crashtests/negative_caption_margin.html | 12 + .../crashtests/orthogonal-cell-borders.html | 5 + .../crashtests/orthogonal-cell-crash.html | 5 + .../table-column-display-change-chrome-crash.html | 16 + .../crashtests/textarea-intrinsic-size-crash.html | 6 + .../crashtests/uninitialized_read_crash.html | 18 + .../crashtests/vertical_percentage_crash.html | 9 + .../css/css-tables/dynamic-rowspan-change.html | 45 ++ .../css/css-tables/dynamic-table-cell-height.html | 17 + .../tests/css/css-tables/empty-table-height.html | 16 + .../tests/css/css-tables/fixed-layout-1.html | 90 +++ .../tests/css/css-tables/fixed-layout-2.html | 84 +++ .../css-tables/fixed-layout-calc-width-001.html | 36 ++ ...fixed-layout-excess-width-distribution-001.html | 43 ++ .../fixup-dynamic-anonymous-inline-table-001.html | 36 ++ .../fixup-dynamic-anonymous-inline-table-002.html | 34 ++ .../fixup-dynamic-anonymous-inline-table-003.html | 31 + .../fixup-dynamic-anonymous-table-001.html | 23 + .../css-tables/floats/floats-wrap-bfc-006b-ref.xht | 59 ++ .../css-tables/floats/floats-wrap-bfc-006c-ref.xht | 59 ++ .../css/css-tables/fractional-percent-width.html | 58 ++ .../computing-row-measure-0.html | 71 +++ .../computing-row-measure-1.html | 94 ++++ .../extra-height-given-to-all-row-groups-001.html | 41 ++ .../extra-height-given-to-all-row-groups-002.html | 41 ++ .../extra-height-given-to-all-row-groups-003.html | 49 ++ .../extra-height-given-to-all-row-groups-004.html | 49 ++ .../extra-height-given-to-all-row-groups-005.html | 41 ++ .../percentage-sizing-of-table-cell-007-ref.html | 8 + .../percentage-sizing-of-table-cell-007.html | 10 + ...tage-sizing-of-table-cell-children-002-ref.html | 37 ++ ...rcentage-sizing-of-table-cell-children-002.html | 39 ++ ...rcentage-sizing-of-table-cell-children-003.html | 37 ++ ...rcentage-sizing-of-table-cell-children-004.html | 37 ++ ...rcentage-sizing-of-table-cell-children-005.html | 40 ++ ...rcentage-sizing-of-table-cell-children-006.html | 38 ++ .../percentage-sizing-of-table-cell-children.html | 199 +++++++ ...ng-of-table-cell-replaced-children-001-ref.html | 38 ++ ...sizing-of-table-cell-replaced-children-001.html | 40 ++ .../height-distribution/support/scrollbars.css | 10 + ...different-subpixel-padding-in-same-row-ref.html | 12 + ...bpixel-padding-in-same-row-vertical-rl-ref.html | 13 + ...t-subpixel-padding-in-same-row-vertical-rl.html | 15 + .../td-different-subpixel-padding-in-same-row.html | 14 + .../css/css-tables/html-display-table-ref.html | 14 + .../tests/css/css-tables/html-display-table.html | 21 + .../css/css-tables/html-to-css-mapping-1.html | 63 +++ .../css/css-tables/html-to-css-mapping-2.html | 226 ++++++++ .../css/css-tables/html5-table-formatting-1.html | 98 ++++ .../css/css-tables/html5-table-formatting-2.html | 150 +++++ .../css/css-tables/html5-table-formatting-3.html | 107 ++++ .../html5-table-formatting-fixed-layout-1.html | 44 ++ .../tests/css/css-tables/inheritance.html | 25 + .../css-tables/internal-containing-block-001.html | 59 ++ .../tests/css/css-tables/max-height-table-ref.html | 23 + .../tests/css/css-tables/max-height-table.html | 31 + .../tests/css/css-tables/min-height-table-2.html | 41 ++ .../tests/css/css-tables/min-height-table-ref.html | 23 + .../tests/css/css-tables/min-height-table.html | 30 + .../min-max-size-table-content-box-ref.html | 43 ++ .../css-tables/min-max-size-table-content-box.html | 47 ++ .../multicol-table-collapsed-border-crash.html | 18 + .../tests/css/css-tables/multicol-table-crash.html | 16 + .../no-overflow-with-table-cell-margins.html | 26 + .../css-tables/paint/col-paint-htb-rtl-ref.html | 17 + .../css/css-tables/paint/col-paint-htb-rtl.html | 19 + .../css-tables/paint/col-paint-vrl-rtl-ref.html | 17 + .../css/css-tables/paint/col-paint-vrl-rtl.html | 19 + .../parsing/border-collapse-computed.html | 19 + .../parsing/border-collapse-invalid.html | 18 + .../css-tables/parsing/border-collapse-valid.html | 18 + .../parsing/border-spacing-computed.html | 26 + .../css-tables/parsing/border-spacing-invalid.html | 20 + .../css-tables/parsing/border-spacing-valid.html | 19 + .../css-tables/parsing/caption-side-computed.html | 19 + .../css-tables/parsing/caption-side-invalid.html | 20 + .../css/css-tables/parsing/caption-side-valid.html | 18 + .../css-tables/parsing/empty-cells-computed.html | 19 + .../css-tables/parsing/empty-cells-invalid.html | 18 + .../css/css-tables/parsing/empty-cells-valid.html | 18 + .../css-tables/parsing/table-layout-computed.html | 19 + .../css-tables/parsing/table-layout-invalid.html | 18 + .../css/css-tables/parsing/table-layout-valid.html | 18 + ...verflow-auto-in-restricted-block-size-cell.html | 20 + ...-in-unrestricted-block-size-cell.tentative.html | 11 + ...ercent-height-replaced-in-percent-cell-002.html | 7 + ...-height-replaced-in-percent-cell.tentative.html | 14 + .../percent-height-table-cell-child.html | 9 + .../css/css-tables/percent-width-cell-dynamic.html | 23 + .../percent-width-ignored-001.tentative.html | 25 + .../percent-width-ignored-002.tentative.html | 18 + .../percent-width-ignored-003.tentative.html | 25 + .../percentages-grandchildren-quirks-mode-001.html | 9 + .../percentages-grandchildren-quirks-mode-002.html | 9 + .../subpixel-collapsed-borders-003-ref.html | 23 + .../row-group-margin-border-padding-ref.html | 50 ++ .../row-group-margin-border-padding.html | 58 ++ .../tests/css/css-tables/row-group-order-ref.html | 60 ++ .../tests/css/css-tables/row-group-order.html | 64 +++ .../css-tables/row-margin-border-padding-ref.html | 50 ++ .../css/css-tables/row-margin-border-padding.html | 58 ++ .../tests/css/css-tables/rules-groups-ref.html | 41 ++ .../tests/css/css-tables/rules-groups.html | 52 ++ .../css-tables/subpixel-collapsed-borders-001.html | 29 + .../css-tables/subpixel-collapsed-borders-002.html | 29 + .../css-tables/subpixel-collapsed-borders-003.html | 30 + .../css-tables/subpixel-collapsed-borders-ref.html | 22 + .../subpixel-table-cell-height-001-ref.html | 18 + .../css-tables/subpixel-table-cell-height-001.html | 44 ++ .../subpixel-table-cell-width-001-ref.html | 28 + .../css-tables/subpixel-table-cell-width-001.html | 34 ++ .../css-tables/subpixel-table-cell-width-002.html | 35 ++ .../css-tables/subpixel-table-width-001-ref.html | 18 + .../css/css-tables/subpixel-table-width-001.html | 27 + .../tests/css/css-tables/support/base.css | 21 + .../table-cell-baseline-static-position.html | 31 + .../table-cell-child-overflow-measure-ref.html | 6 + .../table-cell-child-overflow-measure.html | 8 + .../css-tables/table-cell-overflow-auto-ref.html | 12 + .../table-cell-overflow-auto-scrolled-ref.html | 11 + .../table-cell-overflow-auto-scrolled.html | 16 + .../css/css-tables/table-cell-overflow-auto.html | 15 + .../table-cell-writing-mode-computed.html | 24 + .../table-has-box-sizing-border-box-001.html | 25 + .../table-has-box-sizing-border-box-002.html | 35 ++ .../tests/css/css-tables/table-model-fixup-2.html | 398 +++++++++++++ .../tests/css/css-tables/table-model-fixup.html | 125 +++++ .../css-tables/table-position-sticky-computed.html | 31 + .../table_grid_size_col_colspan-ref.html | 29 + .../css-tables/table_grid_size_col_colspan.html | 50 ++ .../css/css-tables/tentative/baseline-table.html | 179 ++++++ .../css/css-tables/tentative/baseline-td.html | 124 ++++ .../tests/css/css-tables/tentative/caption.html | 137 +++++ .../tentative/col-collapse-table-size.html | 88 +++ .../css/css-tables/tentative/colgroup-col.html | 122 ++++ .../tentative/colspan-redistribution.html | 621 +++++++++++++++++++++ .../css/css-tables/tentative/column-widths.html | 300 ++++++++++ .../css/css-tables/tentative/element-sizing.html | 34 ++ .../background-image-column-collapsed-ref.html | 30 + .../paint/background-image-column-collapsed.html | 68 +++ .../paint/background-image-column-ref.html | 44 ++ .../tentative/paint/background-image-column.html | 56 ++ .../paint/background-image-row-collapsed-ref.html | 60 ++ .../paint/background-image-row-collapsed.html | 53 ++ .../tentative/paint/background-image-row-ref.html | 68 +++ .../tentative/paint/background-image-row.html | 55 ++ .../paint/collapsed-border-large-cell-ref.html | 33 ++ .../paint/collapsed-border-large-cell.html | 39 ++ .../tentative/paint/overflow-hidden-table-ref.html | 32 ++ .../tentative/paint/overflow-hidden-table.html | 37 ++ .../tentative/position-sticky-container.html | 170 ++++++ .../tentative/rowspan-height-redistribution.html | 503 +++++++++++++++++ .../section-no-tbody-fixed-distribution.html | 9 + .../section-no-tbody-percent-distribution.html | 9 + .../tests/css/css-tables/tentative/support/README | 13 + .../tentative/support/table-tentative.css | 34 ++ .../css-tables/tentative/table-fixed-minmax.html | 146 +++++ .../tentative/table-height-redistribution.html | 317 +++++++++++ .../css/css-tables/tentative/table-minmax.html | 144 +++++ .../css/css-tables/tentative/table-quirks.html | 76 +++ .../table-width-redistribution-fixed-padding.html | 267 +++++++++ .../table-width-redistribution-fixed.html | 374 +++++++++++++ .../tentative/table-width-redistribution.html | 351 ++++++++++++ .../tentative/tbody-height-redistribution.html | 144 +++++ .../css-tables/tentative/td-box-sizing-001.html | 197 +++++++ .../css-tables/tentative/td-box-sizing-002.html | 123 ++++ .../css-tables/tentative/td-box-sizing-003.html | 148 +++++ .../tests/css/css-tables/tfoot-crash-print.html | 33 ++ .../tests/css/css-tables/th-text-align-ref.html | 51 ++ .../tests/css/css-tables/th-text-align.html | 52 ++ .../toggle-row-display-property-001-ref.html | 25 + .../toggle-row-display-property-001.html | 42 ++ .../css/css-tables/tools/markup-generator.html | 200 +++++++ .../visibility-collapse-border-spacing.html | 14 + .../css-tables/visibility-collapse-col-001.html | 101 ++++ .../css-tables/visibility-collapse-col-002.html | 110 ++++ .../css-tables/visibility-collapse-col-003.html | 114 ++++ .../visibility-collapse-col-004-dynamic.html | 81 +++ .../css-tables/visibility-collapse-col-005.html | 55 ++ .../visibility-collapse-colspan-001.html | 62 ++ .../visibility-collapse-colspan-002.html | 62 ++ .../visibility-collapse-colspan-003-ref.html | 38 ++ .../visibility-collapse-colspan-003.html | 38 ++ .../visibility-collapse-colspan-crash.html | 43 ++ .../visibility-collapse-non-rowcol-001.html | 110 ++++ .../css-tables/visibility-collapse-row-001.html | 80 +++ .../visibility-collapse-row-002-dynamic.html | 89 +++ .../visibility-collapse-row-003-dynamic.html | 89 +++ .../css-tables/visibility-collapse-row-004.html | 33 ++ .../css-tables/visibility-collapse-row-005.html | 69 +++ .../visibility-collapse-row-group-001.html | 124 ++++ .../visibility-collapse-row-group-002.html | 107 ++++ .../css-tables/visibility-collapse-rowcol-001.html | 71 +++ .../css-tables/visibility-collapse-rowcol-002.html | 57 ++ .../visibility-collapse-rowspan-001.html | 69 +++ ...ility-collapse-rowspan-002-border-separate.html | 107 ++++ .../visibility-collapse-rowspan-002.html | 107 ++++ ...ility-collapse-rowspan-003-border-separate.html | 104 ++++ .../visibility-collapse-rowspan-003.html | 104 ++++ .../visibility-collapse-rowspan-004-dynamic.html | 176 ++++++ .../visibility-collapse-rowspan-005-ref.html | 34 ++ .../visibility-collapse-rowspan-005.html | 35 ++ .../visibility-collapse-rowspan-crash.html | 31 + .../css/css-tables/visibility-hidden-col-001.html | 107 ++++ .../visibility-hidden-collapsed-borders.html | 10 + .../css-tables/visibility-hidden-nested-001.html | 140 +++++ .../css-tables/visibility-hidden-nested-002.html | 106 ++++ .../css/css-tables/visibility-hidden-row-001.html | 92 +++ .../css/css-tables/visibility-hidden-row-002.html | 92 +++ .../tests/css/css-tables/whitespace-001-ref.html | 24 + .../tests/css/css-tables/whitespace-001.html | 32 ++ .../computing-column-measure-0.html | 76 +++ .../computing-column-measure-1.html | 92 +++ .../computing-column-measure-2.html | 81 +++ .../computing-table-width-0.html | 39 ++ .../computing-table-width-1.html | 51 ++ .../width-distribution/distribution-algo-1.html | 61 ++ .../width-distribution/distribution-algo-2.html | 61 ++ .../distribution-algo-min-content-guess.html | 61 ++ ...istribution-algo-min-content-percent-guess.html | 64 +++ ...ibution-algo-min-content-specified-guess.1.html | 51 ++ ...tribution-algo-min-content-specified-guess.html | 51 ++ .../td-with-subpixel-padding-vertical-rl.html | 55 ++ .../td-with-subpixel-padding.html | 53 ++ .../tests/css/css-tables/zero-rowspan-001-ref.html | 11 + .../tests/css/css-tables/zero-rowspan-001.html | 12 + .../tests/css/css-tables/zero-rowspan-002-ref.html | 9 + .../tests/css/css-tables/zero-rowspan-002.html | 11 + 318 files changed, 17565 insertions(+) create mode 100644 testing/web-platform/tests/css/css-tables/META.yml create mode 100644 testing/web-platform/tests/css/css-tables/absolute-crash.html create mode 100644 testing/web-platform/tests/css/css-tables/absolute-tables-001.html create mode 100644 testing/web-platform/tests/css/css-tables/absolute-tables-002.html create mode 100644 testing/web-platform/tests/css/css-tables/absolute-tables-003.html create mode 100644 testing/web-platform/tests/css/css-tables/absolute-tables-004.html create mode 100644 testing/web-platform/tests/css/css-tables/absolute-tables-005.html create mode 100644 testing/web-platform/tests/css/css-tables/absolute-tables-006.html create mode 100644 testing/web-platform/tests/css/css-tables/absolute-tables-007.html create mode 100644 testing/web-platform/tests/css/css-tables/absolute-tables-008.tentative.html create mode 100644 testing/web-platform/tests/css/css-tables/absolute-tables-009.tentative.html create mode 100644 testing/web-platform/tests/css/css-tables/absolute-tables-010.tentative.html create mode 100644 testing/web-platform/tests/css/css-tables/absolute-tables-011.tentative.html create mode 100644 testing/web-platform/tests/css/css-tables/absolute-tables-012.html create mode 100644 testing/web-platform/tests/css/css-tables/absolute-tables-013.html create mode 100644 testing/web-platform/tests/css/css-tables/absolute-tables-014.html create mode 100644 testing/web-platform/tests/css/css-tables/absolute-tables-015.html create mode 100644 testing/web-platform/tests/css/css-tables/absolute-tables-016.html create mode 100644 testing/web-platform/tests/css/css-tables/abspos-container-change-dynamic-001-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/abspos-container-change-dynamic-001.html create mode 100644 testing/web-platform/tests/css/css-tables/animations/border-spacing-interpolation.html create mode 100644 testing/web-platform/tests/css/css-tables/anonymous-table-cell-margin-collapsing.html create mode 100644 testing/web-platform/tests/css/css-tables/anonymous-table-ws-001-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/anonymous-table-ws-001.html create mode 100644 testing/web-platform/tests/css/css-tables/auto-layout-calc-width-001.html create mode 100644 testing/web-platform/tests/css/css-tables/background-clip-001.html create mode 100644 testing/web-platform/tests/css/css-tables/baseline-vertical-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/baseline-vertical.html create mode 100644 testing/web-platform/tests/css/css-tables/border-collapse-double-border-notref.html create mode 100644 testing/web-platform/tests/css/css-tables/border-collapse-double-border.html create mode 100644 testing/web-platform/tests/css/css-tables/border-collapse-dynamic-col-001-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/border-collapse-dynamic-col-001.html create mode 100644 testing/web-platform/tests/css/css-tables/border-collapse-dynamic-oof.html create mode 100644 testing/web-platform/tests/css/css-tables/border-collapse-dynamic-section.html create mode 100644 testing/web-platform/tests/css/css-tables/border-collapse-empty-cell-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/border-collapse-empty-cell.html create mode 100644 testing/web-platform/tests/css/css-tables/border-collapse-rowspan-cell-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/border-collapse-rowspan-cell.html create mode 100644 testing/web-platform/tests/css/css-tables/border-conflict-resolution-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/border-conflict-resolution.html create mode 100644 testing/web-platform/tests/css/css-tables/border-spacing-included-in-sizes-001.html create mode 100644 testing/web-platform/tests/css/css-tables/border-writing-mode-dynamic-001.html create mode 100644 testing/web-platform/tests/css/css-tables/bounding-box-computation-1.html create mode 100644 testing/web-platform/tests/css/css-tables/bounding-box-computation-2.html create mode 100644 testing/web-platform/tests/css/css-tables/bounding-box-computation-3.html create mode 100644 testing/web-platform/tests/css/css-tables/box-shadow-001.html create mode 100644 testing/web-platform/tests/css/css-tables/calc-percent-plus-0px-auto.html create mode 100644 testing/web-platform/tests/css/css-tables/calc-percent-plus-0px-fixed-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/calc-percent-plus-0px-fixed.html create mode 100644 testing/web-platform/tests/css/css-tables/calc-percent-plus-0px-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/caption-side-1.html create mode 100644 testing/web-platform/tests/css/css-tables/caption-writing-mode-001.html create mode 100644 testing/web-platform/tests/css/css-tables/caption-writing-mode-002.html create mode 100644 testing/web-platform/tests/css/css-tables/chrome-rowspan-bug.html create mode 100644 testing/web-platform/tests/css/css-tables/col-definite-max-size-001-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/col-definite-max-size-001.html create mode 100644 testing/web-platform/tests/css/css-tables/col-definite-min-size-001.html create mode 100644 testing/web-platform/tests/css/css-tables/col-definite-size-001-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/col-definite-size-001.html create mode 100644 testing/web-platform/tests/css/css-tables/col_removal.html create mode 100644 testing/web-platform/tests/css/css-tables/collapsed-border-color-change-with-compositing-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/collapsed-border-color-change-with-compositing.html create mode 100644 testing/web-platform/tests/css/css-tables/collapsed-border-paint-phase-001.html create mode 100644 testing/web-platform/tests/css/css-tables/collapsed-border-paint-phase-002.html create mode 100644 testing/web-platform/tests/css/css-tables/collapsed-border-positioned-tr-td-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/collapsed-border-positioned-tr-td.html create mode 100644 testing/web-platform/tests/css/css-tables/collapsed-border-remove-cell-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/collapsed-border-remove-cell.html create mode 100644 testing/web-platform/tests/css/css-tables/collapsed-scroll-overflow.html create mode 100644 testing/web-platform/tests/css/css-tables/colspan-001.html create mode 100644 testing/web-platform/tests/css/css-tables/colspan-002.html create mode 100644 testing/web-platform/tests/css/css-tables/colspan-003.html create mode 100644 testing/web-platform/tests/css/css-tables/colspan-004.html create mode 100644 testing/web-platform/tests/css/css-tables/column-track-merging.html create mode 100644 testing/web-platform/tests/css/css-tables/crashtests/caption-with-multicol-table-cell.html create mode 100644 testing/web-platform/tests/css/css-tables/crashtests/col_span_dynamic_crash.html create mode 100644 testing/web-platform/tests/css/css-tables/crashtests/dialog-table-crash.html create mode 100644 testing/web-platform/tests/css/css-tables/crashtests/dynamic-recompute-baseline.html create mode 100644 testing/web-platform/tests/css/css-tables/crashtests/dynamic_col_width_crash.html create mode 100644 testing/web-platform/tests/css/css-tables/crashtests/dynamic_table_layout_crash.html create mode 100644 testing/web-platform/tests/css/css-tables/crashtests/empty-tbody-after-tall-section-crash.html create mode 100644 testing/web-platform/tests/css/css-tables/crashtests/empty_cells_crash.html create mode 100644 testing/web-platform/tests/css/css-tables/crashtests/empty_table_with_cols.html create mode 100644 testing/web-platform/tests/css/css-tables/crashtests/expression_width_crash.html create mode 100644 testing/web-platform/tests/css/css-tables/crashtests/inline-splitting-crash.html create mode 100644 testing/web-platform/tests/css/css-tables/crashtests/large-border-crash.html create mode 100644 testing/web-platform/tests/css/css-tables/crashtests/large-col-widths.html create mode 100644 testing/web-platform/tests/css/css-tables/crashtests/legacy_ng_mix_crash.html create mode 100644 testing/web-platform/tests/css/css-tables/crashtests/move-oof-inside-section-row-with-borders.html create mode 100644 testing/web-platform/tests/css/css-tables/crashtests/negative-section-distribution.html create mode 100644 testing/web-platform/tests/css/css-tables/crashtests/negative_caption_margin.html create mode 100644 testing/web-platform/tests/css/css-tables/crashtests/orthogonal-cell-borders.html create mode 100644 testing/web-platform/tests/css/css-tables/crashtests/orthogonal-cell-crash.html create mode 100644 testing/web-platform/tests/css/css-tables/crashtests/table-column-display-change-chrome-crash.html create mode 100644 testing/web-platform/tests/css/css-tables/crashtests/textarea-intrinsic-size-crash.html create mode 100644 testing/web-platform/tests/css/css-tables/crashtests/uninitialized_read_crash.html create mode 100644 testing/web-platform/tests/css/css-tables/crashtests/vertical_percentage_crash.html create mode 100644 testing/web-platform/tests/css/css-tables/dynamic-rowspan-change.html create mode 100644 testing/web-platform/tests/css/css-tables/dynamic-table-cell-height.html create mode 100644 testing/web-platform/tests/css/css-tables/empty-table-height.html create mode 100644 testing/web-platform/tests/css/css-tables/fixed-layout-1.html create mode 100644 testing/web-platform/tests/css/css-tables/fixed-layout-2.html create mode 100644 testing/web-platform/tests/css/css-tables/fixed-layout-calc-width-001.html create mode 100644 testing/web-platform/tests/css/css-tables/fixed-layout-excess-width-distribution-001.html create mode 100644 testing/web-platform/tests/css/css-tables/fixup-dynamic-anonymous-inline-table-001.html create mode 100644 testing/web-platform/tests/css/css-tables/fixup-dynamic-anonymous-inline-table-002.html create mode 100644 testing/web-platform/tests/css/css-tables/fixup-dynamic-anonymous-inline-table-003.html create mode 100644 testing/web-platform/tests/css/css-tables/fixup-dynamic-anonymous-table-001.html create mode 100644 testing/web-platform/tests/css/css-tables/floats/floats-wrap-bfc-006b-ref.xht create mode 100644 testing/web-platform/tests/css/css-tables/floats/floats-wrap-bfc-006c-ref.xht create mode 100644 testing/web-platform/tests/css/css-tables/fractional-percent-width.html create mode 100644 testing/web-platform/tests/css/css-tables/height-distribution/computing-row-measure-0.html create mode 100644 testing/web-platform/tests/css/css-tables/height-distribution/computing-row-measure-1.html create mode 100644 testing/web-platform/tests/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-001.html create mode 100644 testing/web-platform/tests/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-002.html create mode 100644 testing/web-platform/tests/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-003.html create mode 100644 testing/web-platform/tests/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-004.html create mode 100644 testing/web-platform/tests/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-005.html create mode 100644 testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-007-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-007.html create mode 100644 testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-002-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-002.html create mode 100644 testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-003.html create mode 100644 testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-004.html create mode 100644 testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-005.html create mode 100644 testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-006.html create mode 100644 testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children.html create mode 100644 testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-replaced-children-001-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-replaced-children-001.html create mode 100644 testing/web-platform/tests/css/css-tables/height-distribution/support/scrollbars.css create mode 100644 testing/web-platform/tests/css/css-tables/height-distribution/td-different-subpixel-padding-in-same-row-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/height-distribution/td-different-subpixel-padding-in-same-row-vertical-rl-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/height-distribution/td-different-subpixel-padding-in-same-row-vertical-rl.html create mode 100644 testing/web-platform/tests/css/css-tables/height-distribution/td-different-subpixel-padding-in-same-row.html create mode 100644 testing/web-platform/tests/css/css-tables/html-display-table-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/html-display-table.html create mode 100644 testing/web-platform/tests/css/css-tables/html-to-css-mapping-1.html create mode 100644 testing/web-platform/tests/css/css-tables/html-to-css-mapping-2.html create mode 100644 testing/web-platform/tests/css/css-tables/html5-table-formatting-1.html create mode 100644 testing/web-platform/tests/css/css-tables/html5-table-formatting-2.html create mode 100644 testing/web-platform/tests/css/css-tables/html5-table-formatting-3.html create mode 100644 testing/web-platform/tests/css/css-tables/html5-table-formatting-fixed-layout-1.html create mode 100644 testing/web-platform/tests/css/css-tables/inheritance.html create mode 100644 testing/web-platform/tests/css/css-tables/internal-containing-block-001.html create mode 100644 testing/web-platform/tests/css/css-tables/max-height-table-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/max-height-table.html create mode 100644 testing/web-platform/tests/css/css-tables/min-height-table-2.html create mode 100644 testing/web-platform/tests/css/css-tables/min-height-table-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/min-height-table.html create mode 100644 testing/web-platform/tests/css/css-tables/min-max-size-table-content-box-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/min-max-size-table-content-box.html create mode 100644 testing/web-platform/tests/css/css-tables/multicol-table-collapsed-border-crash.html create mode 100644 testing/web-platform/tests/css/css-tables/multicol-table-crash.html create mode 100644 testing/web-platform/tests/css/css-tables/no-overflow-with-table-cell-margins.html create mode 100644 testing/web-platform/tests/css/css-tables/paint/col-paint-htb-rtl-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/paint/col-paint-htb-rtl.html create mode 100644 testing/web-platform/tests/css/css-tables/paint/col-paint-vrl-rtl-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/paint/col-paint-vrl-rtl.html create mode 100644 testing/web-platform/tests/css/css-tables/parsing/border-collapse-computed.html create mode 100644 testing/web-platform/tests/css/css-tables/parsing/border-collapse-invalid.html create mode 100644 testing/web-platform/tests/css/css-tables/parsing/border-collapse-valid.html create mode 100644 testing/web-platform/tests/css/css-tables/parsing/border-spacing-computed.html create mode 100644 testing/web-platform/tests/css/css-tables/parsing/border-spacing-invalid.html create mode 100644 testing/web-platform/tests/css/css-tables/parsing/border-spacing-valid.html create mode 100644 testing/web-platform/tests/css/css-tables/parsing/caption-side-computed.html create mode 100644 testing/web-platform/tests/css/css-tables/parsing/caption-side-invalid.html create mode 100644 testing/web-platform/tests/css/css-tables/parsing/caption-side-valid.html create mode 100644 testing/web-platform/tests/css/css-tables/parsing/empty-cells-computed.html create mode 100644 testing/web-platform/tests/css/css-tables/parsing/empty-cells-invalid.html create mode 100644 testing/web-platform/tests/css/css-tables/parsing/empty-cells-valid.html create mode 100644 testing/web-platform/tests/css/css-tables/parsing/table-layout-computed.html create mode 100644 testing/web-platform/tests/css/css-tables/parsing/table-layout-invalid.html create mode 100644 testing/web-platform/tests/css/css-tables/parsing/table-layout-valid.html create mode 100644 testing/web-platform/tests/css/css-tables/percent-height-overflow-auto-in-restricted-block-size-cell.html create mode 100644 testing/web-platform/tests/css/css-tables/percent-height-overflow-auto-in-unrestricted-block-size-cell.tentative.html create mode 100644 testing/web-platform/tests/css/css-tables/percent-height-replaced-in-percent-cell-002.html create mode 100644 testing/web-platform/tests/css/css-tables/percent-height-replaced-in-percent-cell.tentative.html create mode 100644 testing/web-platform/tests/css/css-tables/percent-height-table-cell-child.html create mode 100644 testing/web-platform/tests/css/css-tables/percent-width-cell-dynamic.html create mode 100644 testing/web-platform/tests/css/css-tables/percent-width-ignored-001.tentative.html create mode 100644 testing/web-platform/tests/css/css-tables/percent-width-ignored-002.tentative.html create mode 100644 testing/web-platform/tests/css/css-tables/percent-width-ignored-003.tentative.html create mode 100644 testing/web-platform/tests/css/css-tables/percentages-grandchildren-quirks-mode-001.html create mode 100644 testing/web-platform/tests/css/css-tables/percentages-grandchildren-quirks-mode-002.html create mode 100644 testing/web-platform/tests/css/css-tables/reference/subpixel-collapsed-borders-003-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/row-group-margin-border-padding-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/row-group-margin-border-padding.html create mode 100644 testing/web-platform/tests/css/css-tables/row-group-order-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/row-group-order.html create mode 100644 testing/web-platform/tests/css/css-tables/row-margin-border-padding-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/row-margin-border-padding.html create mode 100644 testing/web-platform/tests/css/css-tables/rules-groups-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/rules-groups.html create mode 100644 testing/web-platform/tests/css/css-tables/subpixel-collapsed-borders-001.html create mode 100644 testing/web-platform/tests/css/css-tables/subpixel-collapsed-borders-002.html create mode 100644 testing/web-platform/tests/css/css-tables/subpixel-collapsed-borders-003.html create mode 100644 testing/web-platform/tests/css/css-tables/subpixel-collapsed-borders-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/subpixel-table-cell-height-001-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/subpixel-table-cell-height-001.html create mode 100644 testing/web-platform/tests/css/css-tables/subpixel-table-cell-width-001-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/subpixel-table-cell-width-001.html create mode 100644 testing/web-platform/tests/css/css-tables/subpixel-table-cell-width-002.html create mode 100644 testing/web-platform/tests/css/css-tables/subpixel-table-width-001-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/subpixel-table-width-001.html create mode 100644 testing/web-platform/tests/css/css-tables/support/base.css create mode 100644 testing/web-platform/tests/css/css-tables/table-cell-baseline-static-position.html create mode 100644 testing/web-platform/tests/css/css-tables/table-cell-child-overflow-measure-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/table-cell-child-overflow-measure.html create mode 100644 testing/web-platform/tests/css/css-tables/table-cell-overflow-auto-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/table-cell-overflow-auto-scrolled-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/table-cell-overflow-auto-scrolled.html create mode 100644 testing/web-platform/tests/css/css-tables/table-cell-overflow-auto.html create mode 100644 testing/web-platform/tests/css/css-tables/table-cell-writing-mode-computed.html create mode 100644 testing/web-platform/tests/css/css-tables/table-has-box-sizing-border-box-001.html create mode 100644 testing/web-platform/tests/css/css-tables/table-has-box-sizing-border-box-002.html create mode 100644 testing/web-platform/tests/css/css-tables/table-model-fixup-2.html create mode 100644 testing/web-platform/tests/css/css-tables/table-model-fixup.html create mode 100644 testing/web-platform/tests/css/css-tables/table-position-sticky-computed.html create mode 100644 testing/web-platform/tests/css/css-tables/table_grid_size_col_colspan-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/table_grid_size_col_colspan.html create mode 100644 testing/web-platform/tests/css/css-tables/tentative/baseline-table.html create mode 100644 testing/web-platform/tests/css/css-tables/tentative/baseline-td.html create mode 100644 testing/web-platform/tests/css/css-tables/tentative/caption.html create mode 100644 testing/web-platform/tests/css/css-tables/tentative/col-collapse-table-size.html create mode 100644 testing/web-platform/tests/css/css-tables/tentative/colgroup-col.html create mode 100644 testing/web-platform/tests/css/css-tables/tentative/colspan-redistribution.html create mode 100644 testing/web-platform/tests/css/css-tables/tentative/column-widths.html create mode 100644 testing/web-platform/tests/css/css-tables/tentative/element-sizing.html create mode 100644 testing/web-platform/tests/css/css-tables/tentative/paint/background-image-column-collapsed-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/tentative/paint/background-image-column-collapsed.html create mode 100644 testing/web-platform/tests/css/css-tables/tentative/paint/background-image-column-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/tentative/paint/background-image-column.html create mode 100644 testing/web-platform/tests/css/css-tables/tentative/paint/background-image-row-collapsed-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/tentative/paint/background-image-row-collapsed.html create mode 100644 testing/web-platform/tests/css/css-tables/tentative/paint/background-image-row-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/tentative/paint/background-image-row.html create mode 100644 testing/web-platform/tests/css/css-tables/tentative/paint/collapsed-border-large-cell-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/tentative/paint/collapsed-border-large-cell.html create mode 100644 testing/web-platform/tests/css/css-tables/tentative/paint/overflow-hidden-table-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/tentative/paint/overflow-hidden-table.html create mode 100644 testing/web-platform/tests/css/css-tables/tentative/position-sticky-container.html create mode 100644 testing/web-platform/tests/css/css-tables/tentative/rowspan-height-redistribution.html create mode 100644 testing/web-platform/tests/css/css-tables/tentative/section-no-tbody-fixed-distribution.html create mode 100644 testing/web-platform/tests/css/css-tables/tentative/section-no-tbody-percent-distribution.html create mode 100644 testing/web-platform/tests/css/css-tables/tentative/support/README create mode 100644 testing/web-platform/tests/css/css-tables/tentative/support/table-tentative.css create mode 100644 testing/web-platform/tests/css/css-tables/tentative/table-fixed-minmax.html create mode 100644 testing/web-platform/tests/css/css-tables/tentative/table-height-redistribution.html create mode 100644 testing/web-platform/tests/css/css-tables/tentative/table-minmax.html create mode 100644 testing/web-platform/tests/css/css-tables/tentative/table-quirks.html create mode 100644 testing/web-platform/tests/css/css-tables/tentative/table-width-redistribution-fixed-padding.html create mode 100644 testing/web-platform/tests/css/css-tables/tentative/table-width-redistribution-fixed.html create mode 100644 testing/web-platform/tests/css/css-tables/tentative/table-width-redistribution.html create mode 100644 testing/web-platform/tests/css/css-tables/tentative/tbody-height-redistribution.html create mode 100644 testing/web-platform/tests/css/css-tables/tentative/td-box-sizing-001.html create mode 100644 testing/web-platform/tests/css/css-tables/tentative/td-box-sizing-002.html create mode 100644 testing/web-platform/tests/css/css-tables/tentative/td-box-sizing-003.html create mode 100644 testing/web-platform/tests/css/css-tables/tfoot-crash-print.html create mode 100644 testing/web-platform/tests/css/css-tables/th-text-align-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/th-text-align.html create mode 100644 testing/web-platform/tests/css/css-tables/toggle-row-display-property-001-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/toggle-row-display-property-001.html create mode 100644 testing/web-platform/tests/css/css-tables/tools/markup-generator.html create mode 100644 testing/web-platform/tests/css/css-tables/visibility-collapse-border-spacing.html create mode 100644 testing/web-platform/tests/css/css-tables/visibility-collapse-col-001.html create mode 100644 testing/web-platform/tests/css/css-tables/visibility-collapse-col-002.html create mode 100644 testing/web-platform/tests/css/css-tables/visibility-collapse-col-003.html create mode 100644 testing/web-platform/tests/css/css-tables/visibility-collapse-col-004-dynamic.html create mode 100644 testing/web-platform/tests/css/css-tables/visibility-collapse-col-005.html create mode 100644 testing/web-platform/tests/css/css-tables/visibility-collapse-colspan-001.html create mode 100644 testing/web-platform/tests/css/css-tables/visibility-collapse-colspan-002.html create mode 100644 testing/web-platform/tests/css/css-tables/visibility-collapse-colspan-003-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/visibility-collapse-colspan-003.html create mode 100644 testing/web-platform/tests/css/css-tables/visibility-collapse-colspan-crash.html create mode 100644 testing/web-platform/tests/css/css-tables/visibility-collapse-non-rowcol-001.html create mode 100644 testing/web-platform/tests/css/css-tables/visibility-collapse-row-001.html create mode 100644 testing/web-platform/tests/css/css-tables/visibility-collapse-row-002-dynamic.html create mode 100644 testing/web-platform/tests/css/css-tables/visibility-collapse-row-003-dynamic.html create mode 100644 testing/web-platform/tests/css/css-tables/visibility-collapse-row-004.html create mode 100644 testing/web-platform/tests/css/css-tables/visibility-collapse-row-005.html create mode 100644 testing/web-platform/tests/css/css-tables/visibility-collapse-row-group-001.html create mode 100644 testing/web-platform/tests/css/css-tables/visibility-collapse-row-group-002.html create mode 100644 testing/web-platform/tests/css/css-tables/visibility-collapse-rowcol-001.html create mode 100644 testing/web-platform/tests/css/css-tables/visibility-collapse-rowcol-002.html create mode 100644 testing/web-platform/tests/css/css-tables/visibility-collapse-rowspan-001.html create mode 100644 testing/web-platform/tests/css/css-tables/visibility-collapse-rowspan-002-border-separate.html create mode 100644 testing/web-platform/tests/css/css-tables/visibility-collapse-rowspan-002.html create mode 100644 testing/web-platform/tests/css/css-tables/visibility-collapse-rowspan-003-border-separate.html create mode 100644 testing/web-platform/tests/css/css-tables/visibility-collapse-rowspan-003.html create mode 100644 testing/web-platform/tests/css/css-tables/visibility-collapse-rowspan-004-dynamic.html create mode 100644 testing/web-platform/tests/css/css-tables/visibility-collapse-rowspan-005-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/visibility-collapse-rowspan-005.html create mode 100644 testing/web-platform/tests/css/css-tables/visibility-collapse-rowspan-crash.html create mode 100644 testing/web-platform/tests/css/css-tables/visibility-hidden-col-001.html create mode 100644 testing/web-platform/tests/css/css-tables/visibility-hidden-collapsed-borders.html create mode 100644 testing/web-platform/tests/css/css-tables/visibility-hidden-nested-001.html create mode 100644 testing/web-platform/tests/css/css-tables/visibility-hidden-nested-002.html create mode 100644 testing/web-platform/tests/css/css-tables/visibility-hidden-row-001.html create mode 100644 testing/web-platform/tests/css/css-tables/visibility-hidden-row-002.html create mode 100644 testing/web-platform/tests/css/css-tables/whitespace-001-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/whitespace-001.html create mode 100644 testing/web-platform/tests/css/css-tables/width-distribution/computing-column-measure-0.html create mode 100644 testing/web-platform/tests/css/css-tables/width-distribution/computing-column-measure-1.html create mode 100644 testing/web-platform/tests/css/css-tables/width-distribution/computing-column-measure-2.html create mode 100644 testing/web-platform/tests/css/css-tables/width-distribution/computing-table-width-0.html create mode 100644 testing/web-platform/tests/css/css-tables/width-distribution/computing-table-width-1.html create mode 100644 testing/web-platform/tests/css/css-tables/width-distribution/distribution-algo-1.html create mode 100644 testing/web-platform/tests/css/css-tables/width-distribution/distribution-algo-2.html create mode 100644 testing/web-platform/tests/css/css-tables/width-distribution/distribution-algo-min-content-guess.html create mode 100644 testing/web-platform/tests/css/css-tables/width-distribution/distribution-algo-min-content-percent-guess.html create mode 100644 testing/web-platform/tests/css/css-tables/width-distribution/distribution-algo-min-content-specified-guess.1.html create mode 100644 testing/web-platform/tests/css/css-tables/width-distribution/distribution-algo-min-content-specified-guess.html create mode 100644 testing/web-platform/tests/css/css-tables/width-distribution/td-with-subpixel-padding-vertical-rl.html create mode 100644 testing/web-platform/tests/css/css-tables/width-distribution/td-with-subpixel-padding.html create mode 100644 testing/web-platform/tests/css/css-tables/zero-rowspan-001-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/zero-rowspan-001.html create mode 100644 testing/web-platform/tests/css/css-tables/zero-rowspan-002-ref.html create mode 100644 testing/web-platform/tests/css/css-tables/zero-rowspan-002.html (limited to 'testing/web-platform/tests/css/css-tables') diff --git a/testing/web-platform/tests/css/css-tables/META.yml b/testing/web-platform/tests/css/css-tables/META.yml new file mode 100644 index 0000000000..b5372064ac --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/META.yml @@ -0,0 +1,6 @@ +spec: https://drafts.csswg.org/css-tables/ +suggested_reviewers: + - dbaron + - FremyCompany + - gregwhitworth + - rachelandrew diff --git a/testing/web-platform/tests/css/css-tables/absolute-crash.html b/testing/web-platform/tests/css/css-tables/absolute-crash.html new file mode 100644 index 0000000000..d455825607 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/absolute-crash.html @@ -0,0 +1,10 @@ + + + + + +
caption
+ diff --git a/testing/web-platform/tests/css/css-tables/absolute-tables-001.html b/testing/web-platform/tests/css/css-tables/absolute-tables-001.html new file mode 100644 index 0000000000..55a8f00d58 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/absolute-tables-001.html @@ -0,0 +1,89 @@ + + + + + + + + + +

Tests that percent lengths of an absolutely positioned table is resolved +against the padding box of the parent. +


+ +
+
+ + abc + +
+
+ + abc + +
+
+ + abc + +
+
+ + abc + +
+ +
+ + abc + +
+
+ + abc + +
+
+ + abc + +
+
+ + abc + +
+
+ diff --git a/testing/web-platform/tests/css/css-tables/absolute-tables-002.html b/testing/web-platform/tests/css/css-tables/absolute-tables-002.html new file mode 100644 index 0000000000..74d956ba9e --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/absolute-tables-002.html @@ -0,0 +1,78 @@ + + + + + + + + + + + +
+
+ + + + +
+
+
+
+
+ + + + +
+
+
+
+
+ + + + +
+
+
+
+
+ + + + +
+
+
+
+
+ diff --git a/testing/web-platform/tests/css/css-tables/absolute-tables-003.html b/testing/web-platform/tests/css/css-tables/absolute-tables-003.html new file mode 100644 index 0000000000..a6708192b3 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/absolute-tables-003.html @@ -0,0 +1,78 @@ + + + + + + + + + + + +
+
+ + + + +
+
+
+
+
+ + + + +
+
+
+
+
+ + + + +
+
+
+
+
+ + + + +
+
+
+
+
+ diff --git a/testing/web-platform/tests/css/css-tables/absolute-tables-004.html b/testing/web-platform/tests/css/css-tables/absolute-tables-004.html new file mode 100644 index 0000000000..a998d57726 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/absolute-tables-004.html @@ -0,0 +1,78 @@ + + + + + + + + + + + +
+
+ + + + +
+
+
+
+
+ + + + +
+
+
+
+
+ + + + +
+
+
+
+
+ + + + +
+
+
+
+
+ diff --git a/testing/web-platform/tests/css/css-tables/absolute-tables-005.html b/testing/web-platform/tests/css/css-tables/absolute-tables-005.html new file mode 100644 index 0000000000..4935e25349 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/absolute-tables-005.html @@ -0,0 +1,78 @@ + + + + + + + + + + + +
+
+ + + + +
+
+
+
+
+ + + + +
+
+
+
+
+ + + + +
+
+
+
+
+ + + + +
+
+
+
+
+ diff --git a/testing/web-platform/tests/css/css-tables/absolute-tables-006.html b/testing/web-platform/tests/css/css-tables/absolute-tables-006.html new file mode 100644 index 0000000000..d5d2265c49 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/absolute-tables-006.html @@ -0,0 +1,35 @@ + + + + + + + + +

Test passes if there is a filled green square.

+ + +
+ diff --git a/testing/web-platform/tests/css/css-tables/absolute-tables-007.html b/testing/web-platform/tests/css/css-tables/absolute-tables-007.html new file mode 100644 index 0000000000..7922da4922 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/absolute-tables-007.html @@ -0,0 +1,9 @@ + + + + +

Test passes if there is a filled green square and no red.

+
+
+
+
diff --git a/testing/web-platform/tests/css/css-tables/absolute-tables-008.tentative.html b/testing/web-platform/tests/css/css-tables/absolute-tables-008.tentative.html new file mode 100644 index 0000000000..157139b9ca --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/absolute-tables-008.tentative.html @@ -0,0 +1,25 @@ + + + + + + +

Test passes if there is a filled green square.

+
+ + +
X X X X X X X X X
+
diff --git a/testing/web-platform/tests/css/css-tables/absolute-tables-009.tentative.html b/testing/web-platform/tests/css/css-tables/absolute-tables-009.tentative.html new file mode 100644 index 0000000000..291c69afbc --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/absolute-tables-009.tentative.html @@ -0,0 +1,25 @@ + + + + + + +

Test passes if there is a filled green square.

+
+ + +
X X X X X X X X X
+
diff --git a/testing/web-platform/tests/css/css-tables/absolute-tables-010.tentative.html b/testing/web-platform/tests/css/css-tables/absolute-tables-010.tentative.html new file mode 100644 index 0000000000..cb4ad48f3a --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/absolute-tables-010.tentative.html @@ -0,0 +1,26 @@ + + + + + + +

Test passes if there is a filled green square.

+
+
+ + +
X X X X X X X X X
+
diff --git a/testing/web-platform/tests/css/css-tables/absolute-tables-011.tentative.html b/testing/web-platform/tests/css/css-tables/absolute-tables-011.tentative.html new file mode 100644 index 0000000000..5c8ed3a5fa --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/absolute-tables-011.tentative.html @@ -0,0 +1,25 @@ + + + + + + +

Test passes if there is a filled green square.

+
+ + +
X X X X X X X X X
+
diff --git a/testing/web-platform/tests/css/css-tables/absolute-tables-012.html b/testing/web-platform/tests/css/css-tables/absolute-tables-012.html new file mode 100644 index 0000000000..76dc0bf9e8 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/absolute-tables-012.html @@ -0,0 +1,9 @@ + + + + + +

Test passes if there is a filled green square.

+
+
+
diff --git a/testing/web-platform/tests/css/css-tables/absolute-tables-013.html b/testing/web-platform/tests/css/css-tables/absolute-tables-013.html new file mode 100644 index 0000000000..2eff1c976f --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/absolute-tables-013.html @@ -0,0 +1,32 @@ + + + + + +

Test passes if there is a filled green square and no red.

+
+ + +
+ + +
+
diff --git a/testing/web-platform/tests/css/css-tables/absolute-tables-014.html b/testing/web-platform/tests/css/css-tables/absolute-tables-014.html new file mode 100644 index 0000000000..60dfc1f59d --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/absolute-tables-014.html @@ -0,0 +1,32 @@ + + + + + +

Test passes if there is a filled green square and no red.

+
+ + +
+ + +
+
diff --git a/testing/web-platform/tests/css/css-tables/absolute-tables-015.html b/testing/web-platform/tests/css/css-tables/absolute-tables-015.html new file mode 100644 index 0000000000..f0f19e2d66 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/absolute-tables-015.html @@ -0,0 +1,32 @@ + + + + + +

Test passes if there is a filled green square and no red.

+
+ + +
+ + +
+
diff --git a/testing/web-platform/tests/css/css-tables/absolute-tables-016.html b/testing/web-platform/tests/css/css-tables/absolute-tables-016.html new file mode 100644 index 0000000000..f8eb1516ae --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/absolute-tables-016.html @@ -0,0 +1,44 @@ + + +CSS Test: Abspos table centered in both axes with auto margins + + + + + + +

Test passes if there is a filled green square and no red.

+
+ +
+
+
diff --git a/testing/web-platform/tests/css/css-tables/abspos-container-change-dynamic-001-ref.html b/testing/web-platform/tests/css/css-tables/abspos-container-change-dynamic-001-ref.html new file mode 100644 index 0000000000..606021ecbe --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/abspos-container-change-dynamic-001-ref.html @@ -0,0 +1,12 @@ + + +CSS Test Reference + + + + + + +
AB +
+
diff --git a/testing/web-platform/tests/css/css-tables/abspos-container-change-dynamic-001.html b/testing/web-platform/tests/css/css-tables/abspos-container-change-dynamic-001.html new file mode 100644 index 0000000000..5fdf7ce967 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/abspos-container-change-dynamic-001.html @@ -0,0 +1,30 @@ + + +Dynamic position change in table cell with abspos child + + + + + + + + + + + +
AB
+ diff --git a/testing/web-platform/tests/css/css-tables/animations/border-spacing-interpolation.html b/testing/web-platform/tests/css/css-tables/animations/border-spacing-interpolation.html new file mode 100644 index 0000000000..02e1cc6229 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/animations/border-spacing-interpolation.html @@ -0,0 +1,116 @@ + + +boder-spacing interpolation + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/css/css-tables/anonymous-table-cell-margin-collapsing.html b/testing/web-platform/tests/css/css-tables/anonymous-table-cell-margin-collapsing.html new file mode 100644 index 0000000000..23b467ebac --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/anonymous-table-cell-margin-collapsing.html @@ -0,0 +1,20 @@ + +Anonymous table cells with semi-complex margin collapsing inside + + + +

Test passes if there is a filled green square and no red.

+
+
+
+
+
+
+
+
+
+
+ +
+
diff --git a/testing/web-platform/tests/css/css-tables/anonymous-table-ws-001-ref.html b/testing/web-platform/tests/css/css-tables/anonymous-table-ws-001-ref.html new file mode 100644 index 0000000000..4429239d96 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/anonymous-table-ws-001-ref.html @@ -0,0 +1,7 @@ + +CSS Reference + +

Test passes if there is a space between the "a" and "b".

+
a b
diff --git a/testing/web-platform/tests/css/css-tables/anonymous-table-ws-001.html b/testing/web-platform/tests/css/css-tables/anonymous-table-ws-001.html new file mode 100644 index 0000000000..99d2cfc239 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/anonymous-table-ws-001.html @@ -0,0 +1,12 @@ + +CSS Test: White space should not be removed between elements for which a single anonymous table cell is generated + + + + +

Test passes if there is a space between the "a" and "b".

+
+ a b +
diff --git a/testing/web-platform/tests/css/css-tables/auto-layout-calc-width-001.html b/testing/web-platform/tests/css/css-tables/auto-layout-calc-width-001.html new file mode 100644 index 0000000000..dbd35d8af1 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/auto-layout-calc-width-001.html @@ -0,0 +1,37 @@ + + + + + + + + + + + +

Calc width on col is treated as auto in auto tables

+ + + + + + + +
+ + diff --git a/testing/web-platform/tests/css/css-tables/background-clip-001.html b/testing/web-platform/tests/css/css-tables/background-clip-001.html new file mode 100644 index 0000000000..dcda11fec7 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/background-clip-001.html @@ -0,0 +1,42 @@ + +Collapsed borders and background-clip + + + + + + + + +

Test passes if there is a filled green square and no red.

+ + + + + +
+ +
diff --git a/testing/web-platform/tests/css/css-tables/baseline-vertical-ref.html b/testing/web-platform/tests/css/css-tables/baseline-vertical-ref.html new file mode 100644 index 0000000000..da592cba2e --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/baseline-vertical-ref.html @@ -0,0 +1,25 @@ + +Reference: Table Baseline Alignment in Vertical Writing Mode + + + +
+
+
+
+
+
+
diff --git a/testing/web-platform/tests/css/css-tables/baseline-vertical.html b/testing/web-platform/tests/css/css-tables/baseline-vertical.html new file mode 100644 index 0000000000..45672ab6f3 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/baseline-vertical.html @@ -0,0 +1,30 @@ + +Table Baseline Alignment in Vertical Writing Mode + + + + + + + + +
+ +
diff --git a/testing/web-platform/tests/css/css-tables/border-collapse-double-border-notref.html b/testing/web-platform/tests/css/css-tables/border-collapse-double-border-notref.html new file mode 100644 index 0000000000..8f4222211d --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/border-collapse-double-border-notref.html @@ -0,0 +1,7 @@ + +CSS Test Reference + + + + +
Should see a non-solid border
diff --git a/testing/web-platform/tests/css/css-tables/border-collapse-double-border.html b/testing/web-platform/tests/css/css-tables/border-collapse-double-border.html new file mode 100644 index 0000000000..f7a00756e8 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/border-collapse-double-border.html @@ -0,0 +1,10 @@ + +CSS Test: border-collapsed tables don't unconditionally render double borders as solid + + + + + + + +
Should see a non-solid border
diff --git a/testing/web-platform/tests/css/css-tables/border-collapse-dynamic-col-001-ref.html b/testing/web-platform/tests/css/css-tables/border-collapse-dynamic-col-001-ref.html new file mode 100644 index 0000000000..6ace02b432 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/border-collapse-dynamic-col-001-ref.html @@ -0,0 +1,43 @@ + + +CSS Test Reference + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/testing/web-platform/tests/css/css-tables/border-collapse-dynamic-col-001.html b/testing/web-platform/tests/css/css-tables/border-collapse-dynamic-col-001.html new file mode 100644 index 0000000000..08a22ba7a9 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/border-collapse-dynamic-col-001.html @@ -0,0 +1,54 @@ + + +CSS Test: Border collapsed table with a dynamic <col> insertion + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ diff --git a/testing/web-platform/tests/css/css-tables/border-collapse-dynamic-oof.html b/testing/web-platform/tests/css/css-tables/border-collapse-dynamic-oof.html new file mode 100644 index 0000000000..6699fba3c1 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/border-collapse-dynamic-oof.html @@ -0,0 +1,15 @@ + + + +

Test passes if there is a filled green square and no red.

+
+
+
+
+
+
+
+ diff --git a/testing/web-platform/tests/css/css-tables/border-collapse-dynamic-section.html b/testing/web-platform/tests/css/css-tables/border-collapse-dynamic-section.html new file mode 100644 index 0000000000..5f48749fa4 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/border-collapse-dynamic-section.html @@ -0,0 +1,20 @@ + + + +

Test passes if there is a filled green square and no red.

+ + + + + + + + + + + +
+ diff --git a/testing/web-platform/tests/css/css-tables/border-collapse-empty-cell-ref.html b/testing/web-platform/tests/css/css-tables/border-collapse-empty-cell-ref.html new file mode 100644 index 0000000000..f6b25134f4 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/border-collapse-empty-cell-ref.html @@ -0,0 +1,21 @@ + + + + + + + + + + + +
diff --git a/testing/web-platform/tests/css/css-tables/border-collapse-empty-cell.html b/testing/web-platform/tests/css/css-tables/border-collapse-empty-cell.html new file mode 100644 index 0000000000..18894a35a9 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/border-collapse-empty-cell.html @@ -0,0 +1,26 @@ + +Collapsed borders of empty cells are painted + + + + + + + + + + + + + +
diff --git a/testing/web-platform/tests/css/css-tables/border-collapse-rowspan-cell-ref.html b/testing/web-platform/tests/css/css-tables/border-collapse-rowspan-cell-ref.html new file mode 100644 index 0000000000..53774da48a --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/border-collapse-rowspan-cell-ref.html @@ -0,0 +1,22 @@ + +CSS Reference + + + + + + + + +
+ Needs border +
+
diff --git a/testing/web-platform/tests/css/css-tables/border-collapse-rowspan-cell.html b/testing/web-platform/tests/css/css-tables/border-collapse-rowspan-cell.html new file mode 100644 index 0000000000..8a4bdede0e --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/border-collapse-rowspan-cell.html @@ -0,0 +1,26 @@ + +CSS Test: collapsed borders of row-spanning cells should paint correctly. + + + + + + + + + + + +
+ Needs border +
+
diff --git a/testing/web-platform/tests/css/css-tables/border-conflict-resolution-ref.html b/testing/web-platform/tests/css/css-tables/border-conflict-resolution-ref.html new file mode 100644 index 0000000000..f19032171b --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/border-conflict-resolution-ref.html @@ -0,0 +1,25 @@ + +CSS Test Reference + + + + +

You should see no non-solid borders and no red.

+ + + + + + + + + + + +
hello
onetwothreefour
diff --git a/testing/web-platform/tests/css/css-tables/border-conflict-resolution.html b/testing/web-platform/tests/css/css-tables/border-conflict-resolution.html new file mode 100644 index 0000000000..7248befef5 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/border-conflict-resolution.html @@ -0,0 +1,28 @@ + +CSS Test: Table border resolution rules + + + + + + + +

You should see no non-solid borders and no red.

+ + + + + + + + + + + +
hello
onetwothreefour
diff --git a/testing/web-platform/tests/css/css-tables/border-spacing-included-in-sizes-001.html b/testing/web-platform/tests/css/css-tables/border-spacing-included-in-sizes-001.html new file mode 100644 index 0000000000..be7d2641f0 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/border-spacing-included-in-sizes-001.html @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ diff --git a/testing/web-platform/tests/css/css-tables/border-writing-mode-dynamic-001.html b/testing/web-platform/tests/css/css-tables/border-writing-mode-dynamic-001.html new file mode 100644 index 0000000000..c1b232541d --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/border-writing-mode-dynamic-001.html @@ -0,0 +1,72 @@ + + +Collapsed borders track writing mode changes + + + + + + +
+ + + +
TABLE
+ + + + + +
TBODY
+ + + + + +
TR
+ + + +
TD
+ +
+ diff --git a/testing/web-platform/tests/css/css-tables/bounding-box-computation-1.html b/testing/web-platform/tests/css/css-tables/bounding-box-computation-1.html new file mode 100644 index 0000000000..4173f399bd --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/bounding-box-computation-1.html @@ -0,0 +1,96 @@ + + + + + +
+ +

Bounding box computation

+

Checks that all table-internal boxes are positioned correctly

+ +
+

The all table-internal elements of this table shoud be 100px and 100px wide tall:

+

Table size is 120px. There are two 10px border-spacing, one at each side.

+ + + + + + + + + +
+ + diff --git a/testing/web-platform/tests/css/css-tables/bounding-box-computation-2.html b/testing/web-platform/tests/css/css-tables/bounding-box-computation-2.html new file mode 100644 index 0000000000..f20cfe2a78 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/bounding-box-computation-2.html @@ -0,0 +1,96 @@ + + + + + +
+ +

Bounding box computation

+

Checks that all table-internal boxes are positioned correctly

+ +
+

The all table-internal elements of this table shoud be 100px and 100px wide tall:

+

Table size is 120px. There are two 10px borders, one at each side.

+ + + + + + + + + +
+ + diff --git a/testing/web-platform/tests/css/css-tables/bounding-box-computation-3.html b/testing/web-platform/tests/css/css-tables/bounding-box-computation-3.html new file mode 100644 index 0000000000..188257af44 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/bounding-box-computation-3.html @@ -0,0 +1,86 @@ + + + + + +
+ +

Bounding box computation

+

Checks that all table-internal boxes are positioned correctly

+ +
+

The first table-row-group should have width and height 0:

+

The first tbody is empty, and should return an height of 0px. The second one should be 100px tall.

+ + + + + + + + + +
+ + diff --git a/testing/web-platform/tests/css/css-tables/box-shadow-001.html b/testing/web-platform/tests/css/css-tables/box-shadow-001.html new file mode 100644 index 0000000000..9a9fb066d9 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/box-shadow-001.html @@ -0,0 +1,40 @@ + +Collapsed borders and box-shadow + + + + + + + + + +

Test passes if there is a filled green square and no red.

+ + + + +
diff --git a/testing/web-platform/tests/css/css-tables/calc-percent-plus-0px-auto.html b/testing/web-platform/tests/css/css-tables/calc-percent-plus-0px-auto.html new file mode 100644 index 0000000000..ec6e9ccfdd --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/calc-percent-plus-0px-auto.html @@ -0,0 +1,13 @@ + + +Simple calc expression in table layout + + + + + + + + + +
xy
diff --git a/testing/web-platform/tests/css/css-tables/calc-percent-plus-0px-fixed-ref.html b/testing/web-platform/tests/css/css-tables/calc-percent-plus-0px-fixed-ref.html new file mode 100644 index 0000000000..ec862ff1e0 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/calc-percent-plus-0px-fixed-ref.html @@ -0,0 +1,10 @@ + + +Simple calc expression in table layout + + + + + + +
xyz
diff --git a/testing/web-platform/tests/css/css-tables/calc-percent-plus-0px-fixed.html b/testing/web-platform/tests/css/css-tables/calc-percent-plus-0px-fixed.html new file mode 100644 index 0000000000..bcdb6721d4 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/calc-percent-plus-0px-fixed.html @@ -0,0 +1,14 @@ + + +Simple calc expression in table layout + + + + + + + + + + +
xyz
diff --git a/testing/web-platform/tests/css/css-tables/calc-percent-plus-0px-ref.html b/testing/web-platform/tests/css/css-tables/calc-percent-plus-0px-ref.html new file mode 100644 index 0000000000..7dc722cc2e --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/calc-percent-plus-0px-ref.html @@ -0,0 +1,9 @@ + + +Simple calc expression in table layout + + + + + +
xy
diff --git a/testing/web-platform/tests/css/css-tables/caption-side-1.html b/testing/web-platform/tests/css/css-tables/caption-side-1.html new file mode 100644 index 0000000000..302e51ae23 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/caption-side-1.html @@ -0,0 +1,42 @@ + + + + + +
+ +

Caption-side

+

Checks that browsers implement properly the caption-side property

+ +
+

This should read ABC:

+

+ The first caption (C) should be put on the bottom because it inherits caption-side:bottom from the table;
+ The second captin (A) should be put on the top because it has caption-side:top specified; +

+
C
B
A
+ + + + +
+ +
+ + diff --git a/testing/web-platform/tests/css/css-tables/caption-writing-mode-001.html b/testing/web-platform/tests/css/css-tables/caption-writing-mode-001.html new file mode 100644 index 0000000000..70db125923 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/caption-writing-mode-001.html @@ -0,0 +1,39 @@ + + + + + + + + + + caption + + + caption + +

This is a script test because of how ridiculously differently the current +engines render these cases.

+ + + diff --git a/testing/web-platform/tests/css/css-tables/caption-writing-mode-002.html b/testing/web-platform/tests/css/css-tables/caption-writing-mode-002.html new file mode 100644 index 0000000000..35de4f761a --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/caption-writing-mode-002.html @@ -0,0 +1,33 @@ + + + + + + + + + caption + + + diff --git a/testing/web-platform/tests/css/css-tables/chrome-rowspan-bug.html b/testing/web-platform/tests/css/css-tables/chrome-rowspan-bug.html new file mode 100644 index 0000000000..faf54671cf --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/chrome-rowspan-bug.html @@ -0,0 +1,45 @@ + + + +caption + + + + + +
+ + + + + + + + + + + + + + + + + +
+
+ + diff --git a/testing/web-platform/tests/css/css-tables/col-definite-max-size-001-ref.html b/testing/web-platform/tests/css/css-tables/col-definite-max-size-001-ref.html new file mode 100644 index 0000000000..835113b2e6 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/col-definite-max-size-001-ref.html @@ -0,0 +1,131 @@ + + + + + + + + + + +
12
+ + + + + + + + + + + + + + + + +
12
+ + + + + + + + + + + + + + + + +
12
+ + + + + + + + + + + + + + + + +
12
+ + + + + + + + +
12
+ + + + + + + + +
12
+ + + + + + + + +
12
+ + + + + + + + + + + + + + +
12
+ + + + + + + + +
12
+ + + + + + + + +
12
+ + + + + + + + +
12
diff --git a/testing/web-platform/tests/css/css-tables/col-definite-max-size-001.html b/testing/web-platform/tests/css/css-tables/col-definite-max-size-001.html new file mode 100644 index 0000000000..bcd7ca2fd8 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/col-definite-max-size-001.html @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + + + + + + + + +
12
+ + + + + + + + + + + + + + +
12
+ + + + + + + + + + + + + + +
12
+ + + + + + + + + + + + + + +
12
+ + + + + + + + + + + + + + +
12
+ + + + + + + + + + + + + + +
12
+ + + + + + + + + + + + + + +
12
+ + + + + + + + + + + + + + +
12
+ + + + + + + + + + + + + + +
12
+ + + + + + + + + + + + + + +
12
+ + + + + + + + + + + + + + +
12
diff --git a/testing/web-platform/tests/css/css-tables/col-definite-min-size-001.html b/testing/web-platform/tests/css/css-tables/col-definite-min-size-001.html new file mode 100644 index 0000000000..7fb6632eec --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/col-definite-min-size-001.html @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + +
12
+ + + + + + + + + + + + + + +
12
+ + + + + + + + + + + + + + +
12
+ + + + + + + + + + + + + + +
12
diff --git a/testing/web-platform/tests/css/css-tables/col-definite-size-001-ref.html b/testing/web-platform/tests/css/css-tables/col-definite-size-001-ref.html new file mode 100644 index 0000000000..7f666ef0a3 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/col-definite-size-001-ref.html @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + +
12
+ + + + + + + + +
12
+ + + + + + + + +
12
+ + + + + + + + +
12
diff --git a/testing/web-platform/tests/css/css-tables/col-definite-size-001.html b/testing/web-platform/tests/css/css-tables/col-definite-size-001.html new file mode 100644 index 0000000000..7f30417557 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/col-definite-size-001.html @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + +
12
+ + + + + + + + + + + + + + +
12
+ + + + + + + + + + + + + + +
12
+ + + + + + + + + + + + + + +
12
diff --git a/testing/web-platform/tests/css/css-tables/col_removal.html b/testing/web-platform/tests/css/css-tables/col_removal.html new file mode 100644 index 0000000000..ee5efa9dda --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/col_removal.html @@ -0,0 +1,31 @@ + +Table grid syncs after COL removal + + + + + + +
+ + + + + +
xx
+
+ diff --git a/testing/web-platform/tests/css/css-tables/collapsed-border-color-change-with-compositing-ref.html b/testing/web-platform/tests/css/css-tables/collapsed-border-color-change-with-compositing-ref.html new file mode 100644 index 0000000000..ab9d839274 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/collapsed-border-color-change-with-compositing-ref.html @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + +
FirstSecond
ThirdFourth
+ diff --git a/testing/web-platform/tests/css/css-tables/collapsed-border-color-change-with-compositing.html b/testing/web-platform/tests/css/css-tables/collapsed-border-color-change-with-compositing.html new file mode 100644 index 0000000000..f7b19676bd --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/collapsed-border-color-change-with-compositing.html @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + +
FirstSecond
ThirdFourth
+ + diff --git a/testing/web-platform/tests/css/css-tables/collapsed-border-paint-phase-001.html b/testing/web-platform/tests/css/css-tables/collapsed-border-paint-phase-001.html new file mode 100644 index 0000000000..9c45eb7136 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/collapsed-border-paint-phase-001.html @@ -0,0 +1,13 @@ + + + + +

Test passes if there is a filled green square and no red.

+ + +
+
+ +
+
+
diff --git a/testing/web-platform/tests/css/css-tables/collapsed-border-paint-phase-002.html b/testing/web-platform/tests/css/css-tables/collapsed-border-paint-phase-002.html new file mode 100644 index 0000000000..865069da0a --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/collapsed-border-paint-phase-002.html @@ -0,0 +1,13 @@ + + + + +

Test passes if there is a filled green square and no red.

+ + + +
+
+
+
+
diff --git a/testing/web-platform/tests/css/css-tables/collapsed-border-positioned-tr-td-ref.html b/testing/web-platform/tests/css/css-tables/collapsed-border-positioned-tr-td-ref.html new file mode 100644 index 0000000000..b309901769 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/collapsed-border-positioned-tr-td-ref.html @@ -0,0 +1,18 @@ + + + + + + + + + +
diff --git a/testing/web-platform/tests/css/css-tables/collapsed-border-positioned-tr-td.html b/testing/web-platform/tests/css/css-tables/collapsed-border-positioned-tr-td.html new file mode 100644 index 0000000000..d5c6094497 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/collapsed-border-positioned-tr-td.html @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + +
diff --git a/testing/web-platform/tests/css/css-tables/collapsed-border-remove-cell-ref.html b/testing/web-platform/tests/css/css-tables/collapsed-border-remove-cell-ref.html new file mode 100644 index 0000000000..9294283d52 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/collapsed-border-remove-cell-ref.html @@ -0,0 +1,18 @@ + + + + + +
diff --git a/testing/web-platform/tests/css/css-tables/collapsed-border-remove-cell.html b/testing/web-platform/tests/css/css-tables/collapsed-border-remove-cell.html new file mode 100644 index 0000000000..2a84a63921 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/collapsed-border-remove-cell.html @@ -0,0 +1,27 @@ + + +Collapsed borders track changes caused by removal of cells + + + + + + + + +
+ diff --git a/testing/web-platform/tests/css/css-tables/collapsed-scroll-overflow.html b/testing/web-platform/tests/css/css-tables/collapsed-scroll-overflow.html new file mode 100644 index 0000000000..fa3b5e55e1 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/collapsed-scroll-overflow.html @@ -0,0 +1,43 @@ + + + + + + + +
+
+ + + + + + + +
header
body body body body body body body body body body body
+
+ + diff --git a/testing/web-platform/tests/css/css-tables/colspan-001.html b/testing/web-platform/tests/css/css-tables/colspan-001.html new file mode 100644 index 0000000000..e6cb440366 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/colspan-001.html @@ -0,0 +1,32 @@ + + + + +

There should be five squares.

+ + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+ + + + diff --git a/testing/web-platform/tests/css/css-tables/colspan-002.html b/testing/web-platform/tests/css/css-tables/colspan-002.html new file mode 100644 index 0000000000..144cbef485 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/colspan-002.html @@ -0,0 +1,32 @@ + + + + +

There should be five squares.

+ + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+ + + + diff --git a/testing/web-platform/tests/css/css-tables/colspan-003.html b/testing/web-platform/tests/css/css-tables/colspan-003.html new file mode 100644 index 0000000000..58e02b9287 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/colspan-003.html @@ -0,0 +1,32 @@ + + + + +

There should be five squares.

+ + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+ + + + diff --git a/testing/web-platform/tests/css/css-tables/colspan-004.html b/testing/web-platform/tests/css/css-tables/colspan-004.html new file mode 100644 index 0000000000..cbe7f96ec2 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/colspan-004.html @@ -0,0 +1,20 @@ + + + + +

Test passes if there is a filled green square and no red.

+
+ + + + + + + + + + +
+
+
+
diff --git a/testing/web-platform/tests/css/css-tables/column-track-merging.html b/testing/web-platform/tests/css/css-tables/column-track-merging.html new file mode 100644 index 0000000000..6dba9e6f60 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/column-track-merging.html @@ -0,0 +1,278 @@ + +Column track merging + + + + + + +

Column merging investigation

+Empty columns is a column that has no originating cells +

Table standard discusses this under "track merging".

+
    +
  • Do empty columns get coalesced?
  • +
  • How does this interact with table-layout:fixed, table width
  • +
  • Is there a difference between columns defined by COL, vs TD.colspan? Yes!
  • +
  • Do COLs with specified width get merged?
  • +
+

Compatibility

+
  • Edge17 has a bug where width of a colspanned cell always includes cell width + width of border spacing. It should be max(cell width, border spacing)
  • +
  • Safari matches Chrome Legacy. TD-originated columns are always merged.
  • +
  • Firefox follows the standard, but has a few bugs.
  • +
    + +

    TD merging

    + +
    Auto table, and TD.colspan=10
    +  FF/Chrome Legacy/Safari: Standard. Tracks merge.
    +  Edge17: Tracks do not merge. Wide cell is 180px (9 * border spacing)
    +
    + + + + + + + + + + +
    auto
    + +
    Auto table(400px), and TD.colspan=10
    +  FF/Chrome Legacy/Safari/Edge17: Standard. Tracks merge. Colspan cell grows because it is unconstrained.
    +
    + + + + + + + + + + +
    auto 400px
    + +
    Auto table(130px), and TD.colspan=10
    +  FF/Chrome Legacy/Safari: Standard. Tracks merge. Colspan cell shrinks to min width becuase it is unconstrained.
    +  Edge17: Non-compliant, buggy. Wide cell too wide, narrow cell disappears.
    +
    + + + + + + + + + + +
    auto 130px
    + +
    Fixed(400px) table, and TD.colspan=10
    +  Chrome/Safari: Non-compliant. Tracks merge. Cells are the same size, fixed algo distributes extra width evenly.
    +  Firefox: Standard.
    +  Edge17: Standard, buggy. Wide cell too wide. Edge's bug is that it computes max width as (width + border_spacing) instead of max(width, border_spacing).
    +
    + + + + + + + + + + +
    fixed 400px
    + +
    Fixed(130px) table, and TD.colspan=10
    +  Chrome/Safari: Non-compliant.Tracks merge, cells same size.
    +  Firefox: Standard + buggy. Table does not grow.
    +  Edge17: Standard + buggy. Wide cell too wide.
    +
    + + + + + + + + + + +
    fixed 130px
    + +

    COL merging. Same tests with COL span=10 replacing TD

    + +
    Auto table
    +  FF/Chrome Legacy/Safari, Edge17: Standard. wide cell is 50px, tracks do merge.
    +
    + + ++ + + + + + + + +
    auto
    + +
    Auto table(400px)
    +  FF/Chrome Legacy/Safari, Edge17: Standard. Both cells grow the same because unconstrained.
    +
    + + ++ + + + + + + + +
    auto 400px
    + +
    Auto table(130px)
    +  FF/Chrome Legacy/Safari, Edge17: Standard. Both cells shrink.
    +
    + + ++ + + + + + + + +
    auto 130px
    + +
    Fixed(400px) table
    +  Chrome/Safari,Firefox: Standard.
    +  Edge17: Buggy. Fixed cells grow to fill table.
    +
    + + ++ + + + + + + + +
    fixed 400px
    + +
    Fixed(130px) table
    +  Chrome/Safari: Standard, very buggy. Non-collapsed columns shrink to single border spacing.
    +  Firefox: Standard.
    +  Edge17: Non-compliant, collapses columns.
    +
    + ++ + + + + + + + + +
    fixed 130px
    + +

    COL merging when COL has specified width.

    + +
    • Chrome Legacy/Edge17/Safari: non-compliant, merge COLs with specified widths. +
    • Firefox: Standard, unless COL width is 0px. Buggy, does not include border-spacing around columns.
    +
    Auto table, COL width 30px.
    +  Chrome Legacy/Edge17/Safari: non-compliant, merge.
    +  Firefox: Standard, buggy. does not include border-spacing around columns.
    +
    + + ++ + + + + + + + +
    auto col 30px
    + +
    Auto table, COL width 5%.
    +  Chrome Legacy/Edge17/Safari: non-compliant, merge.
    +  Firefox: Standard, buggy. does not include border-spacing around columns.
    +
    + + ++ + + + + + + + +
    auto col 10%
    + +
    Auto table, COL width 0px.
    +  Everyone: merges COL
    +
    + + ++ + + + + + + + +
    auto col 0px
    + + +
    + + + + + diff --git a/testing/web-platform/tests/css/css-tables/crashtests/caption-with-multicol-table-cell.html b/testing/web-platform/tests/css/css-tables/crashtests/caption-with-multicol-table-cell.html new file mode 100644 index 0000000000..2228ad6936 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/crashtests/caption-with-multicol-table-cell.html @@ -0,0 +1,8 @@ + + + + + +
    +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/crashtests/col_span_dynamic_crash.html b/testing/web-platform/tests/css/css-tables/crashtests/col_span_dynamic_crash.html new file mode 100644 index 0000000000..67630066fa --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/crashtests/col_span_dynamic_crash.html @@ -0,0 +1,21 @@ + + + + + + + + + + + + +
    ab
    + diff --git a/testing/web-platform/tests/css/css-tables/crashtests/dialog-table-crash.html b/testing/web-platform/tests/css/css-tables/crashtests/dialog-table-crash.html new file mode 100644 index 0000000000..decc3eb1fb --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/crashtests/dialog-table-crash.html @@ -0,0 +1,16 @@ + + + +
    +
    +
    +
    +
    +
    +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/crashtests/dynamic-recompute-baseline.html b/testing/web-platform/tests/css/css-tables/crashtests/dynamic-recompute-baseline.html new file mode 100644 index 0000000000..049de2f15c --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/crashtests/dynamic-recompute-baseline.html @@ -0,0 +1,12 @@ + + + + + +
    +
    +
    + diff --git a/testing/web-platform/tests/css/css-tables/crashtests/dynamic_col_width_crash.html b/testing/web-platform/tests/css/css-tables/crashtests/dynamic_col_width_crash.html new file mode 100644 index 0000000000..e19c22be31 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/crashtests/dynamic_col_width_crash.html @@ -0,0 +1,12 @@ + + + + + + + +
    caption
    + diff --git a/testing/web-platform/tests/css/css-tables/crashtests/dynamic_table_layout_crash.html b/testing/web-platform/tests/css/css-tables/crashtests/dynamic_table_layout_crash.html new file mode 100644 index 0000000000..cc28f3bfdc --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/crashtests/dynamic_table_layout_crash.html @@ -0,0 +1,9 @@ + + + + +
    hi
    there
    + diff --git a/testing/web-platform/tests/css/css-tables/crashtests/empty-tbody-after-tall-section-crash.html b/testing/web-platform/tests/css/css-tables/crashtests/empty-tbody-after-tall-section-crash.html new file mode 100644 index 0000000000..b2d6e64254 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/crashtests/empty-tbody-after-tall-section-crash.html @@ -0,0 +1,8 @@ + + + + + + + +
    diff --git a/testing/web-platform/tests/css/css-tables/crashtests/empty_cells_crash.html b/testing/web-platform/tests/css/css-tables/crashtests/empty_cells_crash.html new file mode 100644 index 0000000000..7635afc9e6 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/crashtests/empty_cells_crash.html @@ -0,0 +1,17 @@ + + + + + + + +
    + diff --git a/testing/web-platform/tests/css/css-tables/crashtests/empty_table_with_cols.html b/testing/web-platform/tests/css/css-tables/crashtests/empty_table_with_cols.html new file mode 100644 index 0000000000..a2b817f85c --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/crashtests/empty_table_with_cols.html @@ -0,0 +1,3 @@ + + + diff --git a/testing/web-platform/tests/css/css-tables/crashtests/expression_width_crash.html b/testing/web-platform/tests/css/css-tables/crashtests/expression_width_crash.html new file mode 100644 index 0000000000..5c636bef6a --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/crashtests/expression_width_crash.html @@ -0,0 +1,5 @@ + +
    + + +
    diff --git a/testing/web-platform/tests/css/css-tables/crashtests/inline-splitting-crash.html b/testing/web-platform/tests/css/css-tables/crashtests/inline-splitting-crash.html new file mode 100644 index 0000000000..decc3eb1fb --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/crashtests/inline-splitting-crash.html @@ -0,0 +1,16 @@ + + + +
    +
    +
    +
    +
    +
    +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/crashtests/large-border-crash.html b/testing/web-platform/tests/css/css-tables/crashtests/large-border-crash.html new file mode 100644 index 0000000000..b61ea7f046 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/crashtests/large-border-crash.html @@ -0,0 +1,3 @@ + + +
    diff --git a/testing/web-platform/tests/css/css-tables/crashtests/large-col-widths.html b/testing/web-platform/tests/css/css-tables/crashtests/large-col-widths.html new file mode 100644 index 0000000000..666750c005 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/crashtests/large-col-widths.html @@ -0,0 +1,11 @@ + + + + + + + + +
    +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/crashtests/legacy_ng_mix_crash.html b/testing/web-platform/tests/css/css-tables/crashtests/legacy_ng_mix_crash.html new file mode 100644 index 0000000000..7e7377ef7e --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/crashtests/legacy_ng_mix_crash.html @@ -0,0 +1,9 @@ + +

    PASS if no crash or DCHECK failure.

    + + +
    + diff --git a/testing/web-platform/tests/css/css-tables/crashtests/move-oof-inside-section-row-with-borders.html b/testing/web-platform/tests/css/css-tables/crashtests/move-oof-inside-section-row-with-borders.html new file mode 100644 index 0000000000..f6fef22ea7 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/crashtests/move-oof-inside-section-row-with-borders.html @@ -0,0 +1,16 @@ + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    + diff --git a/testing/web-platform/tests/css/css-tables/crashtests/negative-section-distribution.html b/testing/web-platform/tests/css/css-tables/crashtests/negative-section-distribution.html new file mode 100644 index 0000000000..b0cedcaf5a --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/crashtests/negative-section-distribution.html @@ -0,0 +1,12 @@ + +
    + + + + +
    + text
    text +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/crashtests/negative_caption_margin.html b/testing/web-platform/tests/css/css-tables/crashtests/negative_caption_margin.html new file mode 100644 index 0000000000..cd3c4f4bf7 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/crashtests/negative_caption_margin.html @@ -0,0 +1,12 @@ + + + + + + +
    + diff --git a/testing/web-platform/tests/css/css-tables/crashtests/orthogonal-cell-borders.html b/testing/web-platform/tests/css/css-tables/crashtests/orthogonal-cell-borders.html new file mode 100644 index 0000000000..c48352a872 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/crashtests/orthogonal-cell-borders.html @@ -0,0 +1,5 @@ + + +
    +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/crashtests/orthogonal-cell-crash.html b/testing/web-platform/tests/css/css-tables/crashtests/orthogonal-cell-crash.html new file mode 100644 index 0000000000..0f27d3eccd --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/crashtests/orthogonal-cell-crash.html @@ -0,0 +1,5 @@ + + + + +
    diff --git a/testing/web-platform/tests/css/css-tables/crashtests/table-column-display-change-chrome-crash.html b/testing/web-platform/tests/css/css-tables/crashtests/table-column-display-change-chrome-crash.html new file mode 100644 index 0000000000..0845882955 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/crashtests/table-column-display-change-chrome-crash.html @@ -0,0 +1,16 @@ + + + + +
    + +
    + +
    +
    + diff --git a/testing/web-platform/tests/css/css-tables/crashtests/textarea-intrinsic-size-crash.html b/testing/web-platform/tests/css/css-tables/crashtests/textarea-intrinsic-size-crash.html new file mode 100644 index 0000000000..e84f239987 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/crashtests/textarea-intrinsic-size-crash.html @@ -0,0 +1,6 @@ + + +
    +
    + +
    diff --git a/testing/web-platform/tests/css/css-tables/dynamic-rowspan-change.html b/testing/web-platform/tests/css/css-tables/dynamic-rowspan-change.html new file mode 100644 index 0000000000..c02f84b4a5 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/dynamic-rowspan-change.html @@ -0,0 +1,45 @@ + + + + + + + + + +
    + + + + + + + +
    +
    + + + + + + + +
    +
    + + diff --git a/testing/web-platform/tests/css/css-tables/dynamic-table-cell-height.html b/testing/web-platform/tests/css/css-tables/dynamic-table-cell-height.html new file mode 100644 index 0000000000..f6cd48e5ba --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/dynamic-table-cell-height.html @@ -0,0 +1,17 @@ + + + + + +

    Test passes if there is a filled green square and no red.

    +
    +
    +
    +
    +
    + diff --git a/testing/web-platform/tests/css/css-tables/empty-table-height.html b/testing/web-platform/tests/css/css-tables/empty-table-height.html new file mode 100644 index 0000000000..75f0e99b7b --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/empty-table-height.html @@ -0,0 +1,16 @@ + +Empty tables still account for paddings / borders + + + + + + +
    diff --git a/testing/web-platform/tests/css/css-tables/fixed-layout-1.html b/testing/web-platform/tests/css/css-tables/fixed-layout-1.html new file mode 100644 index 0000000000..3e0d013af1 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/fixed-layout-1.html @@ -0,0 +1,90 @@ + + + + + +
    + +

    Fixed Layout

    +

    Checks whether fixed layout is implemented properly

    + +
    +

    This should be a 100px-wide blue square:

    +

    Width is distributed equally between columns of auto size

    + + + + + + + +
    +

    This should be a 100px-wide blue square:

    +

    Width is distributed equally between columns of auto size (even if they are defined by rows other than the first)

    + + + + + +
    +

    This should be a 100px-wide blue square:

    +

    Widths defined on cells that are not the first row are ignored

    + + + + + +
    +

    This should be a 100px-wide blue square:

    +

    The table has to grow to contain the widths defined for its columns

    + + + + + +
    +

    This should be a 100px-wide blue square:

    +

    The first row is based on the visual order, not the dom order

    + + + + + +
    + + diff --git a/testing/web-platform/tests/css/css-tables/fixed-layout-2.html b/testing/web-platform/tests/css/css-tables/fixed-layout-2.html new file mode 100644 index 0000000000..dcbabb1ff7 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/fixed-layout-2.html @@ -0,0 +1,84 @@ + + + + + +
    + +

    Fixed Layout

    +

    Checks whether fixed layout is implemented properly (width is not definite)

    + +
    +

    This should be a 100px-wide blue square:

    +

    Table-layout:fixed does not apply to width:auto tables

    + + +
    + +
    +
    + +
    +

    This should be a 100px-wide blue square:

    +

    Table-layout:fixed does not apply to width:max-content tables

    + + +
    + +
    +
    + +
    +

    This should be a 100px-wide blue square:

    +

    Table-layout:fixed does apply to width:min-content/fit-content tables

    + + +
    + +
    +
    + + +
    +
    +
    +
    + +
    + + diff --git a/testing/web-platform/tests/css/css-tables/fixed-layout-calc-width-001.html b/testing/web-platform/tests/css/css-tables/fixed-layout-calc-width-001.html new file mode 100644 index 0000000000..ac6f9fc1a9 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/fixed-layout-calc-width-001.html @@ -0,0 +1,36 @@ + + + + + + + + + + +

    Calc width on col is treated as auto, even in fixed tables

    + + + + + + + +
    + + diff --git a/testing/web-platform/tests/css/css-tables/fixed-layout-excess-width-distribution-001.html b/testing/web-platform/tests/css/css-tables/fixed-layout-excess-width-distribution-001.html new file mode 100644 index 0000000000..6abf07eda0 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/fixed-layout-excess-width-distribution-001.html @@ -0,0 +1,43 @@ + + + + + + + + + +

    Fixed layout tables with excess width and no auto columns

    + +FF/Edge give excess only to fixed columns, in proportion to their relative +widths. This is what the spec dictates. +
    Chrome (62) gives excess to ALL columns, in proportion to their +contribution to total width. + + + + + + +
    + + diff --git a/testing/web-platform/tests/css/css-tables/fixup-dynamic-anonymous-inline-table-001.html b/testing/web-platform/tests/css/css-tables/fixup-dynamic-anonymous-inline-table-001.html new file mode 100644 index 0000000000..9bf7b4c578 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/fixup-dynamic-anonymous-inline-table-001.html @@ -0,0 +1,36 @@ + +CSS Test: CSS Tables fixup merge anonymous inline table siblings (row-group + row-group) + + + + +

    Test passes if there is a filled green square.

    + + + +
    +
    +
    + Remove me + + +
    +
    +
    +
    + diff --git a/testing/web-platform/tests/css/css-tables/fixup-dynamic-anonymous-inline-table-002.html b/testing/web-platform/tests/css/css-tables/fixup-dynamic-anonymous-inline-table-002.html new file mode 100644 index 0000000000..9f3a2ff21e --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/fixup-dynamic-anonymous-inline-table-002.html @@ -0,0 +1,34 @@ + +CSS Test: CSS Tables fixup merge anonymous inline table siblings (cell + row) + + + + +

    Test passes if there is a filled green square.

    + + +
    +
    + Remove me + + +
    +
    +
    +
    + diff --git a/testing/web-platform/tests/css/css-tables/fixup-dynamic-anonymous-inline-table-003.html b/testing/web-platform/tests/css/css-tables/fixup-dynamic-anonymous-inline-table-003.html new file mode 100644 index 0000000000..42b7f9a025 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/fixup-dynamic-anonymous-inline-table-003.html @@ -0,0 +1,31 @@ + +CSS Test: CSS Tables fixup merge anonymous inline table siblings (cell + cell) + + + + +

    Test passes if there is a filled green square.

    +
    + + +
    +
    + Remove me + +
    +
    +
    +
    + diff --git a/testing/web-platform/tests/css/css-tables/fixup-dynamic-anonymous-table-001.html b/testing/web-platform/tests/css/css-tables/fixup-dynamic-anonymous-table-001.html new file mode 100644 index 0000000000..d9dbc511a6 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/fixup-dynamic-anonymous-table-001.html @@ -0,0 +1,23 @@ + +CSS Test: CSS Tables fixup merge anonymous table siblings (cell + cell) + + + + +

    Test passes if there is a filled green square.

    +
    + + Remove me + +
    + diff --git a/testing/web-platform/tests/css/css-tables/floats/floats-wrap-bfc-006b-ref.xht b/testing/web-platform/tests/css/css-tables/floats/floats-wrap-bfc-006b-ref.xht new file mode 100644 index 0000000000..93cdd3e51c --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/floats/floats-wrap-bfc-006b-ref.xht @@ -0,0 +1,59 @@ + + CSS Test: Test for flow around floats (reference) + + + + + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    Caption
    Cell
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + + + diff --git a/testing/web-platform/tests/css/css-tables/floats/floats-wrap-bfc-006c-ref.xht b/testing/web-platform/tests/css/css-tables/floats/floats-wrap-bfc-006c-ref.xht new file mode 100644 index 0000000000..7482203845 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/floats/floats-wrap-bfc-006c-ref.xht @@ -0,0 +1,59 @@ + + CSS Test: Test for flow around floats (reference) + + + + + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    Cell
    Caption
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + + + diff --git a/testing/web-platform/tests/css/css-tables/fractional-percent-width.html b/testing/web-platform/tests/css/css-tables/fractional-percent-width.html new file mode 100644 index 0000000000..cd032ebcc1 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/fractional-percent-width.html @@ -0,0 +1,58 @@ + + + + + + + + + +

    + Tests that percent lengths of fractional td width should rendered correctly + even it is smaller than 1. +

    + +
    + +
    +
    + + + + + + + +
    0.5%
    + + + + + + + +
    1%
    + + + + + + + +
    5%
    +
    +
    + + diff --git a/testing/web-platform/tests/css/css-tables/height-distribution/computing-row-measure-0.html b/testing/web-platform/tests/css/css-tables/height-distribution/computing-row-measure-0.html new file mode 100644 index 0000000000..ebaab2c359 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/height-distribution/computing-row-measure-0.html @@ -0,0 +1,71 @@ + + + + + + + +
    +

    "Computing row measures"

    +

    This is testing that the table root's minimum is max(table-root width, capmin, gridmin) Spec Text

    + +
    + + + + + + +
    + + + + + + + +
    + + + + + + + +
    + + + + + + + +
    +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/height-distribution/computing-row-measure-1.html b/testing/web-platform/tests/css/css-tables/height-distribution/computing-row-measure-1.html new file mode 100644 index 0000000000..756e730eef --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/height-distribution/computing-row-measure-1.html @@ -0,0 +1,94 @@ + + + + + + + +
    +

    Width Distribution

    +

    "Computing column measures"

    +

    This is testing intermediate min-content width for span 2

    + +
    + + + + + + + + + + + + +
    + + + + + + + + + + + + + +
    + + + + + + + + + + +
    + + + + + + + + + + +
    +
    + + + + diff --git a/testing/web-platform/tests/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-001.html b/testing/web-platform/tests/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-001.html new file mode 100644 index 0000000000..387bfafae1 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-001.html @@ -0,0 +1,41 @@ + + + + + + + + +all row groups receive extra height distribution + + + + +

    Test passes if there is a filled green square and no red. +

    +
    + + + + + + +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-002.html b/testing/web-platform/tests/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-002.html new file mode 100644 index 0000000000..6a0589d3b8 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-002.html @@ -0,0 +1,41 @@ + + + + + + + + +all row groups receive extra height distribution + + + + +

    Test passes if there is a filled green square and no red. +

    +
    + + + + + + +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-003.html b/testing/web-platform/tests/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-003.html new file mode 100644 index 0000000000..7970f95d0e --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-003.html @@ -0,0 +1,49 @@ + + + + + + + + + + +all row groups receive extra height distribution + + + + + + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-004.html b/testing/web-platform/tests/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-004.html new file mode 100644 index 0000000000..8ca86957c1 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-004.html @@ -0,0 +1,49 @@ + + + + + + + + + + +all row groups receive extra height distribution + + + + + + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-005.html b/testing/web-platform/tests/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-005.html new file mode 100644 index 0000000000..381d775e89 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-005.html @@ -0,0 +1,41 @@ + + + + + + + + +all row groups receive extra height distribution + + + + +

    Test passes if there is a filled green square and no red. +

    +
    + + + + + + +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-007-ref.html b/testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-007-ref.html new file mode 100644 index 0000000000..cdd6e7c906 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-007-ref.html @@ -0,0 +1,8 @@ + + + +
    +
    +
    +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-007.html b/testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-007.html new file mode 100644 index 0000000000..371333a24d --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-007.html @@ -0,0 +1,10 @@ + + + + + +
    +
    +
    +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-002-ref.html b/testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-002-ref.html new file mode 100644 index 0000000000..f2ed9e15dd --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-002-ref.html @@ -0,0 +1,37 @@ + + +CSS Reftest Reference: Percentage sizing of table cell children with margin, border, padding and scrollbar + + + + +

    The test passes if you see scrollbars but there's no overflow, so you cannot actually scroll.

    + +
    +
    +
    +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-002.html b/testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-002.html new file mode 100644 index 0000000000..19b02b2031 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-002.html @@ -0,0 +1,39 @@ + + +CSS Table Test: Percentage sizing of table cell children with margin, border, padding and scrollbar + + + + + + + +

    The test passes if you see scrollbars but there's no overflow, so you cannot actually scroll.

    + +
    +
    +
    +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-003.html b/testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-003.html new file mode 100644 index 0000000000..1198e6f649 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-003.html @@ -0,0 +1,37 @@ + + + + + + + +table cell percent height descendant with overflow:auto + + + + + +

    Test passes if there is a filled green square and no red. +

    +
    +
    +
    +
    +
    +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-004.html b/testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-004.html new file mode 100644 index 0000000000..ffbb4b008a --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-004.html @@ -0,0 +1,37 @@ + + + + + + + +table cell percent height descendant with overflow:auto + + + + + +

    Test passes if there is a filled green square and no red. +

    +
    +
    +
    +
    +
    +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-005.html b/testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-005.html new file mode 100644 index 0000000000..0a0e658bd8 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-005.html @@ -0,0 +1,40 @@ + + + + + + + +table cell percent height descendant with overflow:auto + + + + + +

    Test passes if there is a filled green square and no red. +

    +
    +
    +
    +
    +
    +
    +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-006.html b/testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-006.html new file mode 100644 index 0000000000..de3ac019b3 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-006.html @@ -0,0 +1,38 @@ + + + + + + + +table cell percent height descendant with overflow:auto + + + + + +

    Test passes if there is a filled green square and no red. +

    +
    +
    + +
    +
    +
    +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children.html b/testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children.html new file mode 100644 index 0000000000..1029581022 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children.html @@ -0,0 +1,199 @@ + + + + + + + + + +
    + +

    Height distribution

    +

    Check that percentages are accounted for correctly for table-cell children

    + + +
    +

    There should be a 100px blue square below:

    +

    Percentages resolve based on the column width

    +
    + +
    +
    +
    + + + +
    +

    There should be a 100px blue square below:

    +

    Percentages resolve based on the row height

    +
    + +
    +
    +
    + + +
    +

    There should be a 100px blue square below:

    +

    Percentages resolve based on the final column width

    +
    + +
    +
    +
    +
    + + + +
    +

    There should be a 100px blue square below:

    +

    Percentages resolve based on the final row height

    +
    + + +
    +
    +
    +
    +
    + + + +
    +

    There should be a blue and cyan rectangles of the same width:

    +

    Unresolvable percentage widths are resolved as auto in first pass (replaced elements)

    +
    + + + + +
    + + + +
    +

    There should be a blue and cyan rectangles below of the same height:

    +

    Unresolvable percentage heights are resolved as auto in first pass (replaced elements)

    +
    + + + + +
    + + + +
    +

    There should be a 100px blue square below:

    +

    Unresolvable percentage widths are resolved as auto in first pass (unscrollable overflow)

    +
    + +
    +
    +
    + + + +
    +

    There should be a 100px blue square below:

    +

    Unresolvable percentage heights are resolved as auto in first pass (unscrollable overflow)

    +
    + + +
    +
    +
    +
    + + + +
    +

    There should be a 100px blue square below:

    +

    Unresolvable percentage widths are resolved as auto in first pass (scrollable overflow)

    +
    + +
    +
    +
    + + + +
    +

    There should be a 100px blue square below:

    +

    Unresolvable percentage heights are resolved as 0px in first pass (scrollable overflow)

    +
    + +
    +
    +
    +
    + + +
    diff --git a/testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-replaced-children-001-ref.html b/testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-replaced-children-001-ref.html new file mode 100644 index 0000000000..a696e56b4c --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-replaced-children-001-ref.html @@ -0,0 +1,38 @@ + + +CSS Reftest Reference: Percentage sizing of table cell children with margin, border, padding and scrollbar + + + + +

    The test passes if you see scrollbars but there's no overflow, so you cannot actually scroll.

    + +
    +
    + +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-replaced-children-001.html b/testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-replaced-children-001.html new file mode 100644 index 0000000000..bd2de2d2dd --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-replaced-children-001.html @@ -0,0 +1,40 @@ + + +CSS Table Test: Percentage sizing of table cell replaced children with margin, border, padding and scrollbar + + + + + + + +

    The test passes if you see scrollbars but there's no overflow, so you cannot actually scroll.

    + +
    +
    + +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/height-distribution/support/scrollbars.css b/testing/web-platform/tests/css/css-tables/height-distribution/support/scrollbars.css new file mode 100644 index 0000000000..7a6944e169 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/height-distribution/support/scrollbars.css @@ -0,0 +1,10 @@ +/* This makes the scrollbars visible on mac, both to humans and screenshots.*/ + +::-webkit-scrollbar { + -webkit-appearance: none; +} + +::-webkit-scrollbar-track { + background-color: #eee; + border-radius: 8px; +} diff --git a/testing/web-platform/tests/css/css-tables/height-distribution/td-different-subpixel-padding-in-same-row-ref.html b/testing/web-platform/tests/css/css-tables/height-distribution/td-different-subpixel-padding-in-same-row-ref.html new file mode 100644 index 0000000000..02f0f54c3f --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/height-distribution/td-different-subpixel-padding-in-same-row-ref.html @@ -0,0 +1,12 @@ + +Passes if there is an unbroken rectangular border. + + + + + + + + + +
    diff --git a/testing/web-platform/tests/css/css-tables/height-distribution/td-different-subpixel-padding-in-same-row-vertical-rl-ref.html b/testing/web-platform/tests/css/css-tables/height-distribution/td-different-subpixel-padding-in-same-row-vertical-rl-ref.html new file mode 100644 index 0000000000..9784962be4 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/height-distribution/td-different-subpixel-padding-in-same-row-vertical-rl-ref.html @@ -0,0 +1,13 @@ + +Passes if there is an unbroken rectangular border. + + + + + + + + + +
    diff --git a/testing/web-platform/tests/css/css-tables/height-distribution/td-different-subpixel-padding-in-same-row-vertical-rl.html b/testing/web-platform/tests/css/css-tables/height-distribution/td-different-subpixel-padding-in-same-row-vertical-rl.html new file mode 100644 index 0000000000..48edbde281 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/height-distribution/td-different-subpixel-padding-in-same-row-vertical-rl.html @@ -0,0 +1,15 @@ + + + +Passes if there is an unbroken rectangular border. + + + + + + + + + +
    diff --git a/testing/web-platform/tests/css/css-tables/height-distribution/td-different-subpixel-padding-in-same-row.html b/testing/web-platform/tests/css/css-tables/height-distribution/td-different-subpixel-padding-in-same-row.html new file mode 100644 index 0000000000..a7fe908e0d --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/height-distribution/td-different-subpixel-padding-in-same-row.html @@ -0,0 +1,14 @@ + + + +Passes if there is an unbroken rectangular border. + + + + + + + + + +
    diff --git a/testing/web-platform/tests/css/css-tables/html-display-table-ref.html b/testing/web-platform/tests/css/css-tables/html-display-table-ref.html new file mode 100644 index 0000000000..7437732cb0 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/html-display-table-ref.html @@ -0,0 +1,14 @@ + + +
    diff --git a/testing/web-platform/tests/css/css-tables/html-display-table.html b/testing/web-platform/tests/css/css-tables/html-display-table.html new file mode 100644 index 0000000000..394b853dff --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/html-display-table.html @@ -0,0 +1,21 @@ + + +<html display:table> + + + + + +
    diff --git a/testing/web-platform/tests/css/css-tables/html-to-css-mapping-1.html b/testing/web-platform/tests/css/css-tables/html-to-css-mapping-1.html new file mode 100644 index 0000000000..c29fd1db9d --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/html-to-css-mapping-1.html @@ -0,0 +1,63 @@ + + + + + + +
    + +

    HTML-2-CSS Mapping

    +

    Checks that browsers implement properly the html2css stylesheet (rules without attributes)

    + +
    +

    You should see a 5 2px blue square here, separated by 2px each:

    +

    Because of the lack of the table element, border-spacing is 0; padding on each td should be 1px on each side. 1px*2*5=10px.

    +
    + +
    +

    You should see a 10px blue square here:

    +

    Because of the lack of the table element, border-spacing is 0; padding on each td should be 1px on each side. 1px*2*5=10px.

    +
    + +
    +

    You should see a 12px blue square here:

    +

    The table has the background; x-td elements have no padding, only the border-spacing remains. 6*2px=12px.

    +
    + +
    +

    You shouldn't see anything here:

    +

    The table has the background but is empty; it does not apply border-spacing in this case.

    +
    + + + + +
    + + diff --git a/testing/web-platform/tests/css/css-tables/html-to-css-mapping-2.html b/testing/web-platform/tests/css/css-tables/html-to-css-mapping-2.html new file mode 100644 index 0000000000..552270b539 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/html-to-css-mapping-2.html @@ -0,0 +1,226 @@ + + + + + +
    + +

    HTML-2-CSS Mapping

    +

    Checks that browsers implement properly the html2css stylesheet (rules about borders, disabling border-collapse for clarity)

    + + +
    +

    1: The border of the table element should be 0px hidden gray:

    +

    + border-width:0px is the initial value;
    + border-style:hidden comes from table:matches(..., [rules=groups], ...);
    + border-color:gray comes from table +

    +
    + +
    +

    2: The border of the table element should be 1px outset black:

    +

    + border-width:1px comes from table[frame=box] (1/2);
    + border-style:outset comes from table[frame=box] (2/2);
    + border-color:black comes from table:matches(..., [rules=groups], ...) +

    +
    + +
    +

    3a: The border of the table element should be 10px outset gray:

    +

    + border-width:10px comes from table[border=$w];
    + border-style:outset comes from table[frame=box] (2/2);
    + border-color:gray comes from table[border=$w] +

    +
    +

    3b: The border-top of the td element should be 1px inset gray:

    +

    + border-width:1px comes from table[border=$w] > ...td;
    + border-style:inset comes from table[border=$w] > ...td;
    + border-color:gray comes from table[border=$w] > ...td +

    +
    +

    3c: The border-left of the td element should be 1px hidden gray:

    +

    + border-width:1px comes from table[border=$w] > ...td;
    + border-style:inset comes from table[border=$w] > ...td;
    + border-color:gray comes from table[border=$w] > ...td +

    +
    + +
    +

    4a: The border of the table element should be 1px outset gray:

    +

    + border-width:10px comes from table[border=$w];
    + border-style:outset comes from table[border=$w];
    + border-color:gray comes from table[border=$w] +

    +
    +

    4b: The top border of the td element should be 1px solid gray:

    +

    + border-width:1px comes from table[rules=all] > ... td;
    + border-style:solid comes from table[rules=all] > ... td;
    + border-color:gray comes from table[rules=all] > ... td +

    +
    + +
    +

    5a: The left border of the table element should be ? hidden ?:

    +

    + border-style:hidden comes from table[frame=hsides];
    +

    +
    +

    5b: The right border of the table element should be 10px solid gray:

    +

    + border-width:10px comes from table[border=$w];
    + border-style:solid comes from [style];
    + border-color:gray comes from table[border=$w] +

    +
    + + + + +
    + +
    + + diff --git a/testing/web-platform/tests/css/css-tables/html5-table-formatting-1.html b/testing/web-platform/tests/css/css-tables/html5-table-formatting-1.html new file mode 100644 index 0000000000..f0c96dd707 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/html5-table-formatting-1.html @@ -0,0 +1,98 @@ + + + + + +
    + +

    HTML5 Table Formatting algorithm (row/column grid computation)

    +

    Verifies how browser define and act on empty tables

    + +
    +

    This should be a 50px by 50px blue square:

    +

    The table grid is 0x0, so the table is empty and follows step 3B of the table layout algorithm

    + + +
    +

    This should be a 50px by 50px blue square:

    +

    The table grid is 2x0, so the table is empty and follows step 3B of the table layout algorithm

    + + + + + +
    +

    This should be a 50px by 50px blue square:

    +

    The table grid is 0x1, so the table is empty and follows step 3B of the table layout algorithm

    + + + + +
    +

    This should be a 200px by 100px blue rectangle:

    +

    The table grid is 2x1, so the table is not empty and follows step 3A of the table layout algorithm (which adds anonymous cell boxes)

    + + + + + + +
    +

    This should be a 200px by 100px half-blue half-orange rectangle:

    +

    The table grid is 2x1, so the table is not empty and follows step 3A of the table layout algorithm (which adds anonymous cell boxes)

    + + + + + + +
    +

    This should be a 200px by 100px orange rectangle:

    +

    The table grid is 2x1, so the table is not empty and follows step 3A of the table layout algorithm (which adds anonymous cell boxes)

    + + + + + + +
    + + diff --git a/testing/web-platform/tests/css/css-tables/html5-table-formatting-2.html b/testing/web-platform/tests/css/css-tables/html5-table-formatting-2.html new file mode 100644 index 0000000000..4292c4c76f --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/html5-table-formatting-2.html @@ -0,0 +1,150 @@ + + + + + + +
    + +

    HTML5 Table Formatting algorithm (row/column grid computation)

    +

    Verifies how browsers deal with explicit tracks from which no cell does originate

    + +
    +

    This should be a 100px by 100px blue square:

    +

    The table grid is 2x2, so the table is not empty and follows step 3A of the table layout algorithm (which adds anonymous cell boxes)

    +

    The consecutive tracks are not merged together because they are all defined explicitely by a table-column or a table-row

    + + + + + + + +
    +

    This should be a 175px by 175px blue square:

    +

    The table grid is 2x2, so the table is not empty and follows step 3A of the table layout algorithm (which adds anonymous cell boxes)

    +

    The consecutive tracks are not merged together because they are all defined explicitely by a table-column or a table-row

    +

    Three 25px border-spacing causes the addition of 75px

    + + + + + + + +
    +

    This should be a 175px by 175px blue square:

    +

    The table grid is 2x2, so the table is not empty and follows step 3A of the table layout algorithm (which adds anonymous cell boxes)

    +

    The consecutive tracks are not merged together because they are all defined explicitely by a table-column or a table-row

    +

    Three 25px border-spacing causes the addition of 75px

    + + + + + + + +
    +

    This should be a 175px by 175px blue square:

    +

    The table grid is 2x2, so the table is not empty and follows step 3A of the table layout algorithm (which adds anonymous cell boxes)

    +

    The consecutive tracks are not merged together because they are all defined explicitely by a table-column or a table-row

    +

    Three 25px border-spacing causes the addition of 75px

    + + + + + + + +
    +

    This should be a 175px by 175px blue square:

    +

    The table grid is 2x2, so the table is not empty and follows step 3A of the table layout algorithm (which adds anonymous cell boxes)

    +

    The consecutive tracks are not merged together because they are all defined explicitely by a table-column or a table-row

    +

    Three 25px border-spacing causes the addition of 75px

    + + + + + + + +
    +

    This should be a 175px by 175px blue square:

    +

    The table grid is 2x2, so the table is not empty and follows step 3A of the table layout algorithm (which adds anonymous cell boxes)

    +

    The consecutive tracks are not merged together because they are all defined explicitely by a table-column or a table-row

    +

    Three 25px border-spacing causes the addition of 75px

    + + + + + + + +
    + + diff --git a/testing/web-platform/tests/css/css-tables/html5-table-formatting-3.html b/testing/web-platform/tests/css/css-tables/html5-table-formatting-3.html new file mode 100644 index 0000000000..f32e2dd39c --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/html5-table-formatting-3.html @@ -0,0 +1,107 @@ + + + + + + +
    + +

    HTML5 Table Formatting algorithm (row/column grid computation)

    +

    Verifies how browsers deal with implicit tracks from which no cell does originate

    + +
    +

    This should be a 100px by 100px blue square:

    +

    The table grid is 1x1, so the table is not empty and follows step 3A of the table layout algorithm (which adds anonymous cell boxes)

    +

    The consecutive tracks were merged together because they are not all defined explicitely by a table-column or a table-row, and share the same set of cells

    +

    Two 25px border-spacing causes the addition of 50px (track is 50x50)

    + + + + +
    +

    This should be a 100px by 100px blue square:

    +

    The table grid is 1x1, so the table is not empty and follows step 3A of the table layout algorithm (which adds anonymous cell boxes)

    +

    The consecutive tracks were merged together because they are not all defined explicitely by a table-column or a table-row, and share the same set of cells

    +

    Two 25px border-spacing causes the addition of 50px (track is 50x50)

    + + + + +
    +

    This should be a 75px by 75px blue square:

    +

    The table grid is 2x2, so the table is not empty and follows step 3A of the table layout algorithm (which adds anonymous cell boxes)

    +

    The consecutive tracks were not merged together because they are all defined explicitely by a table-column or a table-row

    +

    Three 25px border-spacing causes the addition of 75px (tracks are 0x0)

    + + + + + + + +
    +

    This should be a 100px by 100px blue square:

    +

    The table grid is 2x2, so the table is not empty and follows step 3A of the table layout algorithm (which adds anonymous cell boxes)

    +

    The consecutive tracks were not merged together because they are all defined explicitely by a table-column or a table-row

    +

    Three 25px border-spacing causes the addition of 75px (tracks are 12.5x12.5)

    + + + + + + + +
    + + diff --git a/testing/web-platform/tests/css/css-tables/html5-table-formatting-fixed-layout-1.html b/testing/web-platform/tests/css/css-tables/html5-table-formatting-fixed-layout-1.html new file mode 100644 index 0000000000..d4f0986fcd --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/html5-table-formatting-fixed-layout-1.html @@ -0,0 +1,44 @@ + + + + + +
    + +

    HTML5 Table Formatting algorithm and Fixed Layout (row/column grid computation)

    +

    Verifies how browsers deal with implicit tracks from which no cell does originate in fixed mode

    + +
    +

    This should be a 100px by 50px blue rectangle:

    +

    The table grid is 1x3, so the table is not empty and follows step 3A of the table layout algorithm

    +

    The consecutive columns were merged not together because the table-layout is fixed, but consecutive rows were.

    +

    Each track has a 0px breadth; the table width (respect. height) comes from 4x (respect. 2x) 25px-wide border spacings

    + + + + +
    + +
    + + diff --git a/testing/web-platform/tests/css/css-tables/inheritance.html b/testing/web-platform/tests/css/css-tables/inheritance.html new file mode 100644 index 0000000000..2c640db6d9 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/inheritance.html @@ -0,0 +1,25 @@ + + + + +Inheritance of CSS Tables properties + + + + + + + + +
    +
    +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/internal-containing-block-001.html b/testing/web-platform/tests/css/css-tables/internal-containing-block-001.html new file mode 100644 index 0000000000..9e859f0ab0 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/internal-containing-block-001.html @@ -0,0 +1,59 @@ + + + + + + + + + +relpos table-row establishes containing block for abspos + + + + +

    Test passes if there is a filled green square and no red. +

    + + + + + + + + +
    +
    +
    +
    +
    +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/max-height-table-ref.html b/testing/web-platform/tests/css/css-tables/max-height-table-ref.html new file mode 100644 index 0000000000..ab1036ebb8 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/max-height-table-ref.html @@ -0,0 +1,23 @@ + +CSS test reference + + + + + +
    diff --git a/testing/web-platform/tests/css/css-tables/max-height-table.html b/testing/web-platform/tests/css/css-tables/max-height-table.html new file mode 100644 index 0000000000..2408b3142f --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/max-height-table.html @@ -0,0 +1,31 @@ + +max-height cannot shrink a table under its intrinsic size + + + + + + + + + + + +
    diff --git a/testing/web-platform/tests/css/css-tables/min-height-table-2.html b/testing/web-platform/tests/css/css-tables/min-height-table-2.html new file mode 100644 index 0000000000..de494e398d --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/min-height-table-2.html @@ -0,0 +1,41 @@ + +min-height can grow a table over its intrinsic size + + + + + + + +
    + + + + +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/min-height-table-ref.html b/testing/web-platform/tests/css/css-tables/min-height-table-ref.html new file mode 100644 index 0000000000..05533216d2 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/min-height-table-ref.html @@ -0,0 +1,23 @@ + +CSS test reference + + + + + +
    diff --git a/testing/web-platform/tests/css/css-tables/min-height-table.html b/testing/web-platform/tests/css/css-tables/min-height-table.html new file mode 100644 index 0000000000..57a0ff9448 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/min-height-table.html @@ -0,0 +1,30 @@ + +min-height can grow a table over its intrinsic size + + + + + + + + + + + +
    diff --git a/testing/web-platform/tests/css/css-tables/min-max-size-table-content-box-ref.html b/testing/web-platform/tests/css/css-tables/min-max-size-table-content-box-ref.html new file mode 100644 index 0000000000..53f89af133 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/min-max-size-table-content-box-ref.html @@ -0,0 +1,43 @@ + +CSS Test Reference + + +

    +

    +

    +

    +

    +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/min-max-size-table-content-box.html b/testing/web-platform/tests/css/css-tables/min-max-size-table-content-box.html new file mode 100644 index 0000000000..14016d1318 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/min-max-size-table-content-box.html @@ -0,0 +1,47 @@ + +min/max-{width,height} on tables with box-sizing: content-box + + + + + + + + +
    +
    +
    +
    +
    +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/multicol-table-collapsed-border-crash.html b/testing/web-platform/tests/css/css-tables/multicol-table-collapsed-border-crash.html new file mode 100644 index 0000000000..499a121077 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/multicol-table-collapsed-border-crash.html @@ -0,0 +1,18 @@ + + + + + foo + diff --git a/testing/web-platform/tests/css/css-tables/multicol-table-crash.html b/testing/web-platform/tests/css/css-tables/multicol-table-crash.html new file mode 100644 index 0000000000..a67167c161 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/multicol-table-crash.html @@ -0,0 +1,16 @@ + + + + + foo + diff --git a/testing/web-platform/tests/css/css-tables/no-overflow-with-table-cell-margins.html b/testing/web-platform/tests/css/css-tables/no-overflow-with-table-cell-margins.html new file mode 100644 index 0000000000..9657da9c26 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/no-overflow-with-table-cell-margins.html @@ -0,0 +1,26 @@ + + + + + + + + + diff --git a/testing/web-platform/tests/css/css-tables/paint/col-paint-htb-rtl-ref.html b/testing/web-platform/tests/css/css-tables/paint/col-paint-htb-rtl-ref.html new file mode 100644 index 0000000000..107a960958 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/paint/col-paint-htb-rtl-ref.html @@ -0,0 +1,17 @@ + + + + + + + + + + + + + +
    diff --git a/testing/web-platform/tests/css/css-tables/paint/col-paint-htb-rtl.html b/testing/web-platform/tests/css/css-tables/paint/col-paint-htb-rtl.html new file mode 100644 index 0000000000..1508421818 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/paint/col-paint-htb-rtl.html @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + +
    diff --git a/testing/web-platform/tests/css/css-tables/paint/col-paint-vrl-rtl-ref.html b/testing/web-platform/tests/css/css-tables/paint/col-paint-vrl-rtl-ref.html new file mode 100644 index 0000000000..a651e03b1c --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/paint/col-paint-vrl-rtl-ref.html @@ -0,0 +1,17 @@ + + + + + + + + + + + + + +
    diff --git a/testing/web-platform/tests/css/css-tables/paint/col-paint-vrl-rtl.html b/testing/web-platform/tests/css/css-tables/paint/col-paint-vrl-rtl.html new file mode 100644 index 0000000000..d76ea59dac --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/paint/col-paint-vrl-rtl.html @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + +
    diff --git a/testing/web-platform/tests/css/css-tables/parsing/border-collapse-computed.html b/testing/web-platform/tests/css/css-tables/parsing/border-collapse-computed.html new file mode 100644 index 0000000000..d72cbc6d02 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/parsing/border-collapse-computed.html @@ -0,0 +1,19 @@ + + + + +CSS Table Module: getComputedStyle().borderCollapse + + + + + + + +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/parsing/border-collapse-invalid.html b/testing/web-platform/tests/css/css-tables/parsing/border-collapse-invalid.html new file mode 100644 index 0000000000..9b10062f0f --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/parsing/border-collapse-invalid.html @@ -0,0 +1,18 @@ + + + + +CSS Table Module Test: parsing border-collapse with invalid values + + + + + + + + + + diff --git a/testing/web-platform/tests/css/css-tables/parsing/border-collapse-valid.html b/testing/web-platform/tests/css/css-tables/parsing/border-collapse-valid.html new file mode 100644 index 0000000000..2dc8ae45a3 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/parsing/border-collapse-valid.html @@ -0,0 +1,18 @@ + + + + +CSS Table Module Test: parsing border-collapse with valid values + + + + + + + + + + diff --git a/testing/web-platform/tests/css/css-tables/parsing/border-spacing-computed.html b/testing/web-platform/tests/css/css-tables/parsing/border-spacing-computed.html new file mode 100644 index 0000000000..d88acb3bb0 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/parsing/border-spacing-computed.html @@ -0,0 +1,26 @@ + + + + +CSS Table Module: getComputedStyle().borderSpacing + + + + + + + +
    + + + + diff --git a/testing/web-platform/tests/css/css-tables/parsing/border-spacing-invalid.html b/testing/web-platform/tests/css/css-tables/parsing/border-spacing-invalid.html new file mode 100644 index 0000000000..47fd283ccf --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/parsing/border-spacing-invalid.html @@ -0,0 +1,20 @@ + + + + +CSS Table Module Test: parsing border-spacing with invalid values + + + + + + + + + + diff --git a/testing/web-platform/tests/css/css-tables/parsing/border-spacing-valid.html b/testing/web-platform/tests/css/css-tables/parsing/border-spacing-valid.html new file mode 100644 index 0000000000..cf594ee6b8 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/parsing/border-spacing-valid.html @@ -0,0 +1,19 @@ + + + + +CSS Table Module Test: parsing border-spacing with valid values + + + + + + + + + + diff --git a/testing/web-platform/tests/css/css-tables/parsing/caption-side-computed.html b/testing/web-platform/tests/css/css-tables/parsing/caption-side-computed.html new file mode 100644 index 0000000000..dc573546af --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/parsing/caption-side-computed.html @@ -0,0 +1,19 @@ + + + + +CSS Table Module: getComputedStyle().captionSide + + + + + + + +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/parsing/caption-side-invalid.html b/testing/web-platform/tests/css/css-tables/parsing/caption-side-invalid.html new file mode 100644 index 0000000000..1552e4d241 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/parsing/caption-side-invalid.html @@ -0,0 +1,20 @@ + + + + +CSS Table Module Test: parsing caption-side with invalid values + + + + + + + + + + diff --git a/testing/web-platform/tests/css/css-tables/parsing/caption-side-valid.html b/testing/web-platform/tests/css/css-tables/parsing/caption-side-valid.html new file mode 100644 index 0000000000..a97683a6f4 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/parsing/caption-side-valid.html @@ -0,0 +1,18 @@ + + + + +CSS Table Module Test: parsing caption-side with valid values + + + + + + + + + + diff --git a/testing/web-platform/tests/css/css-tables/parsing/empty-cells-computed.html b/testing/web-platform/tests/css/css-tables/parsing/empty-cells-computed.html new file mode 100644 index 0000000000..1a04c0c9f3 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/parsing/empty-cells-computed.html @@ -0,0 +1,19 @@ + + + + +CSS Table Module: getComputedStyle().emptyCells + + + + + + + +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/parsing/empty-cells-invalid.html b/testing/web-platform/tests/css/css-tables/parsing/empty-cells-invalid.html new file mode 100644 index 0000000000..4b5bf95dcd --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/parsing/empty-cells-invalid.html @@ -0,0 +1,18 @@ + + + + +CSS Table Module Test: parsing empty-cells with invalid values + + + + + + + + + + diff --git a/testing/web-platform/tests/css/css-tables/parsing/empty-cells-valid.html b/testing/web-platform/tests/css/css-tables/parsing/empty-cells-valid.html new file mode 100644 index 0000000000..c3483aafe0 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/parsing/empty-cells-valid.html @@ -0,0 +1,18 @@ + + + + +CSS Table Module Test: parsing empty-cells with valid values + + + + + + + + + + diff --git a/testing/web-platform/tests/css/css-tables/parsing/table-layout-computed.html b/testing/web-platform/tests/css/css-tables/parsing/table-layout-computed.html new file mode 100644 index 0000000000..3453508541 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/parsing/table-layout-computed.html @@ -0,0 +1,19 @@ + + + + +CSS Table Module: getComputedStyle().tableLayout + + + + + + + +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/parsing/table-layout-invalid.html b/testing/web-platform/tests/css/css-tables/parsing/table-layout-invalid.html new file mode 100644 index 0000000000..23a60ca56e --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/parsing/table-layout-invalid.html @@ -0,0 +1,18 @@ + + + + +CSS Table Module Test: parsing table-layout with invalid values + + + + + + + + + + diff --git a/testing/web-platform/tests/css/css-tables/parsing/table-layout-valid.html b/testing/web-platform/tests/css/css-tables/parsing/table-layout-valid.html new file mode 100644 index 0000000000..bf94ed8369 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/parsing/table-layout-valid.html @@ -0,0 +1,18 @@ + + + + +CSS Table Module Test: parsing table-layout with valid values + + + + + + + + + + diff --git a/testing/web-platform/tests/css/css-tables/percent-height-overflow-auto-in-restricted-block-size-cell.html b/testing/web-platform/tests/css/css-tables/percent-height-overflow-auto-in-restricted-block-size-cell.html new file mode 100644 index 0000000000..f532308484 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/percent-height-overflow-auto-in-restricted-block-size-cell.html @@ -0,0 +1,20 @@ + + + + + +

    There should be a 100px tall pink block below, with a scrollable box inside.

    +
    +
    +
    +
    +
    + + + + diff --git a/testing/web-platform/tests/css/css-tables/percent-height-overflow-auto-in-unrestricted-block-size-cell.tentative.html b/testing/web-platform/tests/css/css-tables/percent-height-overflow-auto-in-unrestricted-block-size-cell.tentative.html new file mode 100644 index 0000000000..ffbb796b6a --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/percent-height-overflow-auto-in-unrestricted-block-size-cell.tentative.html @@ -0,0 +1,11 @@ + + + + + +

    Test passes if there is a filled green square.

    +
    +
    +
    +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/percent-height-replaced-in-percent-cell-002.html b/testing/web-platform/tests/css/css-tables/percent-height-replaced-in-percent-cell-002.html new file mode 100644 index 0000000000..78d4b0be1d --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/percent-height-replaced-in-percent-cell-002.html @@ -0,0 +1,7 @@ + + + +

    Test passes if there is a filled green square.

    +
    + +
    diff --git a/testing/web-platform/tests/css/css-tables/percent-height-replaced-in-percent-cell.tentative.html b/testing/web-platform/tests/css/css-tables/percent-height-replaced-in-percent-cell.tentative.html new file mode 100644 index 0000000000..ed5effa8a7 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/percent-height-replaced-in-percent-cell.tentative.html @@ -0,0 +1,14 @@ + + + +

    Test passes if there is a filled green square.

    + + + + + + + +
    + +
    diff --git a/testing/web-platform/tests/css/css-tables/percent-height-table-cell-child.html b/testing/web-platform/tests/css/css-tables/percent-height-table-cell-child.html new file mode 100644 index 0000000000..acf9205259 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/percent-height-table-cell-child.html @@ -0,0 +1,9 @@ + + + +

    Test passes if there is a filled green square and no red.

    +
    +
    +
    +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/percent-width-cell-dynamic.html b/testing/web-platform/tests/css/css-tables/percent-width-cell-dynamic.html new file mode 100644 index 0000000000..5c7ef3bf8a --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/percent-width-cell-dynamic.html @@ -0,0 +1,23 @@ + + + + +

    Test passes if there is a filled green square.

    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + diff --git a/testing/web-platform/tests/css/css-tables/percent-width-ignored-001.tentative.html b/testing/web-platform/tests/css/css-tables/percent-width-ignored-001.tentative.html new file mode 100644 index 0000000000..5cdb0ead0a --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/percent-width-ignored-001.tentative.html @@ -0,0 +1,25 @@ + + + + + + + +No red should show. Yellow and blue rectangles are in proportion to their +contents' intrinsic widths, not affected by yellow's percent-width bloating the +inner table. + + + +
    + + +
    +
    +
    +
    +
    +
    + diff --git a/testing/web-platform/tests/css/css-tables/percent-width-ignored-002.tentative.html b/testing/web-platform/tests/css/css-tables/percent-width-ignored-002.tentative.html new file mode 100644 index 0000000000..e18913f0b8 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/percent-width-ignored-002.tentative.html @@ -0,0 +1,18 @@ + + + + + + + +

    Edge 44.17763 and Chrome 70 make this 300px wide. FF makes it 150px wide.

    +
    + + +
    +
    +
    +
    + diff --git a/testing/web-platform/tests/css/css-tables/percent-width-ignored-003.tentative.html b/testing/web-platform/tests/css/css-tables/percent-width-ignored-003.tentative.html new file mode 100644 index 0000000000..c2282f3c57 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/percent-width-ignored-003.tentative.html @@ -0,0 +1,25 @@ + + + + + + + +Engines render this same as without the intermediate background:blue block -- yellow 1% width is ignored. + + + +
    +
    + + +
    +
    +
    +
    +
    +
    +
    + diff --git a/testing/web-platform/tests/css/css-tables/percentages-grandchildren-quirks-mode-001.html b/testing/web-platform/tests/css/css-tables/percentages-grandchildren-quirks-mode-001.html new file mode 100644 index 0000000000..b6b6d245ab --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/percentages-grandchildren-quirks-mode-001.html @@ -0,0 +1,9 @@ + + + +

    Test passes if there is a filled green square.

    +
    +
    +
    +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/percentages-grandchildren-quirks-mode-002.html b/testing/web-platform/tests/css/css-tables/percentages-grandchildren-quirks-mode-002.html new file mode 100644 index 0000000000..a24556aa0d --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/percentages-grandchildren-quirks-mode-002.html @@ -0,0 +1,9 @@ + + + +

    Test passes if there is a filled green square.

    +
    +
    +
    +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/reference/subpixel-collapsed-borders-003-ref.html b/testing/web-platform/tests/css/css-tables/reference/subpixel-collapsed-borders-003-ref.html new file mode 100644 index 0000000000..46049a0f1b --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/reference/subpixel-collapsed-borders-003-ref.html @@ -0,0 +1,23 @@ + + + +

    + There should be a square with a green border, not a red border. +

    + + + + + +
    diff --git a/testing/web-platform/tests/css/css-tables/row-group-margin-border-padding-ref.html b/testing/web-platform/tests/css/css-tables/row-group-margin-border-padding-ref.html new file mode 100644 index 0000000000..aa3e68e6ab --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/row-group-margin-border-padding-ref.html @@ -0,0 +1,50 @@ + + + + Reference: table-row-group border/padding/margin has no effect in border-collapse:separate tables + + + + + +
    +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/row-group-margin-border-padding.html b/testing/web-platform/tests/css/css-tables/row-group-margin-border-padding.html new file mode 100644 index 0000000000..97c7a6e5b9 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/row-group-margin-border-padding.html @@ -0,0 +1,58 @@ + + + + CSS Table test: table-row-group border/padding/margin has no effect in border-collapse:separate tables + + + + + + + +
    +
    +
    + +
    +
    +
    + +
    +
    + + +
    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/row-group-order-ref.html b/testing/web-platform/tests/css/css-tables/row-group-order-ref.html new file mode 100644 index 0000000000..63087671c5 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/row-group-order-ref.html @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    head 1
    body 1
    head 2
    body 2
    head 3
    body 3
    foot 2
    body 4
    foot 3
    foot 1
    diff --git a/testing/web-platform/tests/css/css-tables/row-group-order.html b/testing/web-platform/tests/css/css-tables/row-group-order.html new file mode 100644 index 0000000000..06c0f3bd96 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/row-group-order.html @@ -0,0 +1,64 @@ + +CSS Test: Table section ordering + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    body 1
    head 1
    head 2
    body 2
    head 3
    foot 1
    body 3
    foot 2
    body 4
    foot 3
    diff --git a/testing/web-platform/tests/css/css-tables/row-margin-border-padding-ref.html b/testing/web-platform/tests/css/css-tables/row-margin-border-padding-ref.html new file mode 100644 index 0000000000..68cbcfc9c1 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/row-margin-border-padding-ref.html @@ -0,0 +1,50 @@ + + + + Reference: table-row border/padding/margin has no effect in border-collapse:separate tables + + + + + +
    +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/row-margin-border-padding.html b/testing/web-platform/tests/css/css-tables/row-margin-border-padding.html new file mode 100644 index 0000000000..c6606d941e --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/row-margin-border-padding.html @@ -0,0 +1,58 @@ + + + + CSS Table test: table-row border/padding/margin has no effect in border-collapse:separate tables + + + + + + + +
    +
    +
    + +
    +
    +
    + +
    +
    + + +
    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/rules-groups-ref.html b/testing/web-platform/tests/css/css-tables/rules-groups-ref.html new file mode 100644 index 0000000000..8da4884f80 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/rules-groups-ref.html @@ -0,0 +1,41 @@ + + +CSS reference: legacy table rules attribute + + + +

    Borders between groups should be present:

    + + + + + + + +
    head
    bodyone
    bodytwo
    foot
    + +

    Borders between groups should be blue:

    + + + + + + + +
    head
    bodyone
    bodytwo
    foot
    + +

    Borders between groups should be 5px thick:

    + + + + + + + +
    head
    bodyone
    bodytwo
    foot
    diff --git a/testing/web-platform/tests/css/css-tables/rules-groups.html b/testing/web-platform/tests/css/css-tables/rules-groups.html new file mode 100644 index 0000000000..d07aa0b765 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/rules-groups.html @@ -0,0 +1,52 @@ + + +CSS Test: legacy table rules attribute + + + + + + + +

    Borders between groups should be present:

    + + + + + + + +
    head
    bodyone
    bodytwo
    foot
    + +

    Borders between groups should be blue:

    + + + + + + + +
    head
    bodyone
    bodytwo
    foot
    + +

    Borders between groups should be 5px thick:

    + + + + + + + +
    head
    bodyone
    bodytwo
    foot
    diff --git a/testing/web-platform/tests/css/css-tables/subpixel-collapsed-borders-001.html b/testing/web-platform/tests/css/css-tables/subpixel-collapsed-borders-001.html new file mode 100644 index 0000000000..a74e7a104c --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/subpixel-collapsed-borders-001.html @@ -0,0 +1,29 @@ + + + + + + + + + + +

    There should be a square with a green border, not a red border. +

    + + + + + +
    diff --git a/testing/web-platform/tests/css/css-tables/subpixel-collapsed-borders-002.html b/testing/web-platform/tests/css/css-tables/subpixel-collapsed-borders-002.html new file mode 100644 index 0000000000..e074e21f43 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/subpixel-collapsed-borders-002.html @@ -0,0 +1,29 @@ + + + + + + + + + + +

    There should be a square with a green border, not a red border. +

    + + + + + +
    diff --git a/testing/web-platform/tests/css/css-tables/subpixel-collapsed-borders-003.html b/testing/web-platform/tests/css/css-tables/subpixel-collapsed-borders-003.html new file mode 100644 index 0000000000..601e1006c1 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/subpixel-collapsed-borders-003.html @@ -0,0 +1,30 @@ + + + + + + + + + + +

    + There should be a square with a green border, not a red border. +

    + + + + + +
    diff --git a/testing/web-platform/tests/css/css-tables/subpixel-collapsed-borders-ref.html b/testing/web-platform/tests/css/css-tables/subpixel-collapsed-borders-ref.html new file mode 100644 index 0000000000..0a2e7a8d95 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/subpixel-collapsed-borders-ref.html @@ -0,0 +1,22 @@ + + + +

    There should be a square with a green border, not a red border. +

    + + + + + +
    diff --git a/testing/web-platform/tests/css/css-tables/subpixel-table-cell-height-001-ref.html b/testing/web-platform/tests/css/css-tables/subpixel-table-cell-height-001-ref.html new file mode 100644 index 0000000000..3b6297fc4a --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/subpixel-table-cell-height-001-ref.html @@ -0,0 +1,18 @@ + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/subpixel-table-cell-height-001.html b/testing/web-platform/tests/css/css-tables/subpixel-table-cell-height-001.html new file mode 100644 index 0000000000..58f837789a --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/subpixel-table-cell-height-001.html @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    diff --git a/testing/web-platform/tests/css/css-tables/subpixel-table-cell-width-001-ref.html b/testing/web-platform/tests/css/css-tables/subpixel-table-cell-width-001-ref.html new file mode 100644 index 0000000000..ea2f38b6bb --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/subpixel-table-cell-width-001-ref.html @@ -0,0 +1,28 @@ + + + +
    +
    +
    +
    + +

    + +
    +
    +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/subpixel-table-cell-width-001.html b/testing/web-platform/tests/css/css-tables/subpixel-table-cell-width-001.html new file mode 100644 index 0000000000..22bb1f08c4 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/subpixel-table-cell-width-001.html @@ -0,0 +1,34 @@ + + + + + + + + +
    +
    +
    +
    + +

    + +
    +
    +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/subpixel-table-cell-width-002.html b/testing/web-platform/tests/css/css-tables/subpixel-table-cell-width-002.html new file mode 100644 index 0000000000..5ddc9f67e4 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/subpixel-table-cell-width-002.html @@ -0,0 +1,35 @@ + + + + + + + + + +
    +
    +
    +
    + +

    + +
    +
    +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/subpixel-table-width-001-ref.html b/testing/web-platform/tests/css/css-tables/subpixel-table-width-001-ref.html new file mode 100644 index 0000000000..277a3274a9 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/subpixel-table-width-001-ref.html @@ -0,0 +1,18 @@ + + + +There should be two grey ~squares with no red showing. + +
    +
    +
    + +
    +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/subpixel-table-width-001.html b/testing/web-platform/tests/css/css-tables/subpixel-table-width-001.html new file mode 100644 index 0000000000..67b1b7d078 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/subpixel-table-width-001.html @@ -0,0 +1,27 @@ + + + + + + + + +There should be two grey ~squares with no red showing. + +
    +
    +
    + +
    +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/support/base.css b/testing/web-platform/tests/css/css-tables/support/base.css new file mode 100644 index 0000000000..52be1bb4e5 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/support/base.css @@ -0,0 +1,21 @@ +/* custom table tags */ + + x-table { display: table; } + x-colgroup { display: table-column-group; } + x-col { display: table-column; } + x-tbody { display: table-row-group; } + x-thead { display: table-header-group; } + x-tfoot { display: table-footer-group; } + x-tr { display: table-row; } + x-td { display: table-cell; } + x-caption { display: table-caption; } + +/* layout of the page */ + + hr + p { font-weight: bold; margin-bottom: 0; } + p + p { margin-top: 0; } + + html, body { padding: 0; margin: 0; } + main, #log { padding: 10px; width: 50%; box-sizing: border-box; } + main { float: left; } + #log { float: right; background: #eee; } \ No newline at end of file diff --git a/testing/web-platform/tests/css/css-tables/table-cell-baseline-static-position.html b/testing/web-platform/tests/css/css-tables/table-cell-baseline-static-position.html new file mode 100644 index 0000000000..e3f5236645 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/table-cell-baseline-static-position.html @@ -0,0 +1,31 @@ + + + + +

    Test passes if there is a filled green square.

    + + + +
    +
    +
    +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/table-cell-child-overflow-measure-ref.html b/testing/web-platform/tests/css/css-tables/table-cell-child-overflow-measure-ref.html new file mode 100644 index 0000000000..d4e3ec6a91 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/table-cell-child-overflow-measure-ref.html @@ -0,0 +1,6 @@ + +
    +
    +
    +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/table-cell-child-overflow-measure.html b/testing/web-platform/tests/css/css-tables/table-cell-child-overflow-measure.html new file mode 100644 index 0000000000..c092d0c1bc --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/table-cell-child-overflow-measure.html @@ -0,0 +1,8 @@ + + + +
    +
    +
    +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/table-cell-overflow-auto-ref.html b/testing/web-platform/tests/css/css-tables/table-cell-overflow-auto-ref.html new file mode 100644 index 0000000000..695ba5341e --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/table-cell-overflow-auto-ref.html @@ -0,0 +1,12 @@ + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/table-cell-overflow-auto-scrolled-ref.html b/testing/web-platform/tests/css/css-tables/table-cell-overflow-auto-scrolled-ref.html new file mode 100644 index 0000000000..7429cadf7d --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/table-cell-overflow-auto-scrolled-ref.html @@ -0,0 +1,11 @@ + +
    +
    +
    +
    +
    + diff --git a/testing/web-platform/tests/css/css-tables/table-cell-overflow-auto-scrolled.html b/testing/web-platform/tests/css/css-tables/table-cell-overflow-auto-scrolled.html new file mode 100644 index 0000000000..e31a7805c7 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/table-cell-overflow-auto-scrolled.html @@ -0,0 +1,16 @@ + + + + + + + + +
    +
    +
    + diff --git a/testing/web-platform/tests/css/css-tables/table-cell-overflow-auto.html b/testing/web-platform/tests/css/css-tables/table-cell-overflow-auto.html new file mode 100644 index 0000000000..6b688561b9 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/table-cell-overflow-auto.html @@ -0,0 +1,15 @@ + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/table-cell-writing-mode-computed.html b/testing/web-platform/tests/css/css-tables/table-cell-writing-mode-computed.html new file mode 100644 index 0000000000..28e9db2d76 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/table-cell-writing-mode-computed.html @@ -0,0 +1,24 @@ + +Computed value of orthogonal writing-mode on table cell + + + + + + + + + + +
    Test
    + + diff --git a/testing/web-platform/tests/css/css-tables/table-has-box-sizing-border-box-001.html b/testing/web-platform/tests/css/css-tables/table-has-box-sizing-border-box-001.html new file mode 100644 index 0000000000..570065c697 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/table-has-box-sizing-border-box-001.html @@ -0,0 +1,25 @@ + + + + + + + + +UA stylesheet, <table>, box-sizing + + + + +

    Test passes if there is a filled green square. +

    +
    +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/table-has-box-sizing-border-box-002.html b/testing/web-platform/tests/css/css-tables/table-has-box-sizing-border-box-002.html new file mode 100644 index 0000000000..bd78f304db --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/table-has-box-sizing-border-box-002.html @@ -0,0 +1,35 @@ + + + + + + + + +UA stylesheet, <table>, box-sizing + + + + +

    Test passes if there is a filled green square and no red. +

    +
    +
    +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/table-model-fixup-2.html b/testing/web-platform/tests/css/css-tables/table-model-fixup-2.html new file mode 100644 index 0000000000..9f14e7ecc3 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/table-model-fixup-2.html @@ -0,0 +1,398 @@ + + + + + + + + + +
    + +

    Table fixup

    +

    Check that replaced elements display types are handled properly in fixup

    + +
    +

    Both input fields should look identical, on their own line:

    +

    Replaced elements inside a table cannot be table-row and are considered inline -- input elements (width)

    +
    + + + + +
    +
    +

    Both input fields should look identical and be on the same line:

    +

    Replaced elements inside a table cannot be table-row and are considered inline -- input elements (top)

    +
    + + + + +
    + +
    +

    Both images should look identical, on their own line:

    +

    Replaced elements inside a table cannot be table-row and are considered inline -- img elements (width)

    +
    + + + + +
    +
    +

    Both images should look identical and be on the same line:

    +

    Replaced elements inside a table cannot be table-row and are considered inline -- img elements (top)

    +
    + + + + +
    + +
    +

    Both input fields should look identical, on their own line:

    +

    Replaced elements inside a table cannot be table-column and are considered inline -- input elements (width)

    +
    + + + + +
    +
    +

    Both input fields should look identical and be on the same line:

    +

    Replaced elements inside a table cannot be table-column and are considered inline -- input elements (top)

    +
    + + + + +
    + +
    +

    Both images should look identical, on their own line:

    +

    Replaced elements inside a table cannot be table-column and are considered inline -- img elements (width)

    +
    + + + + +
    +
    +

    Both images should look identical and be on the same line:

    +

    Replaced elements inside a table cannot be table-column and are considered inline -- img elements (top)

    +
    + + + + +
    + +
    +

    Both input fields should look identical, on their own line:

    +

    Replaced elements inside a table cannot be table-cell and are considered inline -- input elements (width)

    +
    + + + + +
    +
    +

    Both input fields should look identical and be on the same line:

    +

    Replaced elements inside a table cannot be table-cell and are considered inline -- input elements (top)

    +
    + + + +
    + +
    +

    Both images should look identical, on their own line:

    +

    Replaced elements inside a table cannot be table-cell and are considered inline -- img elements (width)

    +
    + + + + +
    +
    +

    Both images should look identical and be on the same line:

    +

    Replaced elements inside a table cannot be table-cell and are considered inline -- img elements (top)

    +
    + + + + +
    + +
    +

    Both text inputs should share the same line:

    +

    Replaced elements outside a table cannot be inline-table and are considered inline -- input=text elements

    +
    + + +
    + +
    +

    Both button inputs should share the same line:

    +

    Replaced elements outside a table cannot be inline-table and are considered inline -- input=button elements

    +
    + + +
    + +
    +

    Both file inputs should share the same line:

    +

    Replaced elements outside a table cannot be inline-table and are considered inline -- input=file elements

    +
    + + +
    + +
    +

    Both images should share the same line:

    +

    Replaced elements outside a table cannot be inline-table and are considered inline -- img elements

    +
    + + +
    + +
    +

    Both text inputs should stand on their own line:

    +

    Replaced elements outside a table cannot be table and are considered block -- input=text elements

    +
    + + +
    + +
    +

    Both button inputs should stand on their own line:

    +

    Replaced elements outside a table cannot be table and are considered block -- input=button elements

    +
    + + +
    + +
    +

    Both file inputs should stand on their own line:

    +

    Replaced elements outside a table cannot be table and are considered block -- input=file elements

    +
    + + +
    + +
    +

    Both images should stand on their own line:

    +

    Replaced elements outside a table cannot be table and are considered block -- img elements

    +
    + + +
    + +
    +

    Both text inputs should share the same line:

    +

    Replaced elements outside a table cannot be table-row and are considered inline -- input=text elements

    +
    + + +
    + +
    +

    Both button inputs should share the same line:

    +

    Replaced elements outside a table cannot be table-row and are considered inline -- input=button elements

    +
    + + +
    + +
    +

    Both file inputs should share the same line:

    +

    Replaced elements outside a table cannot be table-row and are considered inline -- input=file elements

    +
    + + +
    + +
    +

    Both images should share the same line:

    +

    Replaced elements outside a table cannot be table-row and are considered inline -- img elements

    +
    + + +
    + +
    +

    Both text inputs should share the same line:

    +

    Replaced elements outside a table cannot be table-row-group and are considered inline -- input=text elements

    +
    + + +
    + +
    +

    Both button inputs should share the same line:

    +

    Replaced elements outside a table cannot be table-row-group and are considered inline -- input=button elements

    +
    + + +
    + +
    +

    Both file inputs should share the same line:

    +

    Replaced elements outside a table cannot be table-row-group and are considered inline -- input=file elements

    +
    + + +
    + +
    +

    Both images should share the same line:

    +

    Replaced elements outside a table cannot be table-row-group and are considered inline -- img elements

    +
    + + +
    + +
    +

    Both text inputs should share the same line:

    +

    Replaced elements outside a table cannot be table-column and are considered inline inline -- input=text elements

    +
    + + +
    + +
    +

    Both button inputs should share the same line:

    +

    Replaced elements outside a table cannot be table-column and are considered inline -- input=button elements

    +
    + + +
    + +
    +

    Both file inputs should share the same line:

    +

    Replaced elements outside a table cannot be table-column and are considered inline -- input=file elements

    +
    + + +
    + +
    +

    Both images should share the same line:

    +

    Replaced elements outside a table cannot be table-column and are considered inline -- img elements

    +
    + + +
    + +
    +

    Both text inputs should share the same line:

    +

    Replaced elements outside a table cannot be table-cell and are considered inline -- input=text elements

    +
    + + +
    + +
    +

    Both button inputs should share the same line:

    +

    Replaced elements outside a table cannot be table-cell and are considered inline -- input=button elements

    +
    + + +
    + +
    +

    Both file inputs should share the same line:

    +

    Replaced elements outside a table cannot be table-cell and are considered inline -- input=file elements

    +
    + + +
    + +
    +

    Both images should share the same line:

    +

    Replaced elements outside a table cannot be table-cell and are considered inline -- img elements

    +
    + + +
    + +
    +

    Both text inputs should share the same line:

    +

    Replaced elements outside a table cannot be table-caption and are considered inline -- input=text elements

    +
    + + +
    + +
    +

    Both button inputs should share the same line:

    +

    Replaced elements outside a table cannot be table-caption and are considered inline -- input=button elements

    +
    + + +
    + +
    +

    Both file inputs should share the same line:

    +

    Replaced elements outside a table cannot be table-caption and are considered inline -- input=file elements

    +
    + + +
    + +
    +

    Both images should share the same line:

    +

    Replaced elements outside a table cannot be table-caption and are considered inline -- img elements

    +
    + + +
    + +
    diff --git a/testing/web-platform/tests/css/css-tables/table-model-fixup.html b/testing/web-platform/tests/css/css-tables/table-model-fixup.html new file mode 100644 index 0000000000..13af8b9db4 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/table-model-fixup.html @@ -0,0 +1,125 @@ + + + + + +
    + +

    Table fixup

    +

    Check that missing elements are being created properly

    + +
    +

    This should be a 100px by 100px blue square:

    +

    1.1. Children of a table-column are treated as if they had display: none.

    +
    + +
    +

    This should be a 100px by 100px blue square:

    +

    1.2. Children of a table-column-group which are not a table-column are treated as if they had display: none.

    +
    + +
    +

    This should be a 100px by 100px blue square:

    +

    2.1. An anonymous table-row box must be generated around each sequence of consecutive children of a table-root box which are not proper table child boxes.

    + + +
    +

    This should read as "1\t2\t3\n   x":

    +

    2.2. An anonymous table-row box must be generated around each sequence of consecutive children of a table-row-grouping box which are not table-row boxes.

    + + 1 + + 2 + 3 + x + + +
    +

    This should read as "1\n1\t2":

    +

    2.1. and 2.2. happens before 2.3.

    + + 1 + + 1 + 2 + + +
    +

    This should read as "1\t2":

    +

    3.2. An anonymous table or inline-table box must be generated around each sequence of consecutive proper table child box which are misparented

    +
    12
    + +
    +

    This should read as "A B":

    +

    1.4. Anonymous inline boxes which contains only white space and are between two immediate siblings *each* of which is a table-non-root element, are treated as if they had display: none.

    + A B + +
    + + diff --git a/testing/web-platform/tests/css/css-tables/table-position-sticky-computed.html b/testing/web-platform/tests/css/css-tables/table-position-sticky-computed.html new file mode 100644 index 0000000000..b0116aefb0 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/table-position-sticky-computed.html @@ -0,0 +1,31 @@ + +Computed value of position:sticky for table elements + + + + + + + + + + + + + + + + +
    Test
    + + diff --git a/testing/web-platform/tests/css/css-tables/table_grid_size_col_colspan-ref.html b/testing/web-platform/tests/css/css-tables/table_grid_size_col_colspan-ref.html new file mode 100644 index 0000000000..160b9975ef --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/table_grid_size_col_colspan-ref.html @@ -0,0 +1,29 @@ + + + + +
    + + +
    + + +
    + + +
    + + +
    + diff --git a/testing/web-platform/tests/css/css-tables/table_grid_size_col_colspan.html b/testing/web-platform/tests/css/css-tables/table_grid_size_col_colspan.html new file mode 100644 index 0000000000..2ac3e1032f --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/table_grid_size_col_colspan.html @@ -0,0 +1,50 @@ + + + + + + + + + + + +
    + + + + + +
    + + + + + +
    + + + +
    + + + +
    + diff --git a/testing/web-platform/tests/css/css-tables/tentative/baseline-table.html b/testing/web-platform/tests/css/css-tables/tentative/baseline-table.html new file mode 100644 index 0000000000..1507bf656f --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/tentative/baseline-table.html @@ -0,0 +1,179 @@ + + + + + +TABLE baseline + + + + + +
    +

    <TABLE> baseline tests

    + +

    Empty table's baseline is bottom of table's border box.

    +
    + Xp +
    +
    + +

    Empty body's baseline is bottom of table's border box.

    +
    + Xp + + +
    +
    + +

    Empty row's baseline is center of the row.

    +
    + Xp + + + +
    +
    + +

    First row defines baseline even if empty.

    +
    + Xp + + + + +
    1,0
    +
    + +

    Cell's baseline defined row's baseline only if cell is vertical-align:baseline.

    +
    + Xp + + + +
    Xp
    + +
    + Xp + + + +
    Xp
    +
    + + +

    Table's vertical-align: top.

    +
    + Xp
    +
    + +

    Table's vertical-align: middle.

    +
    + Xp
    +
    + +

    Table's vertical-align: bottom.

    +
    + Xp
    +
    + +

    Table's top/middle/bottom combined.

    +
    + Xp
    +
    +
    +
    + +

    Two rows empty, 1st row has css height.

    +
    + Xp + + +
    +
    + +

    First row empty with css height, 2 row has content,

    +
    + Xp + + +
    X
    +
    + +

    Empty rowspanned cells should not set baseline. This test might not be per-spec, distribution of empty cells over empty rows differs between browsers.

    +
    + Xp + + + + + + + +
    pX
    +
    + +

    Block level table inside inline block does not produce a baseline.

    +
    + Xp
    Xp
    Xp
    +
    +
    X
    +
    X
    +
    X
    +
    + + +

    Anonymous tables should not generate baselines

    +
    Xp +
    +
     
    +
    +
    +

     
    +
    +
    +
    + diff --git a/testing/web-platform/tests/css/css-tables/tentative/baseline-td.html b/testing/web-platform/tests/css/css-tables/tentative/baseline-td.html new file mode 100644 index 0000000000..4090c5db64 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/tentative/baseline-td.html @@ -0,0 +1,124 @@ + + + + + +TD baseline + + + + + + +
    +

    <TD> baseline tests

    + +

    All the baseline values. +Many text values map to plain baseline.

    + + + + + + + + + + + + + +
    Xp
    Xp
    Xp
    Xp
    Xp
    Xp
    Xp
    Xp
    Xp
    Xp
    Xp
    Xp
    + +

    All the baseline values. +Same as test before, but use display:table/table-cell. Default td alignment is baseline, not middle.

    +
    +
    Xp
    +
    Xp
    +
    Xp
    +
    Xp
    +
    Xp
    +
    Xp
    +
    Xp
    +
    Xp
    +
    Xp
    +
    Xp
    +
    Xp
    +
    Xp
    +
    + + +

    Baselines with %ge children

    +

    FF/Edge fails here

    +
    + inline table + + + +
    +
    +
    +
    +
    +
    +

    Baseline and td height +If td is baseline aligned, and has a height, how tall should the td be? +

    +

    Legacy/FF apply height to below baseline?. With baseline alignment, this makes the cell taller.

    + + + + + +
    base +
    +
    + +

    Baseline of rowspanned cell +rowspanned td's should contribute to baseline, but not to the row height.

    + + + + + + + + +
    Xp
    Xp

    Xp
    Xp
    Xp
    + +
    + + diff --git a/testing/web-platform/tests/css/css-tables/tentative/caption.html b/testing/web-platform/tests/css/css-tables/tentative/caption.html new file mode 100644 index 0000000000..e733285901 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/tentative/caption.html @@ -0,0 +1,137 @@ + + + + +caption + + + + + + + +

    Caption sizing and positioning

    +

    There is a fundamental disagreement between Chrome Legacy and Firefox on caption size influence on table width. Chrome uses caption min width as lower limit of table's grid box, FF does not. Firefox also does not support multiple captions.

    + +
    + +

    Caption width limits

    + +

    Caption minmax and grid width +caption.min is lower limit of grid min.

    + + + +
    auto
    + +

    Caption.min vs caption.css_width +Caption.css_width is upper limit of caption.min +Caption.css_width is lower limit of caption.min +

    + + + +
    auto
    + + + +
    auto
    + + +

    Caption width:50% +Percent width is resolved wrt to table width.

    + + + +
    auto
    + + + + +
    auto
    + +

    Caption and size of empty table + Larger of table borders, and caption min size.

    + + +
    c
    c
    + +

    Caption height:80% +github spec issue. +TablesNG will not resolve percentage heights per spec. FF agrees. +

    + + + +
    auto
    + +

    Multiple captions +Do we allow multiple captions? There are 4 in this test.

    + + + + + + +
    over1over2under1under2
    2 above me, 2 below me?
    +

    Caption margins +Margins between captions do not collapse

    + + + +
    20px margins
    1 caption
    + + + + +
    20px margins20px margins
    2 captions
    + + +

    Caption margins auto +auto margins center captions that are less wide than the table. +

    + + + +
    auto margins
    1 caption
    + + + +
    auto margins
    1 caption
    + + +

    Vertical writing mode caption +

    + + + + + +
    vertical
    caption bigger than table
    vertical!
    + +
    + diff --git a/testing/web-platform/tests/css/css-tables/tentative/col-collapse-table-size.html b/testing/web-platform/tests/css/css-tables/tentative/col-collapse-table-size.html new file mode 100644 index 0000000000..a28a1e204a --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/tentative/col-collapse-table-size.html @@ -0,0 +1,88 @@ + + + + +col visibility:collapse and minmax sizes + + + + + +

    Interactions between <COL> visiblity:collapse, and table inline size

    +

    What happens to the table size when column collapses? Should the space taken up by the table + remain the same, but the table iteslf should shrink?

    +

    Hovering over tables will turn off column collapsing

    +
    + +

    +Tables to the right are absolutely positioned

    + + + + +
    absolute, right:0
    + + + + + + +
    caption
    absolute, right:0
    + +

    Inline tables

    + + + + + +
    caption
    after +

    + + + + + +
    td
    after + +

    Table as a flex item

    + +
    + + + + + +
    td
    +
    +
    +
    + + diff --git a/testing/web-platform/tests/css/css-tables/tentative/colgroup-col.html b/testing/web-platform/tests/css/css-tables/tentative/colgroup-col.html new file mode 100644 index 0000000000..40fbefee20 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/tentative/colgroup-col.html @@ -0,0 +1,122 @@ + + + + +COLGROUP/COL + + + + + + + + +
    +

    Colgroup col widths

    +
      +
    1. colgroup's purpose is to "group" cols
    2. +
    3. one can think of colgroup as always generating max(colgroup.span,1) cols, unless it has <col> children.
    4. +
    5. colgroup css_width specifies width of generated cols.
    6. +
    7. col.css_width can override colgroup width
    8. +
    +

    colgroups with spans

    + + + + + + + + +
    cg1cg2cg2cg2
    50px
    + +

    cols with spans

    + + + + + + + + +
    col1col2col2col2
    50px
    + +

    colgroups with cols

    + + + + + + + + + + +
    cgcol1col2
    50px
    + +

    colgroups with cols with spans

    +

    Legacy fails col with span inside colgroup test.

    + + + + + + + + + + + + + + +
    cg1col1col1cg2cg2
    50px
    + +

    0% cols are ignored

    + + + + + + + + + +
    +
    01234
    +
    +
    +
    + + + + + + + + + +
    +
    01234
    +
    +
    +
    + +
    + + diff --git a/testing/web-platform/tests/css/css-tables/tentative/colspan-redistribution.html b/testing/web-platform/tests/css/css-tables/tentative/colspan-redistribution.html new file mode 100644 index 0000000000..3c4d57c142 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/tentative/colspan-redistribution.html @@ -0,0 +1,621 @@ + +COLSPAN redistribution + + + + + + + +
    +

    Colspan>1 width redistribution

    +

    TD with colspan>1 redistributes its min/max/percent widths to the spanned cells.

    +

    Creating explainable tests with percentage cells is complicated. Cell's percentage cannot be observed directly, but must be inferred from td+table widths. Rules that govern relationship between table grid width and percentage cell width are:

    +
      +
    1. Rule#1, Each percentage column sets the floor for maximum table width. That table width is column.min_width / column.percent * 100.
      Ex: 20px wide column, with 20% width, implies that the entire table must be at least 100px wide.
    2. +
    3. Rule#2, Sum of all percentages, combined with sum of widths of all non-percentages sets the floor maximum table widths.
      Let P% be sum of all percentages, and Fpx sum of widths of all non-percentage columns. Maximum table width = Fpx * (1 + (100-P%)/P%).
      + Ex: if percentage columns are 20%, and non-percentage columns are 100px, implies that that 80% is at least 100px, and that the entire table is at least 125px. +
    4. +
    +

    Test design

    +

    All examples have border-spacing:8, td.padding:0.

    +

    Tests are mostly tables with 2 rows. 1st row are the columns, 2nd row is the colspan>1 column being distributed. Most test's colspan>1 cell colspan encloses all cells except the last one. Each test is accompanied by test description. Test description contains:

    +
      +
    1. First line describes the test geometry: cell:css/min/max. C1:20%/20px means width:20%, intrinsic min width 20px. If max is omitted, min == max.
    2. +
    3. Second line describes algorithm being tested in detail
    4. +
    5. Third line describes computation that generates the result.
    6. +
    7. Red paragraphs are major browser disagreements
    8. +
    + +

    Colspan>1 cell's percentage distribution auto tables

    +

    Rules

    +
      +
    • Percentages can only be redistributed to non-percentage cells.
    • +
    • If percentage does not get redistributed, treat colspan>1 cell width as Auto
    • +
    • If all columns are empty (no max width), redistribute percentage evenly.
    • +
    + +

    C0:10%/20px C1:10%/20px C2:auto +No colspan>1 cells, shows what table looks like without colspan>1 cell distribution. +Table width by rule#1, 20px/0.1(10%) + 4*8 => 232px. Excess table width is distributed to auto cell.

    + + + + + + +
    x
    x
    x
    + +

    Colspan>1:40%/Auto C0:10%/20px C1:10%/20px C2:auto +Percentage does not get redistributed because all columns are percentages. +Table width by rule#1 same as previous example.

    + + + + + + + + + +
    x
    x
    x
    40%
    + +

    Colspan>1:20%/100px C0:Auto/0 C1:Auto/0 C2:Auto/Auto +Percentage gets redistributed evenly to empty cells. +Each cell gets 10%, then (100-8)/2=>46px min width. Table min width is 46/0.1(10%) + 4*8 => 460 + 32 => 492

    +

    Chrome Legacy is wrong, 1st span cell gets all the width. FF/Edge agree.

    + + + + + + + + +
    x
    100px
    + +

    Colspan>1: 19%/200px colspan>1 cell, C0: 20%.20px, C1: 80px/80px +Percentage is not getting redistributed, because column% > colspan>1%

    + + + + + + + + +
    20
    80
    208
    + +

    Colspan>1 cell's percentage distribution fixed tables

    +

    Colspan cells distribute width over col widths. +

    Rules

    +
      +
    • Percentages are not distributed to fixed columns.
    • +
    • Percentages are not distributed to percentage columns.
    • +
    • Percentages are distributed to auto columns, each column gets distributed%/colspan percent.
    • +
    +

    Auto column distribution +auto colums get percentage widths distributed evenly. +C0/C1 become 25% columns. +Assignable table size is 400-4*8=368. Column size is 25% of 368 = 92px

    +

    FF disagrees in how border-spacing is handled and ends up with slightly different cell widths.

    + + + + + + + + + + + + +
    50%a
    aaaa
    + +

    Fixed column distribution +fixed columns do not get percentage distribution.

    + + + + + + + + + + + + +
    50%a
    aaa
    + +

    Percentage column distribution +percentage columns do not get percentage distribution.

    + + + + + + + + + + + + +
    50%a
    aaa
    + +

    Distribute over percentage/auto/fixed mix cells +Collspanned TD distributes 50%. Auto TD gets 50%/(colspanned span = 4): 12.5% +12.5%* 400px is 50. +

    + + + + + + + + + + + + + + + + +
    50%a
    aaaa
    + +

    Colspan>1 cell's minimum width distribution

    +

    All unconstrained columns

    + +

    Colspan>1: Auto/300px C0:Auto/75pxpx C1:Auto:25px; C2:20px/Auto +Basic distribution over auto columns, cells grow evenly. +Distribute 300-8=292 proportional to maxwidth. C0 gets 75/100*292=219.

    + + + + + + + + + +
    75px
    25px
    x
    300px min
    + +

    Colspan>1: 260px/300px C0:Auto/100px C1:Auto/100px C2:Auto/Auto +Colspan>1 cell min width wins over css width. +Table width same as previous example.

    + + + + + + + + + +
    100px
    100px
    x
    300px min
    + +

    All fixed columns

    +
  • column gets min_width proportional to its max width. + +

    Colspan>1: 260/300 C0:100/50/100 C1:100/100 C2:20/Auto +Distribute surplus proportional to max width. +Colspan>1 is distributing 292, surplus 92, each column gets 46. +

    + + + + + + + + + +
    50
    50
    100px
    x
    300px min
    + +

    Colspan>1: 300/300 C0:100/25 C1:100/75 C2:20/Auto +Column minimum width is less than its CSS width. +Just like last example, both columns get 46. + + + + + + + + + +
    25px
    75px
    x
    300px min
    + +

    Colspan>1: 300/300 C0:20/100 C1:100/75 C2:20/Auto +First column's min width > css width. +Like last example, each column minimum width increases in proportion to the max.

    +

    Chrome differs from FF/Edge. It distributes min-width in proportion to css width, not max width

    + + + + + + + + + +
    20/100px
    40/100px
    x
    300px min
    + +

    All percent columns

    +
      +
    • min width never gets smaller than it started. +
    • min width becomes cell.percent/cells.percent * colspan>1_cell.min_width
    • +
    • max width becomes cell.percent/cells.percent * colspan>1_cell.max_width
    • +
    + +

    Colspan>1:Auto/300px C0:25%/50 C1:25%/30 C2:20/Auto +Colspan>1 min width gets distributed proportional to percentage (not min/max width). +Columns get min_width = 146, causes table width of 146/0.25 + 4*8 = 616. + + + + + + + + + +
    25%/50
    25%/30
    x
    300px min
    + +

    Colspan>1:Auto/400px C0:20%/50 C1:60%/50 C2:20/Auto. +Colspan>1 min width gets distributed proportional to percentage (not min/max width). +Cells get 98/294, table by rule#1 98px/0.2 + 32 = 522

    +

    Edge disagrees, table is 870

    +
    + + + + + + + + + +
    20%/50px
    60%/50px
    x
    400px min
    +
    + +

    Colspan>1:Auto/468 C0:50%/150 C1:30%/150 C2:20/Auto +This tests conflict resolution where min-width > redistributed min width. +Colspanned redistribution: distributed 468-8 = 460 over C0/C1 +Colspanned 468px needs to distribute 460px over C0/C1. +C0 percent size is 50% * 460 = 230 +C1 percent size is 30% * 460 = 138, defaults to min size of 150 +Column 1 size is 230 + 50%/80% * 80 = 280px +Column 2 size is 150 + 30%/80% * 80 = 180px +Column 3 remains 20px +Assignable table inline size +C1 dominates estimate: 180/30% + 4*8 = 632 +Compute final column widths from assignable table size: +C0 = 50% of 600 = 300 C1 = 30% of 600 = 180 , C2 gets the remaining 120

    + + + + + + + + + +
    50%/150px
    30%/150px
    x
    408px min
    + + +

    Colspan>1:Auto/400px C0:50%/75px/125px, C1:30%/75px/125px C2:20px/Auto +Colspan>1 cell distribution over different percentages. +400-8px min width gets redistributed as 245/147 (no min width limits) +

    +

    Edge is different, table is 685 instead of 522.

    + + + + + + + + + +
    50%/75
    /125
    30%/75
    /125
    x
    400px min
    + +

    Auto/fixed mix columns

    +

    Colspan>1: Auto/500; C0: Auto/40 C1:150/100 +Colspan>1 excess min: 500-140-8=352; excess max: 500-190-8=302 +Initial min/max C0:40/40, C1:100/150 +Excess is distributed to Auto C0:392/342, C1:100/150 +Assignable width is 492. C0 gets 342, C1 get max:150 +Chrome Legacy does something very different to arrive at the same answer. +Initial min/max is the same. +Min gets distributed to C0 and C1 in proportion to max_width: C0:342/40 C1:150/150, +Min also gets clamped to css width. This is the key difference betweeen NG +and Legacy code. NG cannot clamp to css width, because it is not available. +Max gets distributed to both in proportion to max_width: C0:342/103 C1:150/389 +Assignable table width is: 492 (sum of min), min gets used as final width. + +Analysis: colspan>1 cell distribution over fixed/auto. +Legacy incorrectly distributes minmax over both fixed and auto cells +in proportion to max width,and clamps min to css width. + +This width becomes final width for auto tables without any further distribution. +FF distributes min only over auto, and max over auto. +Final distribution uses Guess 2 rules: start off with Auto(min), Fixed(max), +distribute excess to Auto. Ends up with the same result as Legacy.

    + + + + + + + + +
    +
    Auto
    +
    150
    +
    500
    +

    C0:70/Auto C1:70/Auto C2:Auto/50 +This testcase demonstrates how Legacy Chrome handling of min widths is broken. +There are 2 fixed columns, and 1 auto. The width of fixed columns should be +the same, but is not. The problem happens when min-width of fixed columns is +less than fixed width, and there are auto columns.

    + +

    Chrome Legacy incorrectly assigns minimum width to C0/C1 +to css width of 70. It does compute assignable table width correctly +as 166 px. This violates the invariant: +assignable table width >= sum of min widths. +Chrome resolves invariant violation by truncating one fixed width column +below its minimum width.

    + + + + + + + + + +
    00
    50
    +
    + +

    Percentage/fixed mix columns

    +

    The Legacy code that deals with this is confusing, it tries to redistribute minimum width in proportion to max width, unless there are auto cells. All the browsers disagree on final widths. Some things everyone agrees on: +

  • if there are auto cells, fixed cells do not grow.
  • +

    + +

    Colspan>1:N/A C0:60%/100 C2:100/100 +An example what table looks like without colspan>1 distribution. +Table width by rule#2: (60/(100-60) +1) * 100 = 250 + 24 = 274

    + + + + + +
    60%
    100px
    + +

    Colspan>1:N/A C0:50%/100 C1:50%/100 C2:100/100 +Total column percent is 100%, forcing maximum table grid width by rule #2 to infinity. +Table css width is 1px, overriding grid max width. +Final column width is column's minimum width. +

    +
    + + + + + + +
    50%
    50%
    100px
    +
    + +

    Colspan>1:N/A C0:50%/100 C1:50%/100 C2:100/100 +Same example as above, but table width is auto. +Table grows to size of containing block.

    +
    + + + + + + +
    50%
    50%
    100px
    +
    + +

    Colspan>1: Auto/200px C0:40%/20 C1:50/50 C2:100/20 +Table css width is 1px. This forces grid minimum. +FF: %ge cell gets its percentage width resolved wrt distributing cell. +fixed cells get remaining excess width redistributed in proportion +to max size. +Chrome algorithm: distributes proportionally to min_width. The problem with +this is that 40% cell will end up with 0 if no min width. +

    Edge distributes all the width to the %ge cell, Chrome distributes proportionally to min width.

    + + + + + + + + + +
    40%
    50
    20
    208px min
    + +

    Colspan>1 cell's maximum width distribution

    +
  • Only constrained colspans can distribute max-width over fixed columns
  • + +

    Colspan: constrained. Col: constrained +Constrained colspan redistributes widths over constrained cols. +

    + + + + + + + + + + +
    5050
    200
    +

    Colspan: unconstrained. Col: constrained +Colspan max-width does not get redistributed. +

    + + + + + + + + + + +
    5050
    50
    50
    50
    50
    + +

    Colspan: unconstrained, Col: constrained/% +Colspanned col distributes width over %ge column. +max-guess is 50px + 200px*50% = 150px +distributable_size is 50px +%ge column gets percentage_size + distributable_size = 150px +Later, this makes table 300px wide. +

    +

    FF, Legacy, and TablesNG all disagree about the correct widths. FF feels more like the right answer, but I can't figure out the math behind it.

    + + + + + + + + + + +
    5050
    50
    50
    50
    50
    + +

    Merging cell widths into column widths

    +

    What happens when different types of cells get merged into a single column?

    +

    C0:0 25%/50px C0:1 50%/40px +C0:0 alone would imply table width of 50/.25 = 200px. +C0:1 alone would imply table width of 40/.5 = 80px. +But, largest percentage and largest min width win, so the table width is 50/.5 = 100px. +

    + + + + + + + + + +
    +
    25%/50px
    Auto
    +
    50%/40
    Auto
    + +

    Merging fixed and percentage +Column that contains both percent and fixed cells is treated as percent. + + + + + + + + + + + +
    +
    25%/100
    50px fixedauto
    150AutoAuto
    + +

    Order of colspan>1 cell redistribution +Initial minmax of all cells is 50px. +C0:1 redistributes 200 +C1:2 redistributes 400 +Chrome distributes right-to-left: +C1:2 distributes 400, and C1 and C2 both get 200 +When C0:1 turns come, C0+C1 are already long enough, nothing to distirbute +

    +In testcase /tables/mozilla_expected_failures/core/col_span2.html +distribution right-to-left is described as a bug. +Firefox and Edge both distribute left to right. +Chrome is only one that distributes right to left. +Firefox distribution is not cumulative, it uses original minmax to compute final widths. Edge agrees with TablesNG. +But, mozilla is stable for row reordering.

    +

    + + + + + + + + + + + + + + +
    200
    50
    50
    400
    Auto
    Auto
    Auto
    + + + + + + + + + + + + + + +
    400
    50
    50
    200
    Auto
    Auto
    Auto
    +

    Order of colspan>1 cell redistribution +Similar to previous testcase, but colspan is 3, not 2.

    +

    +In testcase /tables/mozilla_expected_failures/core/col_span2.html +distribution right-to-left is described as a bug. +Firefox and Edge both distribute left to right. +TablesNG matches Edge/FF.

    +

    + + + + + + + + + + + + + + + +
    300
    50
    50
    600
    Auto
    Auto
    Auto
    Auto
    +
    + diff --git a/testing/web-platform/tests/css/css-tables/tentative/column-widths.html b/testing/web-platform/tests/css/css-tables/tentative/column-widths.html new file mode 100644 index 0000000000..b151c2263b --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/tentative/column-widths.html @@ -0,0 +1,300 @@ + +Column widths + + + + + + + +
    +

    Col width

    +

    how does col width interact with td widths to produce final column width?

    +

    Inputs are colgroup/col widths, and td widths. +

    td widths merge, then merge again with col to produce column widths. +

    Output is column min/max/percent w0dths. +

    Colgroup/col has css min_width, css max_width, css percent.

    +

    TD has intrinsic minmax, css width, css percent width, css max width, css min width

    + +

    Initial cell assignment

    + + +

    Unconstrained single TD, table-layout:auto +td.min = minmax.min +td.max = minmax.max

    + + + + +
    min
    min
    + + + + +
    max
    max
    + +

    Unconstrained single TD, table-layout:fixed +td.min = 0 +td.max = minmax.max

    + + + + +
    min
    min
    + + + + +
    max
    max
    + +

    Constrained single TD, table-layout:auto + td.min = minmax.min + td.max = max(minmax.min, css.width) +

    + + + + +
    max
    max
    + + + + +
    max
    max
    + + + + +
    min
    + + + + +
    min
    min
    + + + + +
    min
    min
    + + +

    TD/TD merging

    + +

    TD merging only happens in auto, in fixed only 1st row gets measured

    + +

    Two unconstrained TDs, table-layout:auto or fixed + td.min = max(C0.min, C1.min). always 0 in fixed layout. + td.max = max(C0.max, C1.max) +

    + + + + + + + +
    auto
    max
    auto
    auto
    + + + + + + + +
    auto
    max
    auto
    auto
    + +

    Unconstrained (UN) and constrained (CON) TD + td.min = max(UN.min, CON.min) + td.max = max(UN.min, CON.max) +

    +

    Chrome Legacy and Edge fail this test. They do not limit unconstrained maximum: td.max = max(UN.max, CON.max).

    + + + + + + + +
    min
    min
    + + + + + + + +
    max
    max
    max
    + +

    Two percent TDs + td.percent = max(C1.percent, C2.percent) + td.max = max(C1.max, C2.max) + td.min = max(C1.min, C2.min) +

    + + + + + + + + + +
    60
    auto
    50
    auto
    + +

    COL/TD merging

    + +

    col auto td auto +column.min = td.min +column.max = td.max

    + + + +
    auto
    + +

    col fixed td auto + column.min = td.min + column.max = max(col[px], td.min) +

    + + + +
    auto
    + + + +
    110
    110
    + + + +
    min
    + +

    col % td auto +column.min = td.min +column.max = max(td.max, col.max) +column.percent = col[%] + + + + +
    auto
    40
    + + + + +
    auto
    + + + + +
    auto
    30
    + +

    col auto td percent +column.min = td.min +column.max = td.max +column.percent = td.percent + + + + +
    auto
    10
    + +

    col fixed td percent +column.min = td.min +column.max = max(td.max, col.max) +column.percent = td.percent + + + +
    50
    50
    +
    + + + +
    50
    50
    +
    + +

    col percent td percent +column.min = td.min +column.max = max(td.max, col.max) +column.percent = max(td.percent, col.percent)

    + + + + +
    100
    200
    + + + + +
    100
    200
    + +

    col auto td fixed +column.min = td.min +column.max = td.max

    + + + +
    100
    + +

    col fixed td fixed +column.min = td.min +column.max = max(td.max, col.max)

    + + + +
    100
    + + + +
    100
    + +

    col percent td fixed +column.min = td.min +column.percent = col.percent +column.max = max(td.max, col.max)

    + + + +
    100
    200
    +
    + + + + + +
    10
    200
    + +

    col fixed td fixed inside table-layout:fixed +constrained columns take precedence in fixed layout. + + + + +
    100
    200
    + +

    col percent td fixed inside table-layout:fixed +constrained columns take precedence in fixed layout. + + + + +
    150
    150
    +

    + diff --git a/testing/web-platform/tests/css/css-tables/tentative/element-sizing.html b/testing/web-platform/tests/css/css-tables/tentative/element-sizing.html new file mode 100644 index 0000000000..77e153ce3a --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/tentative/element-sizing.html @@ -0,0 +1,34 @@ + + + + +TABLE fragment sizes + + + +
    +

    TBODY/TR Element sizes and border spacing

    +

    Legacy Chrome:TR includes start/end, not before/after. 1st TBODY includes before/after, 2nd TBODY includes only after, not before.

    +

    Firefox: TR/TBODY do not include start/end before/after.

    +

    Proposal: match firefox

    + + + + + + + +
    0,0
    + +

    TR width is used for TD's percentage resolution

    + + + + + + +
    0,0
    +
    + diff --git a/testing/web-platform/tests/css/css-tables/tentative/paint/background-image-column-collapsed-ref.html b/testing/web-platform/tests/css/css-tables/tentative/paint/background-image-column-collapsed-ref.html new file mode 100644 index 0000000000..b3b1ce9ff3 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/tentative/paint/background-image-column-collapsed-ref.html @@ -0,0 +1,30 @@ + + + +
    +
    +
    +
    +
    +
    +
    + +
    diff --git a/testing/web-platform/tests/css/css-tables/tentative/paint/background-image-column-collapsed.html b/testing/web-platform/tests/css/css-tables/tentative/paint/background-image-column-collapsed.html new file mode 100644 index 0000000000..6e6ae7a82c --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/tentative/paint/background-image-column-collapsed.html @@ -0,0 +1,68 @@ + +Table collapsed column background image geometry + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + diff --git a/testing/web-platform/tests/css/css-tables/tentative/paint/background-image-column-ref.html b/testing/web-platform/tests/css/css-tables/tentative/paint/background-image-column-ref.html new file mode 100644 index 0000000000..5b04f0074c --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/tentative/paint/background-image-column-ref.html @@ -0,0 +1,44 @@ + + + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    + +
    +
    +
    +
    + +
    diff --git a/testing/web-platform/tests/css/css-tables/tentative/paint/background-image-column.html b/testing/web-platform/tests/css/css-tables/tentative/paint/background-image-column.html new file mode 100644 index 0000000000..c795aac5ea --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/tentative/paint/background-image-column.html @@ -0,0 +1,56 @@ + +Table column background image geometry + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    +
    + diff --git a/testing/web-platform/tests/css/css-tables/tentative/paint/background-image-row-collapsed-ref.html b/testing/web-platform/tests/css/css-tables/tentative/paint/background-image-row-collapsed-ref.html new file mode 100644 index 0000000000..8ab0992e08 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/tentative/paint/background-image-row-collapsed-ref.html @@ -0,0 +1,60 @@ + + +
    +
    +
    +
    +
    +
    +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/tentative/paint/background-image-row-collapsed.html b/testing/web-platform/tests/css/css-tables/tentative/paint/background-image-row-collapsed.html new file mode 100644 index 0000000000..c70c6abd92 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/tentative/paint/background-image-row-collapsed.html @@ -0,0 +1,53 @@ + +Collapsed table row background image geometry + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    +
    + diff --git a/testing/web-platform/tests/css/css-tables/tentative/paint/background-image-row-ref.html b/testing/web-platform/tests/css/css-tables/tentative/paint/background-image-row-ref.html new file mode 100644 index 0000000000..1150a63e17 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/tentative/paint/background-image-row-ref.html @@ -0,0 +1,68 @@ + + +
    +
    +
    +
    +
    +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/tentative/paint/background-image-row.html b/testing/web-platform/tests/css/css-tables/tentative/paint/background-image-row.html new file mode 100644 index 0000000000..69105e6937 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/tentative/paint/background-image-row.html @@ -0,0 +1,55 @@ + +Table row background image geometry + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    +
    + diff --git a/testing/web-platform/tests/css/css-tables/tentative/paint/collapsed-border-large-cell-ref.html b/testing/web-platform/tests/css/css-tables/tentative/paint/collapsed-border-large-cell-ref.html new file mode 100644 index 0000000000..40d80cac48 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/tentative/paint/collapsed-border-large-cell-ref.html @@ -0,0 +1,33 @@ + + +
    + +
    +
    + +
    +
    + +
    + +
    + +
    +
    +
    +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/tentative/paint/collapsed-border-large-cell.html b/testing/web-platform/tests/css/css-tables/tentative/paint/collapsed-border-large-cell.html new file mode 100644 index 0000000000..60e1390b7b --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/tentative/paint/collapsed-border-large-cell.html @@ -0,0 +1,39 @@ + +Collapsed borders of large cells + + + + + +
    + + + + + + + + + + + + + + + + +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/tentative/paint/overflow-hidden-table-ref.html b/testing/web-platform/tests/css/css-tables/tentative/paint/overflow-hidden-table-ref.html new file mode 100644 index 0000000000..fca7b4196c --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/tentative/paint/overflow-hidden-table-ref.html @@ -0,0 +1,32 @@ + + +
    +
    +
    +
    +
    +
    +
    +
    +
    caption +
    diff --git a/testing/web-platform/tests/css/css-tables/tentative/paint/overflow-hidden-table.html b/testing/web-platform/tests/css/css-tables/tentative/paint/overflow-hidden-table.html new file mode 100644 index 0000000000..dc252b1652 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/tentative/paint/overflow-hidden-table.html @@ -0,0 +1,37 @@ + +Overflow hidden and captions + + + + + +
    + + + + + +
    +
    +
    +
    +
    caption
    +
    diff --git a/testing/web-platform/tests/css/css-tables/tentative/position-sticky-container.html b/testing/web-platform/tests/css/css-tables/tentative/position-sticky-container.html new file mode 100644 index 0000000000..604b536df1 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/tentative/position-sticky-container.html @@ -0,0 +1,170 @@ + +Table parts sticky containers + + + + + + +
    +
    +
    top
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    h:0,0h:0,1h:0,2
    h:1,0h:1,1h:1,2
    h:2,0h:2,1h:2,2
    b:0,0b:0,1b:0,2
    b:1,0b:1,1b:1,2
    b:2,0b:2,1b:2,2
    f:0,0f:0,1f:0,2
    f:1,0f:1,1f:1,2
    f:2,0f:2,1f:2,2
    +
    bottom
    +
    +
    + diff --git a/testing/web-platform/tests/css/css-tables/tentative/rowspan-height-redistribution.html b/testing/web-platform/tests/css/css-tables/tentative/rowspan-height-redistribution.html new file mode 100644 index 0000000000..364ae321c9 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/tentative/rowspan-height-redistribution.html @@ -0,0 +1,503 @@ + +ROWSPAN redistribution + + + + + + + + +
    +

    ROWSPAN > 1 to row distribution

    +

    The algorithm has not been standardized. This is my understanding of how it works.

    +
      +
    1. rowspan>1 TDs are sorted:
    2. +
        +
      1. If TD span the same rows, taller TD is distributed first.
      2. +
      3. If one TD is fully enclosed by another, inner TD is distributed first.
      4. +
      5. Otherwise, higher TD is distributed first.
      6. +
      +
    3. Each rowspan>1 TD's height is distributed as following
    4. +
        +
      1. rowspan > 1 TDs have height TDh, span N rows. N rows have total height of Rh. TDh - Rh height, Dh, must be distributed as follows.
      2. +
      3. If percentage resolution size is available (this happens when redistributiong table/section height), percentage rows grow to their percentage size, proportional to (percentage size - current size). Dh shrinks by distributed height. Justification: explicit percentage rows should grow to their percentage.
      4. +
      5. Rows that originate rowspan>1 cells get all the Dh height, distributed evenly. Justification: rowspan>1 rows are likely to need to grow later. If there are multiple rowspan>1 cells, there can be multiple originating rows.
      6. +
      7. Unconstrained non-empty rows grow, proportional to their existing height.
      8. +
      9. If all rows are empty, last row gets all the height. Justification: ???
      10. +
      11. Contstrained rows grow in proportion to current height.
      12. +
      +
    +

    It is unclear what the existing ChromeLegacy/FF algorithms do for distribution over rowspan>1 and empty cells. FF special cases "there is no cell originating in the row with owspan=1 and there are at least 2 cells spanning the row. Chrome Legacy also tries to do something similar, but they disagree on what. TablesNG will try to ship without special cases.

    +

    Safari fails most of these tests

    +

    Color scheme

    + + + + + + + + + + + + + + + + + + + + + + + +
    odd rows are yellow
    even rows are orange
    inner divs have a green gradient
    +
    row
    row
    row
    row
    +

    Unconstrained rows

    +

    Rows whose height is not fixed or percent are unconstrained.

    +

    Unconstrained rows +Unconstrained rows are redistributed proportionally. Rows are constrained if their height is fixed, or percent.

    + + + + + + + + + +
    0,0
    0,1
    + +

    Unconstrained rows with zero height do not grow.

    + + + + + + + + + + + +
    0,0
    0,2
    + +

    rowspan>1 is zero height, spanned rows have height.

    + + + + + + + + + + + + + + + +
    1,0
    2,0
    + +

    Unconstrained rows are redistributed proportionally to heights

    + + + + + + + + + +
    0,0
    0,1
    + +

    Fixed rows

    + +

    Constrained fixed rows +do not grow if there are unconstrained ones

    +

    Edge grows constrained rows too

    + + + + + + + + + +
    0,0 30px
    0,1
    + +

    Constrained fixed rows +grow proportionally to their size if there are no unconstrained rows

    + + + + + + + + + + + + +
    20
    20
    40
    + +

    Percent rows

    + +

    Constrained percent rows +grow like unconstrained ones when percent resolution size is undefined.

    +

    FF always treats percent rows as constrained. Chrome legacy does resolve percentage against final height of the table. I do not think that can work. Edge follows NG.

    + + + + + + + + + + +
    0,0 30%
    0,1
    100px
    + + +

    Percent rows with zero height +do not grow.

    +

    Legacy Chrome has a strange gap between rows

    + + + + + + + + + + + +
    0,0
    2,0
    + +

    Order of rowspan distribution

    + + +

    If cells span the same rows, bigger cell is distributed first +Not sure how to test this, I think it is just an optimization, there is no observable effect. +

    FF and Legacy Chrome unexpectedly distribute height evenly between rows in the first test case. Edge and TablesNG do not.

    + + + + + + + + + + + + + +
    bottombottom
    + + + + + + + + + + + + + + + + +
    bottombottom
    + + + + + + + + + + +
    bottombottom
    + + +

    If one cell is fully enclosed by another, inner cell wins. +

    Not in Edge

    + + + + + + + + + + + +
    + +

    First row wins. +rowspan-4 distributes 50 to last empty row, row3. rowspan-3 distributes 100px to only nonempty row, row3. +

    Edge disagrees here.

    + + + + + + + + + + + + + +
    + +

    Rowspan distribution over empty rows.

    + +

    Rowspans that span non-existent rows +Span is truncated so only existing rows are spanned.

    + + + + + + + + + + + + + + + + +
    0,0
    rowspan 5
    1,0
    body 2
    + +

    Rowspan spans only empty rows +Last spanned row gets all the height. +

    Edge distributes height to all empty rows, not just last.

    + + + + + + + + + + + + + + + +
    first row
    last row
    + +

    TD is not considered empty if it has padding, but no content + + + + + + + + + + + + + +
    first row
    last row
    + +

    row with an empty tall cell is not considered empty. +

    + + + + + + + + + + + + + + +
    rowspan
    + +

    Empty rows with border-spacing big enough for rowspan cell +rows are 0 height, cell spans the entire table. + + + + + + + +
    + +

    row with a non-empty rowspan>0 cell is empty. +Distributes to all rows except start row? +

    + + + + + + + + + + + + + +
    rowspan
    rowspan
    + + + + + + + + + + + +
    rowspan
    yo
    + + +

    Distribution over rowspan > 1 rows +Distribution over rowspan > 1 rows + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +

    Distribution of table height over rowspan > 1 rows +If there are any unconstrained non-empty rows, they get it. +When all rows are empty, last row takes it

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +

    Distribution of rowspan over percentage rows +Percentage rows are considered empty if they cannot resolve

    + + + + + + + + + + + + + +
    + +
    + diff --git a/testing/web-platform/tests/css/css-tables/tentative/section-no-tbody-fixed-distribution.html b/testing/web-platform/tests/css/css-tables/tentative/section-no-tbody-fixed-distribution.html new file mode 100644 index 0000000000..dd403d248c --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/tentative/section-no-tbody-fixed-distribution.html @@ -0,0 +1,9 @@ + + + +

    Test passes if there is a filled green square.

    +
    +
    +
    +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/tentative/section-no-tbody-percent-distribution.html b/testing/web-platform/tests/css/css-tables/tentative/section-no-tbody-percent-distribution.html new file mode 100644 index 0000000000..d1546b1e38 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/tentative/section-no-tbody-percent-distribution.html @@ -0,0 +1,9 @@ + + + +

    Test passes if there is a filled green square.

    +
    +
    +
    +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/tentative/support/README b/testing/web-platform/tests/css/css-tables/tentative/support/README new file mode 100644 index 0000000000..67e87ca891 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/tentative/support/README @@ -0,0 +1,13 @@ +This test suite is created as part of Chrome's NG table rewrite in 2020. +TablesNG: https://crbug.com/958381 + +Many parts of table layout algorithm have been left unspecified by the +existing specification: +https://www.w3.org/TR/css-tables-3/ + +These tests are an attempt to exaustively test all parts of the +algorithm. When specification did not specify the algorithm, +the proposed algorithm is described in the tests. + +Our goal is that these tests will guide creation of a more complete +table standard. diff --git a/testing/web-platform/tests/css/css-tables/tentative/support/table-tentative.css b/testing/web-platform/tests/css/css-tables/tentative/support/table-tentative.css new file mode 100644 index 0000000000..08d65b2b87 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/tentative/support/table-tentative.css @@ -0,0 +1,34 @@ +/* +Tables-ng test styling. + +Usage: + + +

    Short description here + Analysis +

    Current disagreements between browsers

    +*/ +main td { + padding: 0; +} +.error { + color: #b70000; +} +p { + margin-top:4px; + margin-bottom:4px; +} +body { + counter-reset: testid; +} +.testdesc { + white-space: pre-line; + margin-top: 16px; +} +.testdesc:before { + content: counter(testid) ". "; + counter-increment: testid; +} +.testdesc:first-line { + font-family: monospace; +} diff --git a/testing/web-platform/tests/css/css-tables/tentative/table-fixed-minmax.html b/testing/web-platform/tests/css/css-tables/tentative/table-fixed-minmax.html new file mode 100644 index 0000000000..5be81d2056 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/tentative/table-fixed-minmax.html @@ -0,0 +1,146 @@ + +Table minmax tricks + + + + + +

    Infinite intrinsic table widths

    +

    Originally, algorithm for computing intrinsic table inline size had a special case:
    + If table is fixed, and has a width:%, its intrinsic inline size was "infinite".
    +This ensured that fixed table with 100% width inside block layout would expand to container's width.

    +

    Different containers do not have reasonable handling of intrinsic infinitely sized +children. For those, table's intrinsic size should never be infinite, but instead +default to regular max size.

    + +
    +

    Flexbox

    + +

    flex width:auto

    +
    + + +
    flex
    +
    flex div
    +
    + +

    flex width:max-content

    +
    + + +
    flex
    +
    flex div
    +
    + +

    flex width:min-content

    +
    + + +
    +
    + +
    +
    + + +
    +
    +
    + +

    Grid

    +

    grid width:auto

    +
    + + +
    grid
    +
    +

    grid width:max-content

    +
    + + +
    grid
    +
    + +

    Table

    + + + + +
    + + +
    table
    +
    + +

    Absolute

    +
    + + +
    absolute
    +
    + + diff --git a/testing/web-platform/tests/css/css-tables/tentative/table-height-redistribution.html b/testing/web-platform/tests/css/css-tables/tentative/table-height-redistribution.html new file mode 100644 index 0000000000..c0f48e4f20 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/tentative/table-height-redistribution.html @@ -0,0 +1,317 @@ + +TABLE height redistribution + + + + + + + + +
    +

    Tests for redistribution of table height to row group height.

    +

    This algorithm has not been standardized. Browsers implementations disagree a lot. + Legacy Chrome used to always distribute all the height to the first tbody.

    + +
    Major incompatibility: Legacy:
    +- ignores any height set on sections.
    +- does not size the table unless section has a TR
    +- does not grow sections without TDs
    +- only distributes height to the 1st tbody
    +FF
    +- does not prioritize thead for height distribution most of the time.
    +- y offset of multiple tbodies can be incorrect.
    +
    + +

    Empty table

    +

    Empty tables always grow to specified height in all browsers.

    +

    no sections

    +
    + +

    no sections, no border spacing

    +
    + +

    collapsed table no sections

    +
    + +

    fixed table no sections

    +
    + +

    One TBODY

    +

    The big difference here is between empty TBODY, and a body with an empty TR

    +
  • FF: always sizes the table, only sizes TBODY if it has TR.
  • +
  • Legacy: does not size the table unless TBODY has TR
  • +

    FF: sizes the table, but tbody size remains 0 unless tbody is not empty.

    +

    Legacy table size remains 0, or border-spacing

    + +

    single empty tbody

    + + +
    + +

    single tbody+tr

    + + +
    + +

    border spacing

    +

    FF/Legacy do not apply border-spacing

    + + +
    + +

    collapsed table

    + + +
    + +

    fixed table

    + + +
    + +

    tbody has fixed height

    +

    FF adds tbody height to table?

    + + +
    + +

    tbody has fixed height > table

    +

    Legacy: table size wins. FF: table size wins, but body grows to 300px?

    + + +
    + +

    tr has fixed height > table

    +

    FF: table size wins, but body is 300.

    + + +
    + +

    tbody has percentage height > table

    + + +
    + +

    tr has percentage height > table

    +

    FF/Legacy: table wins. FF: body is 200px

    + + +
    + +

    non-empty tbody

    + + +
    + +

    non-empty thead

    + + +
    + +

    THEAD TBODY

    + +

    empty thead, empty tbody

    +

    FF thead/tbody both grow

    + + + +
    + +

    sized thead, empty tbody

    + + + +
    thead
    + +

    table layout fixed, thead with td, tbody

    + + + + + + + +
    thead
    x
    + +

    table layout fixed, thead+td, tbody+td

    + + + + + + + +
    thead
    x
    + +

    thead with td

    + + + + + + + + + + +
    thead
    + +

    tfoot with td

    + + + + + + + + + + +
    tfoot
    + +

    Multiple TBODY

    +

    Legacy does not distribute any heights when tr is empty.

    +

    Legacy always distributes everything to 1st tbody.

    + +

    2 tbody

    + + + +
    + +

    2 tbody, with non-empty tds

    +

    Legacy distributes everything to 1st tbody

    + + + +
    x
    x
    + + +

    2 tbody, 40%, auto, no td

    +

    FF: distributes everything to auto when empty. Legacy does not distribute

    + + + +
    + +

    2 tbody, 40%, auto, non-empty td

    + + + +
    x
    x
    + +

    2 tbody, 40px, auto, non-empty td

    +

    FF gets confused with 2nd body placement

    + + + +
    x
    x
    + +

    2 tbody, 40%, 40px, non-empty td

    +

    FF splits evenly

    + + + +
    x
    x
    + +

    Sized THEAD/TBODY

    +

    FF does not prioritize TBODY for distribution

    +

    20px thead, 30px tbody

    + + + + + + + +
    x
    x
    + +

    20px thead's tr, 30px tbody's tr

    + + + + + + + +
    x
    x
    + +

    20px thead's td, 30px tbody's td

    + + + + + + + +
    x
    x
    + +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/tentative/table-minmax.html b/testing/web-platform/tests/css/css-tables/tentative/table-minmax.html new file mode 100644 index 0000000000..eda9ce37fb --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/tentative/table-minmax.html @@ -0,0 +1,144 @@ + +Table minmax tricks + + + + + + + +
    +

    Table minmax

    + +

    How do different layout algorithms deal with table with an infinite max width?`

    + + <table> + <td style="width:100%"><div style="width:30px">100%</div></td> + <td><div style="width:100px">100px</div></td> + </table> + +

    Block layout clamps the max width, but flex/grid/table layouts do not. What happens?

    + +

    Block layout

    +
    + + + +
    100%
    100px
    +
    sibling
    +
    + +

    Block layout with floats

    +
    + What about this? + + + +
    100%
    100px
    +
    sibling
    +
    +
    + + +

    Table layout

    + + + + +
    + + + +
    100%
    50px
    50px
    +
    sibling
    + +

    Flex layout 1 1 auto

    +

    Edge is wider than flexbox

    +
    + + + +
    100%
    50px
    50px
    +
    40px
    +
    + +

    Flex layout 0 0 auto

    + +
    + + + +
    100%
    50px
    50px
    +
    auto
    +
    + +

    Empty table sizes

    +

    Completely empty table

    +
    + +

    Completely empty table with min-content width

    +
    + + +

    Completely empty table with max-content width

    +
    + +

    Completely empty table with width/height

    +
    + +

    Empty table with border spacing

    +

    Edge has width

    +
    + +

    Table with just tbody and border spacing

    +

    Chrome Legacy has width and 1/2 height. Edge has width. Proposal: make table empty.

    + + + +
    + +

    Table with tbody, tr, and border spacing

    +

    Edge has height, 1/2 width. Chrome Legacy has width/height. Proposal: make table empty.

    + + + + +
    + +

    Empty table with borders

    +

    Edge has width 30, height 20

    +
    + +

    Empty table with padding

    +

    Edge has width 30, height 20

    +
    + +

    Empty table with caption

    +
    caption
    +
    + + diff --git a/testing/web-platform/tests/css/css-tables/tentative/table-quirks.html b/testing/web-platform/tests/css/css-tables/tentative/table-quirks.html new file mode 100644 index 0000000000..af2a516c0e --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/tentative/table-quirks.html @@ -0,0 +1,76 @@ + +Table quirks + + + + + + + + + + +

    Tables in quirks mode proposals

    + +

    The table cell height box sizing quirk

    + + + + +
    100 height
    + + + + +
    100 height
    + +

    The table cell nowrap minimum width calculation quirk

    +

    Chrome Legacy, Edge, Safari fail, only FF gets it correct.Proposal: deprecate the quirk

    + + + + +
    nowrap nowrap nowrap nowrap
    + +

    The text decoration doesn’t propagate into tables quirk

    +
    + + +
    decoration
    +
    + +

    The collapsing table quirk

    +

    Chrome Legacy/Edge/Safari ignore the quirk, FF does not. Proposal: depreciate the quirk

    +
    + +

    The table cell width calculation quirk

    + + +
    + + diff --git a/testing/web-platform/tests/css/css-tables/tentative/table-width-redistribution-fixed-padding.html b/testing/web-platform/tests/css/css-tables/tentative/table-width-redistribution-fixed-padding.html new file mode 100644 index 0000000000..097ddacfc3 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/tentative/table-width-redistribution-fixed-padding.html @@ -0,0 +1,267 @@ + +Columns widths fixed + padding + + + + + + + +
    +

    Fixed tables with padding: Compute column computed widths from assignable table width

    + +

    This test is the similar to table-width-redistribution-fixed.html, + except that all cells have 6px padding. The comments in this test refer to padding incompatibilities only.

    + +

    Percentage sizes and box-sizing are handled differently in FF/Chrome. In Chrome, %ge size is always treated as border-box size: column width = % * table width. In FF, box-sizing:content-box, %ge size is % * table width + border_padding, box-sizing:border-box same as Chrome.

    + +

    Fixed only

    + +

    Table: 50px; C0:100/50/100 C1:100/50/100 +When table.css_width is < columns.css_width, how is the conflict resolved? +columns.css_width wins +

    + + + + + +
    +
    50
    50
    +
    50
    25
    + +

    Table: 300px; C0:100/100/200 C1:100/90/115 +When table.css_width is > columns.css_width , how is the conflict resolved? +table.css_width wins

    + + + + + +
    +
    100
    100
    +
    90
    25
    + +

    Table: 300px; C0:100/50/50 C1:100/100/100 +Fixed cells must grow, but their min widths differ. +Fixed cells grow in proportion to their css width. + + + + + +
    +
    50
    +
    100
    + +

    Table: 50px; C0:100/50/50 C1:100/100/100 +What happens when column.min_width > column.css_width +column.css_width wins over column.min_width. + + + + + +
    +
    +
    + +

    Table: 1px. +What happens to min_width when multiple cells specify css_width of the same column? +1st cell wins. + + + + + + +
    +
    200
    +
    150
    + + +

    Colspan distribution

    + +

    Table: 1px +Does column.min_width change with colspan distribution from later rows to first row? +No + + + + + + + + +
    +
    +
    +
    + + +

    Colspan header cells

    +
    +
      +
    1. Fixed/percentage colspan cells get distributed evenly.
    2. +
    3. Auto cells. Is the table even fixed?
    4. +
    + +

    Assi: 300px +To make CO distributable width 100, declare it as 100px+8px spacing - 12px padding. +To make C1 distributable width 200, declare it as 220px+8px spacing - 12px padding. +Fixed header cells with colspan get divided evenly. +

    +

    Legacy chrome does not substract border spacing before distribution

    + + + + + + + + + + + +
    108208
    1111
    + +

    Assignable: 400px, C0:40% C1:20% C2:40% +Percentage header cells with colspan. +Colspan cells do not distribute border_padding, they just distribute widths. +C0/1/2/3 will not have border-padding becaouse of colspan, C4 because border-box +TD0 splits +C0/1 get 20% max (40 + padding)/ 2 = 22px, +C2/3 10% and (20 + padding) / 2 = 12px max, +C4 40%, 12px percent border padding, and 52 max + +Assignable width is 440 - 48, everyone gets according to percent. +C0/C1 get 80, C2/C3 get 40, and C4 gets 160. +

    +

    Firefox seems to have a rounding error.

    + + + + + + + + + + + + + +
    AutoAutoAutoAutoAuto
    + +

    Assignable: 1px, C0 Auto/100 colspan=2 , C1 100/Auto +Auto header cells with colspan, table is min width +min_width does not get redistributed. +

    + + + + + + + + + + +
    +
    100
    100
    xxx
    + +

    Assignable: 200; C0: colspan:2 Auto C1:colspan 8 Auto +Auto colspan cells, and nothing else. Tricky because this means that internally +table has to represent 10 cells, and wide cells that span beyond table width +are usually truncated. +C0: 20*2+8=48, C1: 20*8 + 7*8=216

    + + + + + +
    + +

    Percentage only

    + +

    Assignable: 100px;columns add to 100%, auto width +Column percent adds to a 100, but because box-sizing is content box, +Column content size adds up to table width. +Column border size adds up to table width + padding (36px). +Columns get scaled down. +Scaling down is not defined by standard. FF and NG differ by a px (rounding?). +

    + + + + + + +
    50%30%20%
    + +

    Assignable: 100px;columns add to 50%, auto width +Columns grow proportional to percent. +Slight rounding differences between NG and FF. + + + + + + +
    25%15%10%
    + + +

    Assignable: 100px;columns add to 50%, with min width +Min width is ignored. + + + + + + +
    50
    50
    50
    + +

    Percentage/auto/fixed mix

    + +

    Assignable: 100px;C0:50% C1:100px +Clean split + + + + + +
    50%50px
    + +

    Assignable: 100px;C0:60% C1:60px +Overconstrained: widths add up to 132. +Fixed widths get distributed first, percentage takes the rest. + + + + + + +
    20%60%60px
    +

    + diff --git a/testing/web-platform/tests/css/css-tables/tentative/table-width-redistribution-fixed.html b/testing/web-platform/tests/css/css-tables/tentative/table-width-redistribution-fixed.html new file mode 100644 index 0000000000..4f7cf8ecb3 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/tentative/table-width-redistribution-fixed.html @@ -0,0 +1,374 @@ + +Fixed table final assignable distribution + + + + + + + +
    +

    Fixed tables: Compute column computed widths from assignable table width

    +
      +
    • auto columns have a min width of 0. Max width still gets computed.
    • +
    • percent columns have a min width of 0.
    • +
    • fixed column.min_width is css width. It never changes.
    • +
    • fixed column.max_width is max(cells.max_width, css width).
    • +
    • colspan header cells distribute +
        +
      • max_width evenly between columns.
      • +
      • do not distribute min width
      • +
      • percentage evenly between columns
      • +
      +
    • +
    + +

    Is table treated as fixed?

    +

    table width:auto is not treated as fixed.

    + + + + + +
    200
    min
    +

    table width:px is treated as fixed.

    + + + + + +
    200
    min
    +

    table width:min-content is treated as fixed.

    + + + + + +
    200
    min
    + +

    Fixed only

    + +

    Table: 50px; C0:100/50/100 C1:100/50/75 +When table.css_width is < columns.css_width, how is the conflict resolved? +columns.css_width wins

    + + + + + +
    +
    50
    50
    +
    50
    25
    + +

    Table: 300px; C0:100/100/200 C1:100/90/115 +When table.css_width is > columns.css_width , how is the conflict resolved? +table.css_width wins

    + + + + + +
    +
    100
    100
    +
    90
    25
    + +

    Table: 300px; C0:100/50/50 C1:100/100/100 +Fixed cells must grow, but their min widths differ. +Fixed cells grow in proportion to their css width. + + + + + +
    +
    50
    +
    100
    + +

    Table: 50px; C0:100/50/50 C1:100/100/100 +What happens when column.min_width > column.css_width +column.css_width wins over column.min_width. + + + + + +
    +
    +
    + +

    Table: 1px. +What happens to min_width when multiple cells specify css_width of the same column? +1st cell wins. + + + + + + +
    +
    200
    +
    150
    + +

    Auto only

    + +

    Width is distributed evenly +

    + + + + + + + + +
    + +

    Colspan distribution

    + +

    Table: 1px +Does column.min_width change with colspan distribution from later rows to first row? +No + + + + + + + + +
    +
    +
    +
    + +

    Table: 632px +Does column.percent change with colspan distribution? +No. + + + + + + + + + + +
    +
    +
    +
    auto
    + +

    Colspan header cells

    +
    +
      +
    1. Fixed/percentage colspan cells get distributed evenly.
    2. +
    3. Auto cells
    4. +
    + +

    Assignable: 400px +Fixed header cells with colspan. +Columns divded evenly

    +

    Legacy Chrome is slightly off, something about spacing and wide cells.

    + + + + + + + + + + + +
    108208
    1111
    + +

    Assignable: 400px, C0:40% C1:20% C2:40% +Percentage header cells with colspan +C0 splits into C0.0 and C0.1, 16px each with 20% +C1 splits into C1.0 and C1.1, 6px each with 10% +Assignable width is 400, everyone gets according to percent. +80/80/40/40/160.

    +

    Firefox is slightly off, with C2 taking 6px more. Unknown what math is used to get this answer.

    + + + + + + + + + + + + + +
    AutoAutoAutoAutoAuto
    + +

    Assignable: 1px, C0 Auto/100 colspan=2 , C1 100/Auto +Auto header cells with colspan, table is min width +min_width does not get redistributed. +

    + + + + + + + + + + +
    +
    100
    100
    xxx
    + +

    Assignable: 200; C0: colspan:2 Auto C1:colspan 8 Auto +Auto colspan cells, and nothing else. Tricky because this means that internally +table has to represent 8 cells, and wide cells that span beyond table width +are usually truncated. +C0: 20*2+8=48, C1: 20*8 + 7*8=216

    + + + + + +
    + +

    Percentage only

    + +

    Assignable: 100px;columns add to 100%, auto width +Columns are exact percentage size. + + + + + + +
    50%30%20%
    + +

    Assignable: 100px;columns add to 50%, auto width +Columns grow proportional to percent. + + + + + + +
    25%15%10%
    + + +

    Assignable: 100px;columns add to 50%, with min width +Min width is ignored. + + + + + + +
    50
    50
    50
    + +

    Assignable: 100px;columns add to 1000% +Columns are scaled so they add up to 100% + + + + + + +
    50
    50
    50
    + + + +

    Percentage/auto/fixed mix

    + +

    Assignable: 100px;C0:50% C1:100px C2: Auto +C0, C1 get assigned values, C2 fills the rest. + + + + + + +
    50%30px
    + +

    Assignable: 100px;C0:50% C1:50px +Clean split + + + + + +
    50%50px
    + +

    Assignable: 100px;C0:20% C1:60% C2:60px +Overconstrained: widths add up to 140. +Fixed widths get distributed first, percentage takes the rest. + + + + + + +
    20%60%60px
    + +

    Fixed 0-width columns

    +

    Fixed 0-width columns are an exception. They are treated as a mix of fixed and auto columns.

    +
  • If there are only zero-width columns, width is distibuted evenly.
  • +
  • If there are any fixed,percentage, or auto columns, 0-width columns do not grow.
  • +

    Assignable: 100px;C0:0-width, C1:0-width + All 0-width columns grow. +

    + + + + + +
    00
    +

    Assignable: 100px;C0:0-width, C1:auto + 0-width column does not grow. +

    + + + + + +
    00
    +

    Assignable: 100px;C0:0-width, C1:50px + 0-width column does not grow. +

    + + + + + +
    00
    +

    Assignable: 100px;C0:0-width, C1:50% + 0-width column does not grow. +

    + + + + + +
    00
    + +
    + diff --git a/testing/web-platform/tests/css/css-tables/tentative/table-width-redistribution.html b/testing/web-platform/tests/css/css-tables/tentative/table-width-redistribution.html new file mode 100644 index 0000000000..90a89e81a5 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/tentative/table-width-redistribution.html @@ -0,0 +1,351 @@ + +Auto table final assignable distribution + + + + + + + +
    +

    Compute column computed widths from assignable table width

    +

    Test design

    +

    All examples have border-spacing:8, td.padding:0

    + +

    Table css sizing

    + +

    Table: 50px; C0:100/50/100 C1:100/50/100 +When table.css_width is < columns.css_width, column.min_width is lower limit. +

    + + + + + +
    +
    50
    50
    +
    50
    25
    + + +

    Table: 300px; C0:100/100/200 C1:100/90/115 +When table.css_width is > columns.css_width , how is the conflict resolved? +table.css_width wins

    + + + + + +
    +
    100
    100
    +
    90
    25
    + +

    Content sizings: min|max|fit|fill-available

    + +

    table width:min-content; C0:Auto/50/100 C1:100/50/75 C2:20%/50/75 +

    +

    Edge treats as max-content.

    + + + + + + +
    +
    au
    to
    +
    fix
    ed
    +
    per
    cent
    + +

    table width:max-content; C0:Auto/50/100 C1:100/50/75 C2:20%/50/75 +Each column gets maximum width. +C0: 100 C1:100 C2: 75 +max-content does not allow for assignable size to be influenced by inverse percent. +Table size is 275 + 32 = 307 +If percent influenced table size, table size would have been 407 +

    + + + + + + +
    +
    50
    50
    +
    50
    25
    +
    50
    25
    + +

    table width:fit-content; C0:Auto/50/100 C1:100/50/75 C2:20%/50/75 +Percent column determines assignable table width, which gets distributed to all columns. +Assignable width from %: 20%=75, 100%=375

    +

    + + + + + + +
    +
    au
    to
    +
    fix
    ed
    +
    per
    cent
    + +

    table width:-webkit-fill-available; C0:Auto/50/100 C1:100/50/75 C2:20%/50/75 +

    +

    Edge treats as fit-content

    +
    + + + + + + +
    +
    au
    to
    +
    fix
    ed
    +
    per
    cent
    +
    + +

    Auto columns distribution

    + +

    Assi:300px C0: Auto/75/75 C1:Auto/25/25 +Non-empty auto cells get surplus width proportionally to their max width. +Guess3: 100. Guess4: 300, diff 200, fixed priority. +C0: 75 + 75/100*200 = 225 C1: 25 + 25/100*200 = 75

    + + + + + +
    75
    25
    +

    Assignable:300px C0: Auto/75/75 C1:Auto/13/25 C2:Auto/0/0 +Empty cells get nothing if there are non-empty auto cells. +Guess3: 100, Guess4: 300; diff 200, fixed priority. +C0: 75 + 75/100*200 = 225 C1: 25 + 25/100*200 = 75; C2: 0 +

    + + + + + + +
    +
    75
    +
    13
    12
    + +

    Guess 0: Auto(min), Fixed(min), Percentage(min) to Guess 1.

    + +

    Assi: 1px; C0:Auto/50/100 C1:100/50/100 C2:50%/50/100 +All columns get minimum width. +Guess0: 150 +C0: 50, C1:50, C2: 50

    + + + + + +
    +
    50
    50
    +
    50
    50
    +
    50
    50
    + +

    Assi: 160px; C0:Auto/50/100 C1:100/50/100 C2:50%/50/100 +%ge column grows. +Guess0: 150, Guess1: 180; diff 10. +C0: 50, C1:50, C2: 50 + 10 * 10/10 = 60

    + + + + + +
    +
    50
    50
    +
    50
    50
    +
    50
    50
    + +

    Assi: 210px; C0:Auto/50/100 C1:100/50/100 C2:30%/50/100 C3:30%/50/100 +2 %ge columns grow evenly. +Guess 0: 200, Guess 1: 240, diff 10 +C2: 50 + 10 * 70/140 C3: 50 + 10 * 70/140 + + + + + + +
    +
    50
    50
    +
    50
    50
    +
    50
    50
    +
    50
    50
    + +

    Assi: 220px; C0:Auto/50/100 C1:100/50/100 C2:25%/50/100 C3:40%50/100 +%ge columns grow in proportion to increase from previous guess. +Guess 0: 200. C2[G1] = .25*220 = 55 C3[G1] = .4 * 220 = 88 Guess 1: 100 + 55 + 88 = 243 +diff = 220 - 200 = 20. C2 grew 5, C3 grew 38, total grew 43. +C2: 50 + 20 *5/43 = 52.32; C3: 50 + 20 * 38 / 43 = 67.67 + + + + + + +
    +
    50
    50
    +
    50
    50
    +
    50
    50
    +
    50
    50
    + +

    Guess 1 to Guess 2: Auto(min), Percentage(%max) to Fixed(min => max)

    +

    These tests are non-intuitive to evaluate. When table size increases betwee Guess 1 and 2, + although the standard says that fixed columns are growing, %ge columns grow too because their max width depends on table width.

    + +

    Assi:166, C0:Auto/50/100 C1:100/50/100 C2:40%/50/100 +Edge example, Guess 1 %ge cell has grown to the max. +C2: grows to .4*165 = 66.4, table is 166.4+32 = 198.4

    + + + + + + +
    +
    50
    50
    +
    50
    50
    +
    50
    50
    + +

    Assi:216, C0:Auto/50/100 C1:100/50/100 C2:40%/50 + %ge cell grows to the max, the rest goes to fixed. +Guess 1 size is 50 + 50 + (.4*216=>86.4) = 186.4 +Guess 2 size is 50 + 100 + 86.4 = 236 +Assi - Guess1 = 29.6; C2 = 50 + 29.6 * 50/50 = 79.6 +

    + + + + + + +
    +
    50
    50
    +
    50
    50
    +
    50
    50
    + +

    Guess 2 to Guess 3: Percentage(%max), Fixed(max), Auto(min=>max)

    + +

    Assi:300 +Guess 2 size is 50 + 100 + .4*300 = 270 +Guess 3 size is 100 + 100 + 120 = 320 +Assi - Guess2 = 30, C0 = 50 + 30 = 80 + + + + + + +
    +
    50
    50
    +
    50
    50
    +
    50
    50
    + +

    Guess3 to Guess4, Auto(max), Percentage(%max), Fixed(max) grow first available Auto|Fixed|Percent

    + +

    Assi: 500, C0:Auto, C1: Fixed, C2: Percent +Guess 3 is 100 + 100 + .4 * 500 = 400 +C0 gets the 100 + + + + + + +
    +
    50
    50
    +
    50
    50
    +
    50
    50
    + +

    Assi: 500, C0:Fixed, C1: Fixed, C2: Percent +Guess 3 is 100 + 100 + .4 * 500 = 400, 100 to be redistributed +Fixed cells, C0 and C1 get 50 each. + + + + + + +
    +
    50
    50
    +
    50
    50
    +
    50
    50
    + +

    Assi: 700, C0:10%/40, C1: 20%/50, C2: 40%/50 +Percentage cells only. +Compute columns as %ge of total width: +C0: 700*10/70, C1: 700*20/70 C2: 700*40/70 + + + + + + +
    +
    40
    +
    50
    +
    50
    +

    Assi: 600, C0:10%/40, C1: 20%/50, C2: 40%/50, C3: 100%/50 +Percentage cells only. Over 100% columns get their percentage truncated. + + + + + + + +
    +
    40
    +
    50
    +
    50
    +
    50
    +

    C0:20%/60, C1:Auto/50. +Tests table max width from single cell. + + + + + +
    60
    50
    + +

    C0:10%/70, C1:Auto/50. +Table limited to 1px. Tests that single cell specifies max width, not min width. + + + + + +
    60
    50
    + +

    C0:10%/70 border 10px, C1:Auto/50. +Cell border padding do not affect max width. + + + + + +
    60
    50
    +

    + + + diff --git a/testing/web-platform/tests/css/css-tables/tentative/tbody-height-redistribution.html b/testing/web-platform/tests/css/css-tables/tentative/tbody-height-redistribution.html new file mode 100644 index 0000000000..bfd47fa651 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/tentative/tbody-height-redistribution.html @@ -0,0 +1,144 @@ + +TBODY redistribution + + + + + + + +
    +

    TBODY/THEAD/TFOOT height redistribution.

    +
  • FF passes most of the tests. +
  • Legacy Chrome does not distribute TBODY height to rows. +
  • At the time this test was written, there was no spec. Currently, spec is in the process of being written. + +

    1) Empty row group's size is 0 with collapsed borders

    + + + + +
    +

    2) Empty row group's size is 0 with separate borders.

    + + + + +
    +

    3) Row group height is redistributed to unconstrained rows in proportion to their size.

    + + + + + + + + + +
    0,0
    0,0
    +

    4) Constrained fixed rows do not grow if there are unconstrained rows

    + + + + + + + + + +
    0,1
    +

    5) Constrained percentage are resolved against row group height.

    + + + + + + + + + + + + +
    0,0
    0,0
    0,2
    +

    6) Row group height is treated as min-height.

    + + + + + + +
    0,0
    +

    7) Constrained/unconstrained mix: row group height is distributed to unconstrained cells.

    + + + + + + + +
    0,0
    0,1
    0,2
    0,3
    +

    8) Unconstrained empty rows grow to fill table if all other rows are constrained. Not in FF.

    + + + + + + +
    0,0
    0,1
    +
    + + + + + + +
    0,1
    0,2
    +

    9) Empty section height is not ignored

    + + + +
    +

    10) Section with empty rows is not considered empty.

    +

    In FF, empty section height is 100, but table's height is 0?

    + + + + + + +
    +

    11) Mixed constrained and unconstrained empty rows: only unconstrained rows grow.

    + + + + + + +
    +
  • + diff --git a/testing/web-platform/tests/css/css-tables/tentative/td-box-sizing-001.html b/testing/web-platform/tests/css/css-tables/tentative/td-box-sizing-001.html new file mode 100644 index 0000000000..b54eb39f58 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/tentative/td-box-sizing-001.html @@ -0,0 +1,197 @@ + +TD box sizing + + + + + + + +
    +

    TD and box sizing

    + +

    TD defaults to box-sizing: content-box. How does box-sizing affect final TD size?

    +
      +
    1. Auto table layout
    2. +
        +
      1. Percent cells ignore box-sizing, it is always border-box.
      2. +
      3. Fixed cells respect box-sizing.
      4. +
      +
    3. Fixed table layout
    4. +
        +
      1. Percent cells respect box sizing when computing cell width from assignable width.
      2. +
      3. Percent cells ignore box sizing when computing grid max from cell width.
      4. +
      +
    +

    Table-layout: auto

    +

    TD width:%

    +

    content-box, C0:50%/100 C1:Auto +Percent gets resolved to compute grid max size. +C0 max_width is max_width + 2 padding = 100 + 2*20 = 140 +Table width is 1/50%*140 + 3*padding = 280+30 = 310 + + + + + +
    +
    50%/100
    Auto
    +

    border-box, C0:50%/100 C1:Auto +Same test as above, but box-sizing is border-box. + + + + + +
    +
    50%/100
    Auto
    +

    content-box, C0:80%/100 C1:Auto +Percent gets resolved to compute final cell size from assignable width. +C0 border box width is 500 * 80% + + + + + +
    +
    80%/100
    Auto
    + +

    border-box, C0:80%/100 C1:Auto +Same as above, but border-box + + + + + +
    +
    80%/100
    Auto
    + + +

    TD width:fixed

    + +

    content-box, C0:100/Auto C1:100/Auto +Tests whether box-sizing affects how percentages are computed. +C0 max_width is max_width + 2 padding = 100 + 2*20 = 140 +Table width is 1/50%*140 + 3*padding = 280+30 = 310 + + + + + +
    100100
    + +

    border-box, C0:100/Auto C1:100/Auto +Same test as above, but box-sizing is border-box. + + + + + +
    100100
    + +

    TD height: fixed

    + +

    content-box, C0 height:100px + + + + +
    100 height
    + +

    border-box, C0 height:100px + + + + +
    100 height
    + +

    Table-layout: fixed

    + +

    TD width:%

    + +

    content-box, C0:50%/100 C1:Auto +Percent gets resolved to compute grid max size. +C0 max_width is max_width + 2 padding = 100 + 2*20 = 140 +Table width is 1/50%*140 + 3*padding = 280+30 = 310 + + + + + +
    +
    50%/100
    Auto
    + +

    border-box, C0:50%/100 C1:Auto +Same test as above, but box-sizing is border-box. + + + + + +
    +
    50%/100
    Auto
    + +

    content-box, C0:60%/100 C1:Auto +Percent gets resolved to compute final cell size from assignable width. +Assignable width is 530 - 3*10 = 500 +C0 content box width is 500 * 60% + 40px padding = 340 +C1 is 500 - 340 = 160 +

    Legacy/Edge treat %ge TD as border box, and end up with 300px

    + + + + + +
    +
    60%/100
    Auto
    + +

    border-box, C0:60%/100 C1:Auto +Same as above, but border-box + + + + + +
    +
    80%/100
    Auto
    + + +

    TD width:fixed

    +

    content-box, C0:100/Auto C1:100/Auto +Tests whether box-sizing affects how percentages are computed. +C0 max_width is max_width + 2 padding = 100 + 2*20 = 140 +Table width is 1/50%*140 + 3*padding = 280+30 = 310 + + + + + +
    100100
    +

    border-box, C0:100/Auto C1:100/Auto +Same test as above, but box-sizing is border-box. + + + + + +
    100100
    +

    + diff --git a/testing/web-platform/tests/css/css-tables/tentative/td-box-sizing-002.html b/testing/web-platform/tests/css/css-tables/tentative/td-box-sizing-002.html new file mode 100644 index 0000000000..5823fc64c6 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/tentative/td-box-sizing-002.html @@ -0,0 +1,123 @@ + + + + + + + +
    +

    box-sizing: default; border-collapse: separate

    + + + + +
    +

    box-sizing: border-box; border-collapse: separate

    + + + + +
    +

    box-sizing: content-box; border-collapse: separate

    + + + + +
    +

    box-sizing: default; border-collapse: collapse

    + + + + +
    +

    box-sizing: border-box; border-collapse: collapse

    + + + + +
    +

    box-sizing: content-box; border-collapse: collapse

    + + + + +
    +

    div with display:table; box-sizing: default; border-collapse: separate

    +
    +
    +
    +

    div with display:table; box-sizing: border-box; border-collapse: separate

    +
    +
    +
    +

    div with display:table;box-sizing: content-box; border-collapse: separate

    +
    +
    +
    + +

    Same tests, but tables are inline.

    +
    + + + + +
    box-sizing: border-box; border-collapse: separate + +
    + + + + +
    box-sizing: content-box; border-collapse: separate
    +
    + + + + +
    box-sizing: border-box; border-collapse: collapse
    +
    + + + + +
    box-sizing: content-box; border-collapse: collapse
    +
    +
    +
    +
    +div with display:inline-table; box-sizing: border-box; +
    +
    +
    +
    +
    +div with display:inline-table;box-sizing: content-box
    +
    + diff --git a/testing/web-platform/tests/css/css-tables/tentative/td-box-sizing-003.html b/testing/web-platform/tests/css/css-tables/tentative/td-box-sizing-003.html new file mode 100644 index 0000000000..40b01471fd --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/tentative/td-box-sizing-003.html @@ -0,0 +1,148 @@ + +TD box sizing + + + + + + + + +
    +

    Tests of intrinsic cell sizing wrt border/padding, and box-sizing.

    +

    box-sizing: content-box; border px; padding px. + + + + + + +
    +
    0,0
    +
    + + + + + + +
    +
    0,0
    +
    + + + + + + +
    +
    0,0
    +
    +

    box-sizing: border-box, border px, padding px. + + + + + + +
    +
    0,0
    +
    + + + + + + +
    +
    0,0
    +
    + + + + + + +
    +
    0,0
    +
    + +

    box-sizing: border-box;padding: px, width px

    +
  • td's intrinsic width must be >= border + padding
  • + + + + + + + + + +
    autoauto
    + +

    box-sizing: border-box; border px; padding %.

    +
  • intrinsic size of % padding is 0. +
  • final size of % padding is computed against table's width. + + + + + + + +
    +
    0,0
    +
    +
    0,0
    +
    + + + + + + + + +
    300px caption
    +
    0,0
    +
    +
    0,0
    +
    + +

    Block percentage resolution of TD children + row fixed height during intrinsic pass

    +
  • Chrome Legacy/Edge/Safari do not use row fixed height for percetage block size resolution.
  • +
  • FF uses row height as %ge resolution size.
  • +
  • Proposal: file an issue on what is the right thing to do.
  • + + + + +
    + y
    +
    + + + + +
    + y
    +
    + + +
    + diff --git a/testing/web-platform/tests/css/css-tables/tfoot-crash-print.html b/testing/web-platform/tests/css/css-tables/tfoot-crash-print.html new file mode 100644 index 0000000000..00fa0070c5 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/tfoot-crash-print.html @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + +
    + +
    diff --git a/testing/web-platform/tests/css/css-tables/th-text-align-ref.html b/testing/web-platform/tests/css/css-tables/th-text-align-ref.html new file mode 100644 index 0000000000..ef6e09ff1a --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/th-text-align-ref.html @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + +
    A
    A
    + + + + + + + +
    A
    A
    + + + + + + + +
    A
    A
    + + diff --git a/testing/web-platform/tests/css/css-tables/th-text-align.html b/testing/web-platform/tests/css/css-tables/th-text-align.html new file mode 100644 index 0000000000..4b1d312b40 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/th-text-align.html @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + +
    A
    A
    + + + + + + + +
    A
    A
    + + + + + + + +
    A
    A
    + + diff --git a/testing/web-platform/tests/css/css-tables/toggle-row-display-property-001-ref.html b/testing/web-platform/tests/css/css-tables/toggle-row-display-property-001-ref.html new file mode 100644 index 0000000000..a99f69eb44 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/toggle-row-display-property-001-ref.html @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + +
    This cell must span all columns for repro in chrome
    A
    123
    123
    diff --git a/testing/web-platform/tests/css/css-tables/toggle-row-display-property-001.html b/testing/web-platform/tests/css/css-tables/toggle-row-display-property-001.html new file mode 100644 index 0000000000..8755cd068f --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/toggle-row-display-property-001.html @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + +
    This cell must span all columns for repro in chrome
    A
    123
    123
    + + diff --git a/testing/web-platform/tests/css/css-tables/tools/markup-generator.html b/testing/web-platform/tests/css/css-tables/tools/markup-generator.html new file mode 100644 index 0000000000..3b37e6c5fe --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/tools/markup-generator.html @@ -0,0 +1,200 @@ + + + +
    diff --git a/testing/web-platform/tests/css/css-tables/visibility-collapse-border-spacing.html b/testing/web-platform/tests/css/css-tables/visibility-collapse-border-spacing.html new file mode 100644 index 0000000000..738cea16d5 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/visibility-collapse-border-spacing.html @@ -0,0 +1,14 @@ + + + +

    Test passes if there is a filled green square and no red.

    + + + + + + + + + +
    diff --git a/testing/web-platform/tests/css/css-tables/visibility-collapse-col-001.html b/testing/web-platform/tests/css/css-tables/visibility-collapse-col-001.html new file mode 100644 index 0000000000..15368aceec --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/visibility-collapse-col-001.html @@ -0,0 +1,101 @@ + + + + + + + + +
    +

    Visibility collapse

    + Spec +

    + Setting a column to visibility:collapse changes table width but not height. +

    + + + + + row 1 + + + + + + + + row 2 + + + + + + + + row 3 + + + + + + + + Bottom table is identical to top except left column has been collapsed. + + + + + + row 1 + + + + + + + + row 2 + + + + + + + + row 3 + + + + + + + +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/visibility-collapse-col-002.html b/testing/web-platform/tests/css/css-tables/visibility-collapse-col-002.html new file mode 100644 index 0000000000..32c2efebb4 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/visibility-collapse-col-002.html @@ -0,0 +1,110 @@ + + + + + + + + +
    +

    Visibility collapse

    + Spec +

    + Setting a column to visibility:collapse changes table width but not height. +

    + + + + + row 1 + + + + + + + + row 2 + + + + + + + + row 3 + + + + + + + + Second table is identical to first except both column groups have been collapsed. + 5px borders are still visible. + + + + + + + row 1 + + + + + + + + row 2 + + + + + + + + row 3 + + + + + + + + +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/visibility-collapse-col-003.html b/testing/web-platform/tests/css/css-tables/visibility-collapse-col-003.html new file mode 100644 index 0000000000..bf18adeac2 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/visibility-collapse-col-003.html @@ -0,0 +1,114 @@ + + + + + + + + +
    +

    Visibility collapse

    + Spec +

    + Setting a column to visibility:collapse changes table width but not height. +

    + + + + + row 1 + + + + + + + + row 2 + + + + + + + + row 3 + + + + + + + + + Second table is identical to first except right column has been collapsed. + Visibility:collapse is applied on col, not colgroup. + + + + + + + + + + + row 1 + + + + + + + + row 2 + + + + + + + + row 3 + + + + + + + +
    + + + \ No newline at end of file diff --git a/testing/web-platform/tests/css/css-tables/visibility-collapse-col-004-dynamic.html b/testing/web-platform/tests/css/css-tables/visibility-collapse-col-004-dynamic.html new file mode 100644 index 0000000000..cb868bac41 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/visibility-collapse-col-004-dynamic.html @@ -0,0 +1,81 @@ + + + + + + + +
    +

    Dynamic Visibility collapse

    + Spec +

    + Setting a column to visibility:collapse changes table width but not height. + Bottom table is identical to top except left column has been collapsed. +

    + + + + + + + + + + + + + + + + +
    + row 1 + + +
    + row 2 + + +
    + row 3 + + +
    +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/visibility-collapse-col-005.html b/testing/web-platform/tests/css/css-tables/visibility-collapse-col-005.html new file mode 100644 index 0000000000..b674cddf65 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/visibility-collapse-col-005.html @@ -0,0 +1,55 @@ + + + + + + + +

    Visibility collapse

    +Spec +

    +Setting a spanning column to visibility:collapse changes table width but +not height. The right two columns here have been collapsed. +

    + ++ + + + + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/testing/web-platform/tests/css/css-tables/visibility-collapse-colspan-001.html b/testing/web-platform/tests/css/css-tables/visibility-collapse-colspan-001.html new file mode 100644 index 0000000000..0b59f20fb8 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/visibility-collapse-colspan-001.html @@ -0,0 +1,62 @@ + + + + + + + +

    Visibility collapse

    +Spec +

    +Setting a spanning column to visibility:collapse changes table width but +not height. The middle column has been collapsed. +

    + + + + + + + + + + + + + + + + + + + + + + +
    + + + \ No newline at end of file diff --git a/testing/web-platform/tests/css/css-tables/visibility-collapse-colspan-002.html b/testing/web-platform/tests/css/css-tables/visibility-collapse-colspan-002.html new file mode 100644 index 0000000000..0203749c53 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/visibility-collapse-colspan-002.html @@ -0,0 +1,62 @@ + + + + + + + +

    Visibility collapse

    +Spec +

    +Setting a spanning column to visibility:collapse changes table width but +not height. The first column has been collapsed and column width is the widest cell +in the column. +

    + + + + + + + + + + + + + + + + + + + + + + +
    + + \ No newline at end of file diff --git a/testing/web-platform/tests/css/css-tables/visibility-collapse-colspan-003-ref.html b/testing/web-platform/tests/css/css-tables/visibility-collapse-colspan-003-ref.html new file mode 100644 index 0000000000..4617a3a2ed --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/visibility-collapse-colspan-003-ref.html @@ -0,0 +1,38 @@ + + +CSS Test Reference: Overflow clipping in cells that span columns + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Row 1Row 1 wordwordRow 1 wordwordword
    Row 2Row 2 wordwordwordRow 2 wordword
    Row 3Row 3 wordRow 3 wordwordwordword
    superlongwordsuperlongwordsuper
    + diff --git a/testing/web-platform/tests/css/css-tables/visibility-collapse-colspan-003.html b/testing/web-platform/tests/css/css-tables/visibility-collapse-colspan-003.html new file mode 100644 index 0000000000..37092818f6 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/visibility-collapse-colspan-003.html @@ -0,0 +1,38 @@ + + +CSS Test: Overflow clipping in cells that span columns + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Row 1Row 1 wordwordRow 1 wordwordword
    Row 2Row 2 wordwordwordRow 2 wordword
    Row 3Row 3 wordRow 3 wordwordwordword
    superlongwordsuperlongwordsuper     shouldbeclipped
    diff --git a/testing/web-platform/tests/css/css-tables/visibility-collapse-colspan-crash.html b/testing/web-platform/tests/css/css-tables/visibility-collapse-colspan-crash.html new file mode 100644 index 0000000000..591fbd9a99 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/visibility-collapse-colspan-crash.html @@ -0,0 +1,43 @@ + + + + + +

    Visibility collapse

    +Spec +

    +When a row is collapsed, a cell spanning the row may get clipped. When the row is then uncollapsed, +the browser should not crash because the cell's children should be correctly updated and laid out. +

    + + + + + + + + + + + + + + + + + + + + + + +
    Row 1Row 1 wordwordRow 1 wordwordword
    Row 2Row 2 wordwordwordRow 2 wordword
    Row 3Row 3 wordRow 3 wordwordwordword
    superlongwordsuperlongwordsuper     shouldbeclipped
    + + \ No newline at end of file diff --git a/testing/web-platform/tests/css/css-tables/visibility-collapse-non-rowcol-001.html b/testing/web-platform/tests/css/css-tables/visibility-collapse-non-rowcol-001.html new file mode 100644 index 0000000000..9765a37f8b --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/visibility-collapse-non-rowcol-001.html @@ -0,0 +1,110 @@ + + + + + + + + + + +
    +

    Visibility collapse

    + Spec +

    + When setting any element that is not a row, col, row group, or col group, + visibility:collapse is equivalent to visibility:hidden. +

    + + + + row 1 + + + + + + + + row 2 + + + + + + + Bottom table is identical to top except top cells have been collapsed. + + + + row 1 + + + + + + + + row 2 + + + + + + +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/visibility-collapse-row-001.html b/testing/web-platform/tests/css/css-tables/visibility-collapse-row-001.html new file mode 100644 index 0000000000..51c87b6c62 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/visibility-collapse-row-001.html @@ -0,0 +1,80 @@ + + + + + + + + +
    +

    Visibility collapse

    + Spec +

    + Setting a row to visibility:collapse changes table height but not width. +

    + + + + row 1 + + + + + + + + row 2 + + + + + + + Bottom table is identical to top except row 1 has been collapsed. + + + + row 1 + + + + + + + + row 2 + + + + + + +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/visibility-collapse-row-002-dynamic.html b/testing/web-platform/tests/css/css-tables/visibility-collapse-row-002-dynamic.html new file mode 100644 index 0000000000..7bcf413023 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/visibility-collapse-row-002-dynamic.html @@ -0,0 +1,89 @@ + + + + + + + + +
    +

    Visibility collapse

    + Spec +

    + Setting a row to visibility:collapse changes table height but not width. +

    + + + + row 1 + + + + + + + + row 2 + + + + + + + Bottom table is identical to top except row 2 has been collapsed. + + + + row 1 + + + + + + + + row 2 + + + + + + +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/visibility-collapse-row-003-dynamic.html b/testing/web-platform/tests/css/css-tables/visibility-collapse-row-003-dynamic.html new file mode 100644 index 0000000000..1488a4da7f --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/visibility-collapse-row-003-dynamic.html @@ -0,0 +1,89 @@ + + + + + + + + +
    +

    Visibility collapse

    + Spec +

    + Setting a row to visibility:collapse changes table height but not width. +

    + + + + + + + + + + + + row 2 + + + + + + + Bottom table is identical to top except row 1 has been collapsed. + + + + + + + + + + + + row 2 + + + + + + +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/visibility-collapse-row-004.html b/testing/web-platform/tests/css/css-tables/visibility-collapse-row-004.html new file mode 100644 index 0000000000..994cc89281 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/visibility-collapse-row-004.html @@ -0,0 +1,33 @@ + + + + + + + +
    +

    Visibility collapse changes table height even when its height is fixed

    + + + + + + + + + + + +
    a
    hello
    b
    +
    + + diff --git a/testing/web-platform/tests/css/css-tables/visibility-collapse-row-005.html b/testing/web-platform/tests/css/css-tables/visibility-collapse-row-005.html new file mode 100644 index 0000000000..a0b4ee8f9b --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/visibility-collapse-row-005.html @@ -0,0 +1,69 @@ + + + + + + + +
    +

    Visibility collapse and overflow

    +

    Collapsed row should not contribute to overflow

    +
    + + + + + + + + + + + + + + + +
    +
    +

    Collapsed section should not contribute to overflow

    +
    + + + + + + + + + + + + + + + + + +
    +
    +
    + + diff --git a/testing/web-platform/tests/css/css-tables/visibility-collapse-row-group-001.html b/testing/web-platform/tests/css/css-tables/visibility-collapse-row-group-001.html new file mode 100644 index 0000000000..ea76e902b5 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/visibility-collapse-row-group-001.html @@ -0,0 +1,124 @@ + + + + + + + + + +
    +

    Visibility collapse

    + Spec +

    + Collapsing a row group but making its rows visible should still result in a + collapsed row group. +

    + + + + + row 1 + + + + + + + + row 2 + + + + + + + + + row 3 + + + + + + + When row group is collapsed, visible rows within the row group are still collapsed and therefore invisible. + + + + + row 1 + + + + + + + + row 2 + + + + + + + + + row 3 + + + + + + +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/visibility-collapse-row-group-002.html b/testing/web-platform/tests/css/css-tables/visibility-collapse-row-group-002.html new file mode 100644 index 0000000000..1aa7a68048 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/visibility-collapse-row-group-002.html @@ -0,0 +1,107 @@ + + + + + + + + +
    +

    Visibility collapse

    + Spec +

    + Setting row group to visibility:collapse changes table height but not width. +

    + + + + + row 1 + + + + + + + + row 2 + + + + + + + + + row 3 + + + + + + + Bottom table is identical to top except row group of first two rows has been collapsed. + + + + + row 1 + + + + + + + + row 2 + + + + + + + + + row 3 + + + + + + +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/visibility-collapse-rowcol-001.html b/testing/web-platform/tests/css/css-tables/visibility-collapse-rowcol-001.html new file mode 100644 index 0000000000..912ab0d8b0 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/visibility-collapse-rowcol-001.html @@ -0,0 +1,71 @@ + + + + + + + + +

    Visibility collapse

    +Spec +

    +Setting row and column to visibility:collapse changes both height and width. The +collapsed result should have whitespace in the bottom right corner. +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/css/css-tables/visibility-collapse-rowcol-002.html b/testing/web-platform/tests/css/css-tables/visibility-collapse-rowcol-002.html new file mode 100644 index 0000000000..6876a40712 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/visibility-collapse-rowcol-002.html @@ -0,0 +1,57 @@ + + + + + + + + +

    Visibility collapse

    +Spec +

    +Setting row and spanning column to visibility:collapse changes height and width. +

    + + + + + + + + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/css/css-tables/visibility-collapse-rowspan-001.html b/testing/web-platform/tests/css/css-tables/visibility-collapse-rowspan-001.html new file mode 100644 index 0000000000..72ceb3a34b --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/visibility-collapse-rowspan-001.html @@ -0,0 +1,69 @@ + + + + + + + +
    +

    Visibility collapse

    + Spec +

    + Setting a rowspan to visibility:collapse doesn't change height or width in this case. +

    + + + + + + + + + + + + + + + +
    MonthSavingsSavings for holiday!
    January$100$50
    February$80
    + Collapsing a spanning row does not change table height in this case. + + + + + + + + + + + + + + + +
    MonthSavingsSavings for holiday!
    January$100$50
    February$80
    +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/visibility-collapse-rowspan-002-border-separate.html b/testing/web-platform/tests/css/css-tables/visibility-collapse-rowspan-002-border-separate.html new file mode 100644 index 0000000000..d6e7469d70 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/visibility-collapse-rowspan-002-border-separate.html @@ -0,0 +1,107 @@ + + + + + + + + +
    +

    Visibility collapse

    + Spec +

    + Setting a row to visibility:collapse changes table height but not width. + Here, the spanning cell is the only cell in its row. +

    + + + + + + + + + + + + + + + + +
    B
    B
    B
    B
    B
    aaaa
    bbbb
    cccc
    dddd
    + Bottom table is identical to top except second row has been collapsed. + The spanning cell's height shrinks and is clipped. + + + + + + + + + + + + + + + + +
    B
    B
    B
    B
    B
    aaaa
    bbbb
    cccc
    dddd
    + + This text should not intersect with the table. + +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/visibility-collapse-rowspan-002.html b/testing/web-platform/tests/css/css-tables/visibility-collapse-rowspan-002.html new file mode 100644 index 0000000000..c88831a4ee --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/visibility-collapse-rowspan-002.html @@ -0,0 +1,107 @@ + + + + + + + + +
    +

    Visibility collapse

    + Spec +

    + Setting a row to visibility:collapse changes table height but not width. + Here, the spanning cell is the only cell in its row. +

    + + + + + + + + + + + + + + + + +
    B
    B
    B
    B
    B
    aaaa
    bbbb
    cccc
    dddd
    + Bottom table is identical to top except second row has been collapsed. + The spanning cell's height shrinks and is clipped. + + + + + + + + + + + + + + + + +
    B
    B
    B
    B
    B
    aaaa
    bbbb
    cccc
    dddd
    + + This text should not intersect with the table. + +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/visibility-collapse-rowspan-003-border-separate.html b/testing/web-platform/tests/css/css-tables/visibility-collapse-rowspan-003-border-separate.html new file mode 100644 index 0000000000..343da68516 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/visibility-collapse-rowspan-003-border-separate.html @@ -0,0 +1,104 @@ + + + + + + + + +
    +

    Visibility collapse

    + Spec +

    + Setting a row to visibility:collapse changes table height but not width. + Here the spanning cell and another cell are in the same row. +

    + + + + + + + + + + + + + + + + + +
    aaaa
    bbbb
    spanningcccc
    dddd
    eeee
    + Bottom table is identical to top except third row has been collapsed. + + + + + + + + + + + + + + + + + +
    aaaa
    bbbb
    spanningcccc
    dddd
    eeee
    +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/visibility-collapse-rowspan-003.html b/testing/web-platform/tests/css/css-tables/visibility-collapse-rowspan-003.html new file mode 100644 index 0000000000..2de164f2fd --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/visibility-collapse-rowspan-003.html @@ -0,0 +1,104 @@ + + + + + + + + +
    +

    Visibility collapse

    + Spec +

    + Setting a row to visibility:collapse changes table height but not width. + Here the spanning cell and another cell are in the same row. +

    + + + + + + + + + + + + + + + + + +
    aaaa
    bbbb
    spanningcccc
    dddd
    eeee
    + Bottom table is identical to top except third row has been collapsed. + + + + + + + + + + + + + + + + + +
    aaaa
    bbbb
    spanningcccc
    dddd
    eeee
    +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/visibility-collapse-rowspan-004-dynamic.html b/testing/web-platform/tests/css/css-tables/visibility-collapse-rowspan-004-dynamic.html new file mode 100644 index 0000000000..e6f65c450f --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/visibility-collapse-rowspan-004-dynamic.html @@ -0,0 +1,176 @@ + + + + + + + + +
    +

    Visibility collapse

    + Spec +

    + Setting a row to visibility:collapse changes table height but not width. +

    + + + + + + + + + + + + + + + + + +
    B
    B
    B
    B
    B
    first row
    aaaa
    bbbb
    cccc
    dddd
    + In the bottom table, a row is dynamically collapsed, made visible, and collapsed again. + + + + + + + + + + + + + + + + + +
    B
    B
    B
    B
    B
    first row
    aaaa
    bbbb
    cccc
    dddd
    +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/visibility-collapse-rowspan-005-ref.html b/testing/web-platform/tests/css/css-tables/visibility-collapse-rowspan-005-ref.html new file mode 100644 index 0000000000..27eceb19b5 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/visibility-collapse-rowspan-005-ref.html @@ -0,0 +1,34 @@ + + +CSS Test Reference: Overflow clipping in cells that span rows + + + + +

    Visibility collapse

    +Spec + + + + + + + + + + + + + + + +
    Row 1 LeftRow 1 Center

    Supersuperlongword

    row with lots and lots of text

    Row 2 LeftRow 2 Center
    Row 3 LeftRow 3 CenterRow 3 Right
    diff --git a/testing/web-platform/tests/css/css-tables/visibility-collapse-rowspan-005.html b/testing/web-platform/tests/css/css-tables/visibility-collapse-rowspan-005.html new file mode 100644 index 0000000000..a10c56dda7 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/visibility-collapse-rowspan-005.html @@ -0,0 +1,35 @@ + + +CSS Test: Overflow clipping in cells that span rows + + + + + +

    Visibility collapse

    +Spec + + + + + + + + + + + + + + + +
    Row 1 LeftRow 1 Center

    Supersuperlongword

    row with lots and lots of text

    Row 2 LeftRow 2 Center
    Row 3 LeftRow 3 CenterRow 3 Right
    diff --git a/testing/web-platform/tests/css/css-tables/visibility-collapse-rowspan-crash.html b/testing/web-platform/tests/css/css-tables/visibility-collapse-rowspan-crash.html new file mode 100644 index 0000000000..977c3a026e --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/visibility-collapse-rowspan-crash.html @@ -0,0 +1,31 @@ + + + + + +

    Visibility collapse

    +Spec +

    +When a row is collapsed, a cell spanning the row may get clipped. When the row is then uncollapsed, +the browser should not crash because the cell's children should be correctly updated and laid out. +

    + + + + + + + + +
    +
    + Overflow Overflow Overflow
    +
    + + \ No newline at end of file diff --git a/testing/web-platform/tests/css/css-tables/visibility-hidden-col-001.html b/testing/web-platform/tests/css/css-tables/visibility-hidden-col-001.html new file mode 100644 index 0000000000..914af3683e --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/visibility-hidden-col-001.html @@ -0,0 +1,107 @@ + + + + + + + + +
    +

    Visibility hidden

    + Spec +

    + Setting a column of cells to visibility:hidden. +

    + + + + + row 1 + + + + + + + + row 2 + + + + + + + + row 3 + + + + + + + + Bottom table is identical to top except right column's cells are hidden. + + + + + row 1 + + + + + + + + row 2 + + + + + + + + row 3 + + + + + + + +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/visibility-hidden-collapsed-borders.html b/testing/web-platform/tests/css/css-tables/visibility-hidden-collapsed-borders.html new file mode 100644 index 0000000000..c4aab2b61a --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/visibility-hidden-collapsed-borders.html @@ -0,0 +1,10 @@ + + + + +

    Test passes if there is a filled green square and no red.

    +
    + + +
    +
    diff --git a/testing/web-platform/tests/css/css-tables/visibility-hidden-nested-001.html b/testing/web-platform/tests/css/css-tables/visibility-hidden-nested-001.html new file mode 100644 index 0000000000..a2a80fdc46 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/visibility-hidden-nested-001.html @@ -0,0 +1,140 @@ + + + + + + + + + +
    +

    Visibility hidden

    + Spec +

    + Setting a table to visibility:hidden, but rows and cells to different visibility values. +

    + + + + + row 1 + + + + + + + + row 2 + + + + + + + + row 3 + + + + + + + + Bottom table is identical to top, except entire table is hidden, the second row + is visible with a nested hidden cell, and the third row is visible with a nested + hidden span. + +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/visibility-hidden-nested-002.html b/testing/web-platform/tests/css/css-tables/visibility-hidden-nested-002.html new file mode 100644 index 0000000000..74da25b8b2 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/visibility-hidden-nested-002.html @@ -0,0 +1,106 @@ + + + + + + + + + +
    +

    Visibility hidden

    + Spec +

    + Setting a table to visibility:hidden, but rows and cells to different nested visibility values. + Height and width of table should not change. +

    + + + + + row 1 + + + + + + + + row 1 + + + + + + + + Bottom table is identical to top except entire row group of two rows is hidden, and + first row is visible with two hidden cells and a visible span in the left cell. + + + + + + + + + row 1 + + + + + + + + +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/visibility-hidden-row-001.html b/testing/web-platform/tests/css/css-tables/visibility-hidden-row-001.html new file mode 100644 index 0000000000..ed2e200cb7 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/visibility-hidden-row-001.html @@ -0,0 +1,92 @@ + + + + + + + + +
    +

    Visibility hidden

    + Spec +

    + Setting a row to visibility:hidden doesn't change table height or width. +

    + + + + row 1 + + + + + + + + row 2 + + + + + + + Bottom table is identical to top except row 1 has been hidden. + + + + row 1 + + + + + + + + row 2 + + + + + + +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/visibility-hidden-row-002.html b/testing/web-platform/tests/css/css-tables/visibility-hidden-row-002.html new file mode 100644 index 0000000000..e9090e6846 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/visibility-hidden-row-002.html @@ -0,0 +1,92 @@ + + + + + + + + +
    +

    Visibility hidden

    + Spec +

    + Setting cells to visibility:hidden doesn't change table height or width. +

    + + + + row 1 + + + + + + + + row 2 + + + + + + + Bottom table is identical to top except row 1's cells has been hidden. + + + + row 1 + + + + + + + + row 2 + + + + + + +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/whitespace-001-ref.html b/testing/web-platform/tests/css/css-tables/whitespace-001-ref.html new file mode 100644 index 0000000000..e9d5c50ccd --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/whitespace-001-ref.html @@ -0,0 +1,24 @@ + + +CSS Test Reference + +
    +
    A
    + +
    B
    +
    diff --git a/testing/web-platform/tests/css/css-tables/whitespace-001.html b/testing/web-platform/tests/css/css-tables/whitespace-001.html new file mode 100644 index 0000000000..3fc6040b47 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/whitespace-001.html @@ -0,0 +1,32 @@ + + +Whitespace inside table isn't incorrectly suppressed + + + + + + + + + +
    +
    A
    + +
    B
    +
    diff --git a/testing/web-platform/tests/css/css-tables/width-distribution/computing-column-measure-0.html b/testing/web-platform/tests/css/css-tables/width-distribution/computing-column-measure-0.html new file mode 100644 index 0000000000..795ad7e65c --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/width-distribution/computing-column-measure-0.html @@ -0,0 +1,76 @@ + + + + + + + +
    +

    Width Distribution

    +

    "Computing column measures"

    +

    This is testing that the table root's minimum is max(table-root width, capmin, gridmin) Spec Text

    + +
    + + + + + + + +
    + + + + + + + + +
    + + + + + + + + +
    + + + + + + + + +
    +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/width-distribution/computing-column-measure-1.html b/testing/web-platform/tests/css/css-tables/width-distribution/computing-column-measure-1.html new file mode 100644 index 0000000000..eeae1c7a46 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/width-distribution/computing-column-measure-1.html @@ -0,0 +1,92 @@ + + + + + + + +
    +

    Height Distribution

    +

    "Computing row measures"

    +

    This is testing intermediate min-content height for span 2

    + +
    + + + + + + + + + + +
    + + + + + + + + + + + +
    + + + + + + + + + + + +
    + + + + + + + + + + +
    + +
    + + + + diff --git a/testing/web-platform/tests/css/css-tables/width-distribution/computing-column-measure-2.html b/testing/web-platform/tests/css/css-tables/width-distribution/computing-column-measure-2.html new file mode 100644 index 0000000000..b9840187f1 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/width-distribution/computing-column-measure-2.html @@ -0,0 +1,81 @@ + + + + + + +
    +

    Width Distribution

    +

    "Computing column measures"

    +

    This is testing that the table's auto columns are correctly recalculated after removing and adding a col element. + Spec Text

    + +
    + + + + + + + + + + + + +
    100200300
    + + + + + + + + + + + + +
    100200300
    + + + + + + + + + + + + +
    100200300
    + +
    + diff --git a/testing/web-platform/tests/css/css-tables/width-distribution/computing-table-width-0.html b/testing/web-platform/tests/css/css-tables/width-distribution/computing-table-width-0.html new file mode 100644 index 0000000000..49bae4b4f7 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/width-distribution/computing-table-width-0.html @@ -0,0 +1,39 @@ + + + + + + + +
    +

    Width Distribution

    +

    "Computing the table width"

    +

    This is testing that the table root's minimum is max(table-root width, capmin, gridmin) Spec Text

    + +
    + + + + + + +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/width-distribution/computing-table-width-1.html b/testing/web-platform/tests/css/css-tables/width-distribution/computing-table-width-1.html new file mode 100644 index 0000000000..d735568a12 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/width-distribution/computing-table-width-1.html @@ -0,0 +1,51 @@ + + + + + + + + + +
    +

    Width Distribution

    +

    "Computing the table width"

    +

    This is testing that the table root's width when the TABLEROOT width is auto Spec Text

    + + + + + + + + + + + + + +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/width-distribution/distribution-algo-1.html b/testing/web-platform/tests/css/css-tables/width-distribution/distribution-algo-1.html new file mode 100644 index 0000000000..83357d7125 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/width-distribution/distribution-algo-1.html @@ -0,0 +1,61 @@ + + + + + + + + + +
    +

    Width Distribution

    +

    "Distribution Algorithm"

    +

    Tests the first step that all cells get their min content guess which is that + of their min content + Spec Text +

    + + + + + + + + + + +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/width-distribution/distribution-algo-2.html b/testing/web-platform/tests/css/css-tables/width-distribution/distribution-algo-2.html new file mode 100644 index 0000000000..83357d7125 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/width-distribution/distribution-algo-2.html @@ -0,0 +1,61 @@ + + + + + + + + + +
    +

    Width Distribution

    +

    "Distribution Algorithm"

    +

    Tests the first step that all cells get their min content guess which is that + of their min content + Spec Text +

    + + + + + + + + + + +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/width-distribution/distribution-algo-min-content-guess.html b/testing/web-platform/tests/css/css-tables/width-distribution/distribution-algo-min-content-guess.html new file mode 100644 index 0000000000..8ff39dd394 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/width-distribution/distribution-algo-min-content-guess.html @@ -0,0 +1,61 @@ + + + + + + + + + +
    +

    Width Distribution

    +

    "Distribution Algorithm - min-content guess"

    +

    Tests the first step that all cells get their min content guess which is that + of their min content + Spec Text +

    + + + + + + + + + + +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/width-distribution/distribution-algo-min-content-percent-guess.html b/testing/web-platform/tests/css/css-tables/width-distribution/distribution-algo-min-content-percent-guess.html new file mode 100644 index 0000000000..0541e8b0df --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/width-distribution/distribution-algo-min-content-percent-guess.html @@ -0,0 +1,64 @@ + + + + + + + + + +
    +

    Width Distribution

    +

    "Distribution Algorithm - min-content-percent guess"

    +

    Tests that the size of the column is given the max(%width, min-content width) + Spec Text +

    + + + + Cell 1 + + + Cell 2 + + + +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/width-distribution/distribution-algo-min-content-specified-guess.1.html b/testing/web-platform/tests/css/css-tables/width-distribution/distribution-algo-min-content-specified-guess.1.html new file mode 100644 index 0000000000..f0def87f11 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/width-distribution/distribution-algo-min-content-specified-guess.1.html @@ -0,0 +1,51 @@ + + + + + + + + + +
    +

    Width Distribution

    +

    "Distribution Algorithm - min-content-specified guess"

    +

    Tests that the size of the column as the spec states that if the cell is constrained then the + Spec Text +

    + + + + Cell 2 + + + +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/width-distribution/distribution-algo-min-content-specified-guess.html b/testing/web-platform/tests/css/css-tables/width-distribution/distribution-algo-min-content-specified-guess.html new file mode 100644 index 0000000000..a74c37005d --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/width-distribution/distribution-algo-min-content-specified-guess.html @@ -0,0 +1,51 @@ + + + + + + + + + +
    +

    Width Distribution

    +

    "Distribution Algorithm - min-content-specified guess"

    +

    Tests that the size of the column as the spec states that if the cell is constrained then the + Spec Text +

    + + + + Cell 2 + + + +
    + + + diff --git a/testing/web-platform/tests/css/css-tables/width-distribution/td-with-subpixel-padding-vertical-rl.html b/testing/web-platform/tests/css/css-tables/width-distribution/td-with-subpixel-padding-vertical-rl.html new file mode 100644 index 0000000000..18ed2ddd00 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/width-distribution/td-with-subpixel-padding-vertical-rl.html @@ -0,0 +1,55 @@ + + + + + +Passes if each column (logical row) has two blue squares. +
    + + + + + +
    + + + + + +
    + + + + + +
    + + + + + +
    + + + + + +
    +
    + diff --git a/testing/web-platform/tests/css/css-tables/width-distribution/td-with-subpixel-padding.html b/testing/web-platform/tests/css/css-tables/width-distribution/td-with-subpixel-padding.html new file mode 100644 index 0000000000..ff040773e2 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/width-distribution/td-with-subpixel-padding.html @@ -0,0 +1,53 @@ + + + + + +Passes if each row has two blue squares. + + + + + +
    + + + + + +
    + + + + + +
    + + + + + +
    + + + + + +
    + diff --git a/testing/web-platform/tests/css/css-tables/zero-rowspan-001-ref.html b/testing/web-platform/tests/css/css-tables/zero-rowspan-001-ref.html new file mode 100644 index 0000000000..4f1dbdf96d --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/zero-rowspan-001-ref.html @@ -0,0 +1,11 @@ + +CSS Test: Reference Test + + + + + + + +
    Foo
    Foo
    Foo
    Foo
    + diff --git a/testing/web-platform/tests/css/css-tables/zero-rowspan-001.html b/testing/web-platform/tests/css/css-tables/zero-rowspan-001.html new file mode 100644 index 0000000000..bef5b947fc --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/zero-rowspan-001.html @@ -0,0 +1,12 @@ + +CSS Test: Overflow clipping in cells that span columns + + + + + + + + +
    Foo
    Foo
    Foo
    Foo
    + diff --git a/testing/web-platform/tests/css/css-tables/zero-rowspan-002-ref.html b/testing/web-platform/tests/css/css-tables/zero-rowspan-002-ref.html new file mode 100644 index 0000000000..3ccac78bd8 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/zero-rowspan-002-ref.html @@ -0,0 +1,9 @@ + +CSS Test: Reference Test + + + + + + +
    123
    123
    123
    diff --git a/testing/web-platform/tests/css/css-tables/zero-rowspan-002.html b/testing/web-platform/tests/css/css-tables/zero-rowspan-002.html new file mode 100644 index 0000000000..7a79fc37b0 --- /dev/null +++ b/testing/web-platform/tests/css/css-tables/zero-rowspan-002.html @@ -0,0 +1,11 @@ + +CSS Test: Overflow clipping in cells that span columns + + + + + + + +
    123
    123
    123
    + -- cgit v1.2.3