diff --git a/libs/blocks/footer/footer.css b/libs/blocks/footer/footer.css index 76eea4f320e..c0b71e2673a 100644 --- a/libs/blocks/footer/footer.css +++ b/libs/blocks/footer/footer.css @@ -167,6 +167,10 @@ footer a:not(:any-link) { margin-right: 18px; } +[dir="rtl"] .footer-social-icon:not(:first-of-type) { + margin-right: 18px; +} + footer .footer-social a { display: block; height: 20px; @@ -327,6 +331,11 @@ footer .footer-region-button.inline-dialog-active svg.icon-chevron-down { margin-right: 3px; } +[dir="rtl"] .footer-privacy-link img { + margin-right: 0; + margin-left: 3px; +} + .footer-privacy-link:not(:last-child)::after { content: '/'; margin-left: 6px; diff --git a/test/blocks/reading-time/reading-time.test.js b/test/blocks/reading-time/reading-time.test.js index 0ed119bc804..8a47d3956dd 100644 --- a/test/blocks/reading-time/reading-time.test.js +++ b/test/blocks/reading-time/reading-time.test.js @@ -26,9 +26,11 @@ describe('reading-time estimate', () => { }); describe('inline variant', async () => { - document.body.innerHTML = await readFile({ path: './mocks/inline.html' }); + beforeEach(async () => { + document.body.innerHTML = await readFile({ path: './mocks/inline.html' }); + }); - it("Inline variant (with inline siblings) creates an inline-wrapper element", async () => { + it('Inline variant (with inline siblings) creates an inline-wrapper element', async () => { const section = document.querySelector('.section.inline-has-siblings'); const els = section.querySelectorAll('.reading-time.inline'); els.forEach(async (el) => { diff --git a/test/blocks/tabs/tabs.test.js b/test/blocks/tabs/tabs.test.js index 966ddfa990e..26525f3a415 100644 --- a/test/blocks/tabs/tabs.test.js +++ b/test/blocks/tabs/tabs.test.js @@ -1,14 +1,6 @@ import { readFile, sendMouse, sendKeys } from '@web/test-runner-commands'; import { expect } from '@esm-bundle/chai'; -function getMiddleOfElement(element) { - const { x, y, width, height } = element.getBoundingClientRect(); - return { - x: Math.floor(x + window.pageXOffset + width / 2), - y: Math.floor(y + window.pageYOffset + height / 2), - }; -} - document.body.innerHTML = await readFile({ path: './mocks/body.html' }); const { default: init } = await import('../../../libs/blocks/tabs/tabs.js'); @@ -26,8 +18,7 @@ describe('tabs', () => { it('clicks on a tabList button', async () => { const unSelectedBtn = allTabs[0].querySelector('div[role="tablist"] button[aria-selected="false"]'); - const { x, y } = getMiddleOfElement(unSelectedBtn); - await sendMouse({ type: 'click', position: [x, y] }); + unSelectedBtn.click(); expect(unSelectedBtn.ariaSelected).to.equal('true'); }); diff --git a/web-test-runner.config.mjs b/web-test-runner.config.mjs index a593584dc87..4f7fa2a4841 100644 --- a/web-test-runner.config.mjs +++ b/web-test-runner.config.mjs @@ -1,5 +1,19 @@ import { importMapsPlugin } from '@web/dev-server-import-maps'; +import { defaultReporter } from '@web/test-runner'; +function customReporter() { + return { + async reportTestFileResults({ logger, sessionsForTestFile }) { + sessionsForTestFile.forEach((session) => { + session.testResults.tests.forEach((test) => { + if (!test.passed && !test.skipped) { + logger.log(test); + } + }); + }); + }, + }; +} export default { coverageConfig: { include: [ @@ -21,4 +35,8 @@ export default { ], }, plugins: [importMapsPlugin({})], + reporters: [ + defaultReporter({ reportTestResults: true, reportTestProgress: true }), + customReporter(), + ], };