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 {}"