diff --git a/src/pytest_html/scripts/dom.js b/src/pytest_html/scripts/dom.js index 6bcb9d00..c4b55443 100644 --- a/src/pytest_html/scripts/dom.js +++ b/src/pytest_html/scripts/dom.js @@ -57,10 +57,10 @@ const dom = { } if (collapsed) { - resultBody.querySelector('.collapsible > td')?.classList.add('collapsed') + resultBody.querySelector('.collapsible > .col-result')?.classList.add('collapsed') resultBody.querySelector('.extras-row').classList.add('hidden') } else { - resultBody.querySelector('.collapsible > td')?.classList.remove('collapsed') + resultBody.querySelector('.collapsible > .col-result')?.classList.remove('collapsed') } const media = [] diff --git a/testing/test_integration.py b/testing/test_integration.py index 2c579894..891c8877 100644 --- a/testing/test_integration.py +++ b/testing/test_integration.py @@ -870,6 +870,24 @@ def test_CCC(): for row, expected in zip(result, order): assert_that(row.string).contains(expected) + def test_collapsed_class_when_results_table_order_changed(self, pytester): + pytester.makeconftest( + """ + def pytest_html_results_table_header(cells): + cells.append(cells.pop(0)) + + def pytest_html_results_table_row(report, cells): + cells.append(cells.pop(0)) + """ + ) + pytester.makepyfile("def test_pass(): pass") + page = run(pytester) + assert_results(page, passed=1) + + assert_that( + get_text(page, "#results-table td[class='col-result collapsed']") + ).is_true() + class TestLogCapturing: LOG_LINE_REGEX = r"\s+this is {}"