From 38b8a6cae8fc0d253c5587f3b96a959e7fc1c0cd Mon Sep 17 00:00:00 2001 From: Volkan Aslan <83580341+volkan-aslan@users.noreply.github.com> Date: Wed, 24 Apr 2024 19:55:48 +0200 Subject: [PATCH] Fix for #806 (if results table order changed, hide/show details hover over broken) (#807) * Fix for #806 --- src/pytest_html/scripts/dom.js | 4 ++-- testing/test_integration.py | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 2 deletions(-) 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 {}"