From 12b7a534cc0a3b1c66d7e8bb916ec58e947e3460 Mon Sep 17 00:00:00 2001 From: cidlik Date: Sun, 14 Apr 2024 18:39:15 +0300 Subject: [PATCH 1/2] Add expand_logs ini option It allows to expand all logs by default. --- src/pytest_html/plugin.py | 6 ++++++ src/pytest_html/report_data.py | 3 +++ src/pytest_html/scripts/datamanager.js | 4 ++++ src/pytest_html/scripts/main.js | 6 ++++++ src/pytest_html/scripts/storage.js | 11 +++++++++++ 5 files changed, 30 insertions(+) diff --git a/src/pytest_html/plugin.py b/src/pytest_html/plugin.py index 949a6ffa..f6df306f 100644 --- a/src/pytest_html/plugin.py +++ b/src/pytest_html/plugin.py @@ -72,6 +72,12 @@ def pytest_addoption(parser): default="result", help="column to initially sort on.", ) + parser.addini( + "expand_logs", + type="string", + default=False, + help="expand all logs by default.", + ) parser.addini( "generate_report_on_test", type="bool", diff --git a/src/pytest_html/report_data.py b/src/pytest_html/report_data.py index fd002099..9fc99941 100644 --- a/src/pytest_html/report_data.py +++ b/src/pytest_html/report_data.py @@ -61,6 +61,9 @@ def __init__(self, config): initial_sort = config.getini("initial_sort") self._data["initialSort"] = initial_sort + expand_logs = config.getini("expand_logs") + self._data["expandLogs"] = expand_logs + @property def additional_summary(self): return self._additional_summary diff --git a/src/pytest_html/scripts/datamanager.js b/src/pytest_html/scripts/datamanager.js index b95e95d9..3845d722 100644 --- a/src/pytest_html/scripts/datamanager.js +++ b/src/pytest_html/scripts/datamanager.js @@ -57,6 +57,10 @@ class DataManager { get initialSort() { return this.data.initialSort } + + get expandLogs() { + return this.data.expandLogs + } } module.exports = { diff --git a/src/pytest_html/scripts/main.js b/src/pytest_html/scripts/main.js index f01f2eac..5827bbba 100644 --- a/src/pytest_html/scripts/main.js +++ b/src/pytest_html/scripts/main.js @@ -6,6 +6,7 @@ const { getVisible, getCollapsedIds, setCollapsedIds, + getExpandLogs, getSort, getSortDirection, possibleFilters, @@ -47,10 +48,12 @@ const addItemToggleListener = (elem) => { const renderContent = (tests) => { const sortAttr = getSort(manager.initialSort) + const expandLogs = getExpandLogs(manager.expandLogs) const sortAsc = JSON.parse(getSortDirection()) const rows = tests.map(dom.getResultTBody) const table = document.getElementById('results-table') const tableHeader = document.getElementById('results-table-head') + const clickEvent = new Event('click'); const newTable = document.createElement('table') newTable.id = 'results-table' @@ -70,6 +73,9 @@ const renderContent = (tests) => { find('.logexpander', row).addEventListener('click', (evt) => evt.target.parentNode.classList.toggle('expanded'), ) + if (expandLogs) { + find('.logexpander', row).dispatchEvent(clickEvent) + } newTable.appendChild(row) } }) diff --git a/src/pytest_html/scripts/storage.js b/src/pytest_html/scripts/storage.js index ac39c12b..f4fce5b3 100644 --- a/src/pytest_html/scripts/storage.js +++ b/src/pytest_html/scripts/storage.js @@ -47,6 +47,16 @@ const showCategory = (categoryToShow) => { window.history.pushState({}, null, unescape(url.href)) } +const getExpandLogs = (expandLogs) => { + if (expandLogs === "true") { + return true + } + if (expandLogs) { + return true + } + return false +} + const getSort = (initialSort) => { const url = new URL(window.location.href) let sort = new URLSearchParams(url.search).get('sort') @@ -99,6 +109,7 @@ module.exports = { showCategory, getCollapsedIds, setCollapsedIds, + getExpandLogs, getSort, setSort, getSortDirection, From 38ab7dfb27994280eb590c3ee365c2c943a95ee9 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sun, 14 Apr 2024 15:41:54 +0000 Subject: [PATCH 2/2] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/pytest_html/scripts/main.js | 2 +- src/pytest_html/scripts/storage.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pytest_html/scripts/main.js b/src/pytest_html/scripts/main.js index 5827bbba..d628fb30 100644 --- a/src/pytest_html/scripts/main.js +++ b/src/pytest_html/scripts/main.js @@ -53,7 +53,7 @@ const renderContent = (tests) => { const rows = tests.map(dom.getResultTBody) const table = document.getElementById('results-table') const tableHeader = document.getElementById('results-table-head') - const clickEvent = new Event('click'); + const clickEvent = new Event('click') const newTable = document.createElement('table') newTable.id = 'results-table' diff --git a/src/pytest_html/scripts/storage.js b/src/pytest_html/scripts/storage.js index f4fce5b3..f217f69a 100644 --- a/src/pytest_html/scripts/storage.js +++ b/src/pytest_html/scripts/storage.js @@ -48,7 +48,7 @@ const showCategory = (categoryToShow) => { } const getExpandLogs = (expandLogs) => { - if (expandLogs === "true") { + if (expandLogs === 'true') { return true } if (expandLogs) {