/
githubmirror
/
gutenberg
Обзор
Документация
Войти
/
githubmirror
/
gutenberg
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
trunk
test/e2e/timings.json
21 719 строк
430 KB
Nik Tsekouras
Remove content types experiment (#81340)
10 авг 2026, 10:09
Не верифицирован
10 авг 2026, 10:09
226f1e8
Код
Авторство
О чём код?
{ "category": "playwright", "commitId": "36b742ee7fbcf76577fac45484aef6cf37f4366c", "flakinessProject": "WordPress/gutenberg", "configPath": "test/e2e/playwright.config.ts", "duration": 0, "environments": [ { "name": "chromium" }, { "name": "webkit" }, { "name": "firefox" } ], "startTimestamp": 0, "suites": [ { "title": "admin/connectors.spec.js", "type": "file", "suites": [ { "title": "Connectors", "type": "suite", "suites": [ { "title": "Test provider setup flow", "type": "suite", "tests": [ { "title": "should display the test provider with a \"Set up\" button", "attempts": [ { "duration": 1534 } ] }, { "title": "should expand the API key form when clicking \"Set up\"", "attempts": [ { "duration": 1721 } ] }, { "title": "should reject an invalid API key", "attempts": [ { "duration": 1865 } ] }, { "title": "should accept a valid API key and show \"Connected\"", "attempts": [ { "duration": 1935 } ] }, { "title": "should keep focus on the action button when toggling \"Set up\" / \"Cancel\"", "attempts": [ { "duration": 1737 } ] }, { "title": "should complete the full setup flow using only the keyboard", "attempts": [ { "duration": 1935 } ] }, { "title": "should keep focus in the form after a failed save", "attempts": [ { "duration": 1935 } ] } ] }, { "title": "Empty state", "type": "suite", "tests": [ { "title": "should display an empty state when no connectors are registered", "attempts": [ { "duration": 1606 } ] } ] }, { "title": "Connectors page capability checks", "type": "suite", "tests": [ { "title": "should show unavailable connector actions when user cannot install plugins", "attempts": [ { "duration": 1836 } ] }, { "title": "should show unavailable connector actions when user cannot activate plugins", "attempts": [ { "duration": 1836 } ] }, { "title": "should show unavailable connector actions when user cannot install or activate plugins", "attempts": [ { "duration": 1696 } ] }, { "title": "should show unavailable connector actions when DISALLOW_FILE_MODS is active", "attempts": [ { "duration": 1892 } ] } ] }, { "title": "Application password setup flow", "type": "suite", "tests": [ { "title": "should save, mask, reload, and remove both credentials", "attempts": [ { "duration": 3331 } ] }, { "title": "should keep the stored password when a masked settings response is saved back", "attempts": [ { "duration": 181 } ] }, { "title": "should show an environment-configured connector as connected and read-only", "attempts": [ { "duration": 1606 } ] } ] }, { "title": "JS extensibility", "type": "suite", "tests": [ { "title": "should not display a card for a server-only connector without a JS render function", "attempts": [ { "duration": 1353 } ] }, { "title": "should display a custom connector registered via JS with merging strategy", "attempts": [ { "duration": 1447 } ] }, { "title": "should preserve a custom render for an api_key connector registered before registerDefaultConnectors", "attempts": [ { "duration": 1447 } ] } ] } ], "tests": [ { "title": "should show a Connectors link in the Settings menu", "attempts": [ { "duration": 1534 } ] }, { "title": "should display default providers with install buttons", "attempts": [ { "duration": 1606 } ] }, { "title": "should display the AI plugin callout banner with install button", "attempts": [ { "duration": 1632 } ] } ] } ] }, { "title": "admin/font-library.spec.js", "type": "file", "suites": [ { "title": "Font Library", "type": "suite", "suites": [ { "title": "When a user manages custom fonts via the UI", "type": "suite", "tests": [ { "title": "should allow user to add and remove multiple local font files", "attempts": [ { "duration": 8574 } ] } ] } ] } ] }, { "title": "admin/guidelines.spec.js", "type": "file", "suites": [ { "title": "Guidelines", "type": "suite", "suites": [ { "title": "with the scopes registry filtered by a plugin", "type": "suite", "tests": [ { "title": "renders a custom scope and hides the removed Blocks section", "attempts": [ { "duration": 1836 } ] } ] } ], "tests": [ { "title": "shows a Guidelines link in the Settings menu", "attempts": [ { "duration": 1206 } ] }, { "title": "opens the Guidelines page and renders registry sections", "attempts": [ { "duration": 1865 } ] }, { "title": "does not expose revision history", "attempts": [ { "duration": 1737 } ] }, { "title": "persists Copy and Images guidelines across a refresh", "attempts": [ { "duration": 3764 } ] }, { "title": "edits a scope guideline after a reload", "attempts": [ { "duration": 4933 } ] }, { "title": "reclaims an existing non-public row on save instead of duplicating", "attempts": [ { "duration": 2343 } ] }, { "title": "clears a scope guideline", "attempts": [ { "duration": 3691 } ] }, { "title": "adds a block guideline", "attempts": [ { "duration": 2393 } ] }, { "title": "exports and re-imports guidelines", "attempts": [ { "duration": 4055 } ] } ] } ] }, { "title": "admin/workflow-palette.spec.js", "type": "file", "suites": [ { "title": "Workflow palette", "type": "suite", "tests": [ { "title": "fetches abilities only when the palette is opened", "attempts": [ { "duration": 1737 } ] } ] } ] }, { "title": "editor/blocks/accordion.spec.js", "type": "file", "suites": [ { "title": "Accordion", "type": "suite", "tests": [ { "title": "should open by default when openByDefault is true", "attempts": [ { "duration": 4131 } ] }, { "title": "should close other accordion items when autoclose is true", "attempts": [ { "duration": 3969 } ] }, { "title": "should open accordion panel by default when it contains the URL hash target", "attempts": [ { "duration": 4082 } ] }, { "title": "should open accordion panel when clicking a link whose target is inside the panel", "attempts": [ { "duration": 4131 } ] } ] } ] }, { "title": "editor/blocks/avatar.spec.js", "type": "file", "suites": [ { "title": "Avatar", "type": "suite", "tests": [ { "title": "should change image when user is changed", "attempts": [ { "duration": 3689 } ] } ] } ] }, { "title": "editor/blocks/buttons.spec.js", "type": "file", "suites": [ { "title": "Buttons", "type": "suite", "suites": [ { "title": "Width support", "type": "suite", "tests": [ { "title": "can resize width", "attempts": [ { "duration": 5750 } ] } ] }, { "title": "Block transforms", "type": "suite", "suites": [ { "title": "FROM paragraph", "type": "suite", "tests": [ { "title": "should preserve the content", "attempts": [ { "duration": 3291 } ] }, { "title": "should preserve the metadata attribute", "attempts": [ { "duration": 3340 } ] }, { "title": "should preserve the block bindings", "attempts": [ { "duration": 3291 } ] } ] } ] } ], "tests": [ { "title": "has focus on button content", "attempts": [ { "duration": 3398 } ] }, { "title": "has focus on button content (slash inserter)", "attempts": [ { "duration": 3689 } ] }, { "title": "dismisses link editor when escape is pressed", "attempts": [ { "duration": 3627 } ] }, { "title": "moves focus from the link editor back to the button when escape is pressed after the URL has been submitted", "attempts": [ { "duration": 3398 } ] }, { "title": "appends https protocol to links added which are missing a protocol", "attempts": [ { "duration": 3398 } ] }, { "title": "can jump to the link editor using the keyboard shortcut", "attempts": [ { "duration": 3398 } ] }, { "title": "can toggle button link settings", "attempts": [ { "duration": 4131 } ] }, { "title": "can apply named colors", "attempts": [ { "duration": 3764 } ] }, { "title": "can apply custom colors", "attempts": [ { "duration": 4097 } ] }, { "title": "can apply named gradient background color", "attempts": [ { "duration": 3691 } ] }, { "title": "can apply custom gradient background color", "attempts": [ { "duration": 3969 } ] }, { "title": "copies attributes when inserting a sibling via the appender", "attempts": [ { "duration": 4329 } ] } ] } ] }, { "title": "editor/blocks/classic.spec.js", "type": "file", "suites": [ { "title": "Classic", "type": "suite", "tests": [ { "title": "should be inserted", "attempts": [ { "duration": 3398 } ] }, { "title": "should insert media, convert to blocks, and undo in one step", "attempts": [ { "duration": 4802 } ] }, { "title": "Should not fail after save/reload", "attempts": [ { "duration": 6258 } ] } ] } ] }, { "title": "editor/blocks/code.spec.js", "type": "file", "suites": [ { "title": "Code", "type": "suite", "suites": [ { "title": "Block transforms", "type": "suite", "suites": [ { "title": "FROM paragraph", "type": "suite", "tests": [ { "title": "should preserve the content", "attempts": [ { "duration": 3291 } ] }, { "title": "should preserve the metadata name attribute", "attempts": [ { "duration": 3291 } ] } ] }, { "title": "FROM HTML", "type": "suite", "tests": [ { "title": "should preserve the content", "attempts": [ { "duration": 3340 } ] }, { "title": "should preserve the metadata name attribute", "attempts": [ { "duration": 3129 } ] } ] }, { "title": "TO paragraph", "type": "suite", "tests": [ { "title": "should preserve the content", "attempts": [ { "duration": 3291 } ] }, { "title": "should preserve the metadata name attribute", "attempts": [ { "duration": 3291 } ] } ] } ] } ], "tests": [ { "title": "can be created by three backticks", "attempts": [ { "duration": 3291 } ] }, { "title": "should delete block when backspace in an empty code", "attempts": [ { "duration": 3129 } ] }, { "title": "should paste plain text", "attempts": [ { "duration": 3129 } ] } ] } ] }, { "title": "editor/blocks/columns.spec.js", "type": "file", "suites": [ { "title": "Columns", "type": "suite", "suites": [ { "title": "should update the column widths correctly", "type": "suite", "tests": [ { "title": "when the column count is changed to 2", "attempts": [ { "duration": 3349 } ] }, { "title": "when the column count is changed to 3", "attempts": [ { "duration": 3291 } ] }, { "title": "when the column count is changed to 5", "attempts": [ { "duration": 3291 } ] }, { "title": "when the column count is changed to 6", "attempts": [ { "duration": 3291 } ] } ] }, { "title": "following paragraph", "type": "suite", "tests": [ { "title": "should be deleted on Backspace when empty", "attempts": [ { "duration": 3627 } ] }, { "title": "should only select Columns on Backspace when non-empty", "attempts": [ { "duration": 3398 } ] } ] }, { "title": "Template Lock", "type": "suite", "tests": [ { "title": "templateLock=\"all\" should hide column count control", "attempts": [ { "duration": 3129 } ] }, { "title": "templateLock=\"insert\" should hide column count control", "attempts": [ { "duration": 3129 } ] }, { "title": "templateLock=\"contentOnly\" should hide column count control", "attempts": [ { "duration": 3129 } ] }, { "title": "templateLock=false should show column count control inside locked parent", "attempts": [ { "duration": 3340 } ] } ] } ], "tests": [ { "title": "restricts all blocks inside the columns block", "attempts": [ { "duration": 4097 } ] }, { "title": "prevent the removal of locked column block from the column count change UI", "attempts": [ { "duration": 4131 } ] }, { "title": "Ungroup properly", "attempts": [ { "duration": 3627 } ] }, { "title": "can exit on Enter", "attempts": [ { "duration": 3627 } ] }, { "title": "should not split in middle", "attempts": [ { "duration": 3691 } ] }, { "title": "should arrow up into empty columns", "attempts": [ { "duration": 3398 } ] } ] } ] }, { "title": "editor/blocks/comments.spec.js", "type": "file", "suites": [ { "title": "Comments", "type": "suite", "tests": [ { "title": "We show no results message if there are no comments", "attempts": [ { "duration": 8574 } ] }, { "title": "Pagination links are working as expected", "attempts": [ { "duration": 9481 } ] }, { "title": "Pagination links are not appearing if break comments is not enabled", "attempts": [ { "duration": 9498 } ] }, { "title": "A button allows the block to switch from legacy mode to editable mode", "attempts": [ { "duration": 8574 } ] }, { "title": "The editable block version is rendered if the legacy attribute is false", "attempts": [ { "duration": 8574 } ] }, { "title": "The PHP version is rendered if the legacy attribute is true", "attempts": [ { "duration": 8574 } ] } ] }, { "title": "Post Comments", "type": "suite", "tests": [ { "title": "is still supported", "attempts": [ { "duration": 528 } ] }, { "title": "is converted to Comments with legacy attribute", "attempts": [ { "duration": 3291 } ] } ] } ] }, { "title": "editor/blocks/cover.spec.js", "type": "file", "suites": [ { "title": "Cover", "type": "suite", "tests": [ { "title": "can set overlay color using color picker on block placeholder", "attempts": [ { "duration": 3349 } ] }, { "title": "computes overlay color correctly for uploaded image", "attempts": [ { "duration": 7333 } ] }, { "title": "can have the title edited", "attempts": [ { "duration": 3398 } ] }, { "title": "can be resized using drag & drop", "attempts": [ { "duration": 4055 } ] }, { "title": "dims the background image down by 50% black when transformed from the Image block", "attempts": [ { "duration": 3398 } ] }, { "title": "other cover blocks are not over the navigation block when the menu is open", "attempts": [ { "duration": 5750 } ] }, { "title": "can use focal point picker to set the focal point of the cover image", "attempts": [ { "duration": 3764 } ] }, { "title": "correctly computes isDark based on dimRatio and overlay color", "attempts": [ { "duration": 3702 } ] }, { "title": "preserves explicit dimRatio of 100 when replacing an image", "attempts": [ { "duration": 4329 } ] }, { "title": "shows the overlay when using an empty featured image", "attempts": [ { "duration": 3398 } ] }, { "title": "hides overlay controls when a viewport style state is selected", "attempts": [ { "duration": 3764 } ] } ] } ] }, { "title": "editor/blocks/details.spec.js", "type": "file", "suites": [ { "title": "Details", "type": "suite", "tests": [ { "title": "can toggle hidden blocks by pressing enter", "attempts": [ { "duration": 3764 } ] }, { "title": "can create a multiline summary with Shift+Enter", "attempts": [ { "duration": 3398 } ] }, { "title": "typing space in summary rich-text should not toggle details", "attempts": [ { "duration": 3129 } ] }, { "title": "selecting hidden blocks in list view expands details and focuses content", "attempts": [ { "duration": 3398 } ] }, { "title": "should select the parent when clicking its summary from an inner paragraph", "attempts": [ { "duration": 3627 } ] } ] } ] }, { "title": "editor/blocks/fit-text.spec.js", "type": "file", "suites": [ { "title": "Fit Text", "type": "suite", "suites": [ { "title": "Editor functionality", "type": "suite", "tests": [ { "title": "should enable fit text on a heading block", "attempts": [ { "duration": 3398 } ] }, { "title": "should disable fit text when toggled off", "attempts": [ { "duration": 3373 } ] }, { "title": "should enable fit text on a paragraph block", "attempts": [ { "duration": 3627 } ] }, { "title": "should apply font size dynamically based on container width in editor", "attempts": [ { "duration": 4549 } ] }, { "title": "should apply much larger font size with fit text compared to without fit text for a short text", "attempts": [ { "duration": 3398 } ] }, { "title": "should disable fit text when a font size is selected", "attempts": [ { "duration": 3627 } ] }, { "title": "should clear font size when fit text is enabled", "attempts": [ { "duration": 3398 } ] }, { "title": "should not load frontend script when editing a saved post with fit text", "attempts": [ { "duration": 6216 } ] } ] }, { "title": "Frontend functionality", "type": "suite", "tests": [ { "title": "should render fit text correctly on the frontend", "attempts": [ { "duration": 3969 } ] }, { "title": "should resize text on window resize on the frontend", "attempts": [ { "duration": 3969 } ] }, { "title": "should apply much larger font size with fit text compared to without fit text on frontend for a short text", "attempts": [ { "duration": 4097 } ] } ] } ] } ] }, { "title": "editor/blocks/gallery.spec.js", "type": "file", "suites": [ { "title": "Gallery", "type": "suite", "tests": [ { "title": "can be transformed from pasting shortcode, and can undo/redo", "attempts": [ { "duration": 6371 } ] }, { "title": "can be created using uploaded images", "attempts": [ { "duration": 3691 } ] }, { "title": "gallery caption can be edited", "attempts": [ { "duration": 3764 } ] }, { "title": "uploaded images' captions can be edited", "attempts": [ { "duration": 3969 } ] }, { "title": "when initially added the media library shows the Create Gallery view", "attempts": [ { "duration": 3349 } ] }, { "title": "can randomize the image on the front end", "attempts": [ { "duration": 4131 } ] }, { "title": "can randomize the image with a lightbox effect on the front end", "attempts": [ { "duration": 4131 } ] } ] } ] }, { "title": "editor/blocks/group.spec.js", "type": "file", "suites": [ { "title": "Group", "type": "suite", "tests": [ { "title": "can be created using the block inserter", "attempts": [ { "duration": 3764 } ] }, { "title": "can be created using the slash inserter", "attempts": [ { "duration": 3627 } ] }, { "title": "can have other blocks appended to it using the button appender", "attempts": [ { "duration": 3764 } ] }, { "title": "can merge into group with Backspace", "attempts": [ { "duration": 3398 } ] } ] } ] }, { "title": "editor/blocks/heading.spec.js", "type": "file", "suites": [ { "title": "Heading", "type": "suite", "suites": [ { "title": "Block transforms", "type": "suite", "suites": [ { "title": "FROM paragraph", "type": "suite", "tests": [ { "title": "should preserve the content", "attempts": [ { "duration": 3331 } ] }, { "title": "should preserve the text align block support", "attempts": [ { "duration": 3291 } ] }, { "title": "should preserve the metadata attribute", "attempts": [ { "duration": 3291 } ] }, { "title": "should preserve the block bindings", "attempts": [ { "duration": 3129 } ] } ] }, { "title": "TO paragraph", "type": "suite", "tests": [ { "title": "should preserve the content", "attempts": [ { "duration": 3291 } ] }, { "title": "should preserve the text align attribute", "attempts": [ { "duration": 3129 } ] }, { "title": "should preserve the metadata attribute", "attempts": [ { "duration": 3340 } ] }, { "title": "should preserve the block bindings", "attempts": [ { "duration": 3129 } ] } ] } ] } ], "tests": [ { "title": "can be created by prefixing number sign and a space", "attempts": [ { "duration": 3349 } ] }, { "title": "can be created by prefixing existing content with number signs and a space", "attempts": [ { "duration": 3373 } ] }, { "title": "should not work with the list input rule", "attempts": [ { "duration": 3349 } ] }, { "title": "should work with the format input rules", "attempts": [ { "duration": 3398 } ] }, { "title": "should create a paragraph block above when pressing enter at the start", "attempts": [ { "duration": 3349 } ] }, { "title": "should create a paragraph block below when pressing enter at the end", "attempts": [ { "duration": 3373 } ] }, { "title": "should create a empty paragraph block when pressing backspace at the beginning of the first empty heading block", "attempts": [ { "duration": 3398 } ] }, { "title": "should transform to a paragraph block when pressing backspace at the beginning of the first heading block", "attempts": [ { "duration": 3349 } ] }, { "title": "should not remove an empty heading on backspace when removal is locked", "attempts": [ { "duration": 3129 } ] }, { "title": "should keep the heading when there is an empty paragraph block before and backspace is pressed at the start", "attempts": [ { "duration": 3349 } ] }, { "title": "should correctly apply custom colors", "attempts": [ { "duration": 3764 } ] }, { "title": "should correctly apply named colors", "attempts": [ { "duration": 3764 } ] }, { "title": "should change heading level with keyboard shortcuts", "attempts": [ { "duration": 3764 } ] }, { "title": "should be converted from a paragraph to a heading with keyboard shortcuts", "attempts": [ { "duration": 3764 } ] }, { "title": "should be converted from a heading to a paragraph with keyboard shortcuts", "attempts": [ { "duration": 3764 } ] }, { "title": "Should have proper label in the list view", "attempts": [ { "duration": 6255 } ] } ] } ] }, { "title": "editor/blocks/html.spec.js", "type": "file", "suites": [ { "title": "HTML block", "type": "suite", "tests": [ { "title": "can be created by typing \"/html\"", "attempts": [ { "duration": 5750 } ] }, { "title": "should not encode <", "attempts": [ { "duration": 6255 } ] }, { "title": "supports editable inner blocks within static HTML", "attempts": [ { "duration": 3691 } ] } ] } ] }, { "title": "editor/blocks/image.spec.js", "type": "file", "suites": [ { "title": "Image", "type": "suite", "tests": [ { "title": "can be inserted via image upload", "attempts": [ { "duration": 3398 } ] }, { "title": "should place caret on caption when clicking to add one", "attempts": [ { "duration": 3969 } ] }, { "title": "should allow soft line breaks in caption", "attempts": [ { "duration": 3764 } ] }, { "title": "should have keyboard navigable toolbar for caption", "attempts": [ { "duration": 4131 } ] }, { "title": "should drag and drop files into media placeholder", "attempts": [ { "duration": 3398 } ] }, { "title": "allows rotating an image using the media editor modal", "attempts": [ { "duration": 4131 } ] }, { "title": "should undo without broken temporary state", "attempts": [ { "duration": 3690 } ] }, { "title": "can be replaced by dragging-and-dropping images from the inserter", "attempts": [ { "duration": 22736 } ] }, { "title": "image inserted via upload should appear in the frontend published post content", "attempts": [ { "duration": 4131 } ] }, { "title": "image inserted via link should appear in the frontend published post content", "attempts": [ { "duration": 5588 } ] }, { "title": "Insert from URL prepends https when URL has no protocol", "attempts": [ { "duration": 4802 } ] }, { "title": "adding a link should reflect configuration in published post content", "attempts": [ { "duration": 4539 } ] }, { "title": "appends https protocol to links added which are missing a protocol", "attempts": [ { "duration": 3764 } ] }, { "title": "should upload external image to media library only when the toolbar button is clicked", "attempts": [ { "duration": 5750 } ] }, { "title": "should upload through prepublish panel", "attempts": [ { "duration": 5750 } ] }, { "title": "uploads data url through blobs from raw handling", "attempts": [ { "duration": 3398 } ] }, { "title": "should have keyboard navigable link UI popover", "attempts": [ { "duration": 4613 } ] } ] }, { "title": "Image - lightbox", "type": "suite", "suites": [ { "title": "should respect theme.json settings and block overrides", "type": "suite", "suites": [ { "title": "Theme.json settings - allow editing FALSE, enabled FALSE", "type": "suite", "tests": [ { "title": "Block settings - link DISABLED, lightbox UNDEFINED - should hide UI when block override is undefined", "attempts": [ { "duration": 3291 } ] }, { "title": "Block settings - link DISABLED, lightbox ENABLED - should show UI while block override is active, but hide UI if override is removed", "attempts": [ { "duration": 3398 } ] } ] } ] }, { "title": "should render as expected on front end", "type": "suite", "tests": [ { "title": "Overlay image should not inherit content image's margins", "attempts": [ { "duration": 3764 } ] } ] } ] }, { "title": "Image - Site editor", "type": "suite", "tests": [ { "title": "can be inserted via image upload", "attempts": [ { "duration": 3764 } ] } ] } ] }, { "title": "editor/blocks/links.spec.js", "type": "file", "suites": [ { "title": "Links", "type": "suite", "suites": [ { "title": "Editing link text", "type": "suite", "tests": [ { "title": "should allow editing text underneath popover when activated via mouse", "attempts": [ { "duration": 4097 } ] }, { "title": "should allow for modification of link text via the Link UI", "attempts": [ { "duration": 3969 } ] }, { "title": "should not display text input when initially creating the link", "attempts": [ { "duration": 3398 } ] }, { "title": "should display text input when the link has a valid URL value", "attempts": [ { "duration": 3764 } ] }, { "title": "should show any trailing and/or leading whitespace from linked text within the text input", "attempts": [ { "duration": 4613 } ] } ] }, { "title": "Disabling Link UI active state", "type": "suite", "tests": [ { "title": "should correctly move focus when link control closes on click outside", "attempts": [ { "duration": 3730 } ] }, { "title": "should correctly replace active link's text value within rich text even when multiple matching text values exist within the rich text", "attempts": [ { "duration": 3764 } ] } ] } ], "tests": [ { "title": "will use Post title as link text if link to existing post is created without any text selected", "attempts": [ { "duration": 7201 } ] }, { "title": "can be created by selecting text and clicking link insertion button in block toolbar", "attempts": [ { "duration": 4437 } ] }, { "title": "will not automatically create a link if selected text is not a valid HTTP based URL", "attempts": [ { "duration": 3691 } ] }, { "title": "will automatically create a link if selected text is a valid HTTP based URL", "attempts": [ { "duration": 4131 } ] }, { "title": "does not create link when link ui is closed without submission", "attempts": [ { "duration": 3730 } ] }, { "title": "can edit existing links", "attempts": [ { "duration": 3764 } ] }, { "title": "can remove existing links", "attempts": [ { "duration": 3730 } ] }, { "title": "allows arrow keys to be pressed during link creation when the toolbar is fixed to top", "attempts": [ { "duration": 3398 } ] }, { "title": "allows arrow keys to be pressed during link creation in \"Docked Toolbar\" mode", "attempts": [ { "duration": 3398 } ] }, { "title": "can be edited when within a link but no selection has been made (\"collapsed\")", "attempts": [ { "duration": 4060 } ] }, { "title": "escape dismisses the Link UI popover and returns focus", "attempts": [ { "duration": 6258 } ] }, { "title": "can be created and modified using only the keyboard", "attempts": [ { "duration": 4097 } ] }, { "title": "adds an assertive message for screenreader users when an invalid link is set", "attempts": [ { "duration": 3764 } ] }, { "title": "can be created by selecting text and using keyboard shortcuts", "attempts": [ { "duration": 4082 } ] }, { "title": "can update the url of an existing link", "attempts": [ { "duration": 3764 } ] }, { "title": "correctly updates the link when caret at outer edge of format boundary", "attempts": [ { "duration": 3764 } ] }, { "title": "toggle state of advanced link settings is preserved across editing links", "attempts": [ { "duration": 4613 } ] }, { "title": "can toggle link settings and save", "attempts": [ { "duration": 4131 } ] }, { "title": "can click links within the same paragraph to open the correct link preview (@firefox)", "attempts": [ { "duration": 3398 }, { "environmentIdx": 1, "duration": 4662 }, { "environmentIdx": 2, "duration": 4662 } ] }, { "title": "should maintain focus when correcting invalid URL after validation error", "attempts": [ { "duration": 3969 } ] } ] } ] }, { "title": "editor/blocks/list.spec.js", "type": "file", "suites": [ { "title": "List (@firefox)", "type": "suite", "suites": [ { "title": "should merge two list items with nested lists", "type": "suite", "tests": [ { "title": "Backspace", "attempts": [ { "duration": 3398 }, { "environmentIdx": 1, "duration": 3807 }, { "environmentIdx": 2, "duration": 3807 } ] }, { "title": "Delete (forward)", "attempts": [ { "duration": 3398 }, { "environmentIdx": 1, "duration": 3590 }, { "environmentIdx": 2, "duration": 3590 } ] } ] }, { "title": "should preserve a nested list when deleting a text selection across sibling list items", "type": "suite", "tests": [ { "title": "Backspace", "attempts": [ { "duration": 4131 }, { "environmentIdx": 1, "duration": 4719 }, { "environmentIdx": 2, "duration": 4719 } ] }, { "title": "Delete", "attempts": [ { "duration": 4131 }, { "environmentIdx": 1, "duration": 4877 }, { "environmentIdx": 2, "duration": 4877 } ] } ] }, { "title": "should delete a nested list inside a text selection across sibling list items", "type": "suite", "tests": [ { "title": "Backspace", "attempts": [ { "duration": 4437 }, { "environmentIdx": 1, "duration": 5070 }, { "environmentIdx": 2, "duration": 5070 } ] }, { "title": "Delete", "attempts": [ { "duration": 4131 }, { "environmentIdx": 1, "duration": 5133 }, { "environmentIdx": 2, "duration": 5133 } ] } ] } ], "tests": [ { "title": "can be copied from multi selection", "attempts": [ { "duration": 3764 }, { "environmentIdx": 1, "duration": 4602 }, { "environmentIdx": 2, "duration": 4602 } ] }, { "title": "can be created by using an asterisk at the start of a paragraph block", "attempts": [ { "duration": 3702 }, { "environmentIdx": 1, "duration": 4375 }, { "environmentIdx": 2, "duration": 4375 } ] }, { "title": "can be created by typing an asterisk in front of text of a paragraph block", "attempts": [ { "duration": 3398 }, { "environmentIdx": 1, "duration": 3807 }, { "environmentIdx": 2, "duration": 3807 } ] }, { "title": "can be created by using a number at the start of a paragraph block", "attempts": [ { "duration": 3398 }, { "environmentIdx": 1, "duration": 3807 }, { "environmentIdx": 2, "duration": 3807 } ] }, { "title": "can undo asterisk transform", "attempts": [ { "duration": 3398 }, { "environmentIdx": 1, "duration": 3807 }, { "environmentIdx": 2, "duration": 3807 } ] }, { "title": "should undo asterisk transform with backspace (-firefox)", "attempts": [ { "duration": 3398 } ] }, { "title": "should undo asterisk transform with backspace after selection changes (-firefox)", "attempts": [ { "duration": 3398 } ] }, { "title": "should undo asterisk transform with backspace setting isTyping state (-firefox)", "attempts": [ { "duration": 3398 } ] }, { "title": "should undo asterisk transform with backspace after selection changes without requestIdleCallback (-firefox)", "attempts": [ { "duration": 3398 } ] }, { "title": "should undo asterisk transform with escape (-firefox)", "attempts": [ { "duration": 3398 } ] }, { "title": "should not undo asterisk transform with backspace after typing", "attempts": [ { "duration": 3398 }, { "environmentIdx": 1, "duration": 3724 }, { "environmentIdx": 2, "duration": 3724 } ] }, { "title": "should not undo asterisk transform with backspace after selection change", "attempts": [ { "duration": 4060 }, { "environmentIdx": 1, "duration": 4193 }, { "environmentIdx": 2, "duration": 4193 } ] }, { "title": "can be created by typing \"/list\"", "attempts": [ { "duration": 3398 }, { "environmentIdx": 1, "duration": 4146 }, { "environmentIdx": 2, "duration": 4146 } ] }, { "title": "can be created by converting a paragraph", "attempts": [ { "duration": 3398 }, { "environmentIdx": 1, "duration": 5120 }, { "environmentIdx": 2, "duration": 5120 } ] }, { "title": "can be created by converting multiple paragraphs", "attempts": [ { "duration": 3691 }, { "environmentIdx": 1, "duration": 4145 }, { "environmentIdx": 2, "duration": 4145 } ] }, { "title": "can be created by converting a paragraph with line breaks", "attempts": [ { "duration": 3398 }, { "environmentIdx": 1, "duration": 3724 }, { "environmentIdx": 2, "duration": 3724 } ] }, { "title": "should not transform lines in block when transforming multiple blocks", "attempts": [ { "duration": 4060 }, { "environmentIdx": 1, "duration": 4146 }, { "environmentIdx": 2, "duration": 4146 } ] }, { "title": "can be converted to paragraphs", "attempts": [ { "duration": 3764 }, { "environmentIdx": 1, "duration": 4465 }, { "environmentIdx": 2, "duration": 4465 } ] }, { "title": "can be converted when nested to paragraphs", "attempts": [ { "duration": 4131 }, { "environmentIdx": 1, "duration": 5133 }, { "environmentIdx": 2, "duration": 5133 } ] }, { "title": "can be converted to a quote", "attempts": [ { "duration": 3764 }, { "environmentIdx": 1, "duration": 4465 }, { "environmentIdx": 2, "duration": 4465 } ] }, { "title": "should create paragraph on split at end and merge back with content", "attempts": [ { "duration": 3689 }, { "environmentIdx": 1, "duration": 4465 }, { "environmentIdx": 2, "duration": 4465 } ] }, { "title": "should split into two with paragraph and merge lists", "attempts": [ { "duration": 3764 }, { "environmentIdx": 1, "duration": 4662 }, { "environmentIdx": 2, "duration": 4662 } ] }, { "title": "should keep nested list items when merging with paragraph", "attempts": [ { "duration": 3691 }, { "environmentIdx": 1, "duration": 4193 }, { "environmentIdx": 2, "duration": 4193 } ] }, { "title": "should split into two ordered lists with paragraph", "attempts": [ { "duration": 3764 }, { "environmentIdx": 1, "duration": 6333 }, { "environmentIdx": 2, "duration": 6333 } ] }, { "title": "should split indented list item", "attempts": [ { "duration": 3764 }, { "environmentIdx": 1, "duration": 4465 }, { "environmentIdx": 2, "duration": 4465 } ] }, { "title": "should be immediately saved on indentation", "attempts": [ { "duration": 3689 }, { "environmentIdx": 1, "duration": 4098 }, { "environmentIdx": 2, "duration": 4098 } ] }, { "title": "should change the base list type", "attempts": [ { "duration": 3398 }, { "environmentIdx": 1, "duration": 4098 }, { "environmentIdx": 2, "duration": 4098 } ] }, { "title": "should change the indented list type", "attempts": [ { "duration": 4082 }, { "environmentIdx": 1, "duration": 4662 }, { "environmentIdx": 2, "duration": 4662 } ] }, { "title": "should create paragraph on Enter in quote block", "attempts": [ { "duration": 3764 }, { "environmentIdx": 1, "duration": 4465 }, { "environmentIdx": 2, "duration": 4465 } ] }, { "title": "should indent and outdent level 1", "attempts": [ { "duration": 3764 }, { "environmentIdx": 1, "duration": 4465 }, { "environmentIdx": 2, "duration": 4465 } ] }, { "title": "should keep the list type when indenting an ordered list item", "attempts": [ { "duration": 3702 }, { "environmentIdx": 1, "duration": 4145 }, { "environmentIdx": 2, "duration": 4145 } ] }, { "title": "should indent and outdent level 2", "attempts": [ { "duration": 4613 }, { "environmentIdx": 1, "duration": 5550 }, { "environmentIdx": 2, "duration": 5550 } ] }, { "title": "should outdent with children", "attempts": [ { "duration": 4131 }, { "environmentIdx": 1, "duration": 5120 }, { "environmentIdx": 2, "duration": 5120 } ] }, { "title": "should insert a line break on shift+enter", "attempts": [ { "duration": 3331 }, { "environmentIdx": 1, "duration": 5120 }, { "environmentIdx": 2, "duration": 5120 } ] }, { "title": "should insert a line break on shift+enter in a non trailing list item", "attempts": [ { "duration": 3398 }, { "environmentIdx": 1, "duration": 3807 }, { "environmentIdx": 2, "duration": 3807 } ] }, { "title": "should create and remove indented list with keyboard only", "attempts": [ { "duration": 4613 }, { "environmentIdx": 1, "duration": 5133 }, { "environmentIdx": 2, "duration": 5133 } ] }, { "title": "should place the caret in the right place with nested list", "attempts": [ { "duration": 3764 }, { "environmentIdx": 1, "duration": 4146 }, { "environmentIdx": 2, "duration": 4146 } ] }, { "title": "should not indent list on space with modifier", "attempts": [ { "duration": 3398 }, { "environmentIdx": 1, "duration": 3783 }, { "environmentIdx": 2, "duration": 3783 } ] }, { "title": "should only convert to list when shortcut ends with space", "attempts": [ { "duration": 3291 }, { "environmentIdx": 1, "duration": 3463 }, { "environmentIdx": 2, "duration": 3463 } ] }, { "title": "should preserve indentation after merging backward and forward (-firefox)", "attempts": [ { "duration": 4437 } ] }, { "title": "first empty list item is graciously removed", "attempts": [ { "duration": 3627 }, { "environmentIdx": 1, "duration": 4098 }, { "environmentIdx": 2, "duration": 4098 } ] }, { "title": "should not change the contents when you change the list type to Ordered", "attempts": [ { "duration": 3764 }, { "environmentIdx": 1, "duration": 4636 }, { "environmentIdx": 2, "duration": 4636 } ] }, { "title": "should not change the contents when you change the list type to Unordered", "attempts": [ { "duration": 4055 }, { "environmentIdx": 1, "duration": 4602 }, { "environmentIdx": 2, "duration": 4602 } ] }, { "title": "can be created by pasting an empty list (-firefox)", "attempts": [ { "duration": 3129 } ] }, { "title": "should merge two list with same attributes", "attempts": [ { "duration": 3764 }, { "environmentIdx": 1, "duration": 4662 }, { "environmentIdx": 2, "duration": 4662 } ] }, { "title": "can be exited to selected paragraph", "attempts": [ { "duration": 3398 }, { "environmentIdx": 1, "duration": 5550 }, { "environmentIdx": 2, "duration": 5550 } ] }, { "title": "selects all transformed output", "attempts": [ { "duration": 3764 }, { "environmentIdx": 1, "duration": 4503 }, { "environmentIdx": 2, "duration": 4503 } ] }, { "title": "should select the outer item fully when a text selection crosses the nesting boundary backward", "attempts": [ { "duration": 4329 }, { "environmentIdx": 1, "duration": 5120 }, { "environmentIdx": 2, "duration": 5120 } ] }, { "title": "should select the outer item fully when a text selection crosses the nesting boundary forward", "attempts": [ { "duration": 4437 }, { "environmentIdx": 1, "duration": 5120 }, { "environmentIdx": 2, "duration": 5120 } ] }, { "title": "should select the outer item fully when dragging a selection across the nesting boundary", "attempts": [ { "duration": 4329 }, { "environmentIdx": 1, "duration": 6740 }, { "environmentIdx": 2, "duration": 6740 } ] }, { "title": "should select the outer item fully when extending a selection down into its nested item", "attempts": [ { "duration": 4329 }, { "environmentIdx": 1, "duration": 5120 }, { "environmentIdx": 2, "duration": 5120 } ] }, { "title": "should multi-select the top level items when extending a selection down across an item with a nested item", "attempts": [ { "duration": 4464 }, { "environmentIdx": 1, "duration": 5133 }, { "environmentIdx": 2, "duration": 5133 } ] }, { "title": "should multi-select the top level items when extending a selection from a nested item to the previous top level item", "attempts": [ { "duration": 4097 }, { "environmentIdx": 1, "duration": 5003 }, { "environmentIdx": 2, "duration": 5003 } ] }, { "title": "should merge a following paragraph into the outermost list with Delete from a nested item (#77245)", "attempts": [ { "duration": 3398 }, { "environmentIdx": 1, "duration": 3724 }, { "environmentIdx": 2, "duration": 3724 } ] }, { "title": "should merge a following sibling list into the outermost list with Delete from a nested item (#77245)", "attempts": [ { "duration": 3398 }, { "environmentIdx": 1, "duration": 3807 }, { "environmentIdx": 2, "duration": 3807 } ] }, { "title": "should leave nested list intact when deleting the parent item", "attempts": [ { "duration": 3398 }, { "environmentIdx": 1, "duration": 3783 }, { "environmentIdx": 2, "duration": 3783 } ] }, { "title": "should outdent list items when deleting an empty parent at the top", "attempts": [ { "duration": 3349 }, { "environmentIdx": 1, "duration": 3689 }, { "environmentIdx": 2, "duration": 3689 } ] }, { "title": "should leave the rest of the list intact when merging into an empty list item", "attempts": [ { "duration": 3398 }, { "environmentIdx": 1, "duration": 4098 }, { "environmentIdx": 2, "duration": 4098 } ] }, { "title": "should select the list wrapper with select all in empty list item", "attempts": [ { "duration": 3291 }, { "environmentIdx": 1, "duration": 3746 }, { "environmentIdx": 2, "duration": 3746 } ] } ] } ] }, { "title": "editor/blocks/math.spec.js", "type": "file", "suites": [ { "title": "Math Block", "type": "suite", "tests": [ { "title": "should insert math block with LaTeX", "attempts": [ { "duration": 3764 } ] } ] } ] }, { "title": "editor/blocks/missing.spec.js", "type": "file", "suites": [ { "title": "missing block", "type": "suite", "tests": [ { "title": "should strip potentially malicious on* attributes", "attempts": [ { "duration": 2680 } ] }, { "title": "should strip potentially malicious script tags", "attempts": [ { "duration": 3002 } ] } ] } ] }, { "title": "editor/blocks/navigation-colors.spec.js", "type": "file", "suites": [ { "title": "Navigation colors", "type": "suite", "tests": [ { "title": "All navigation links should default to the body color and submenus and mobile overlay should default to a white background with black text", "attempts": [ { "duration": 5614 } ] }, { "title": "Top level navigation links inherit the text color from the theme/group but do not apply to the submenu or overlay text", "attempts": [ { "duration": 6258 } ] }, { "title": "Navigation text does not inherit the link color from the theme/group", "attempts": [ { "duration": 6258 } ] }, { "title": "The navigation text color should apply to all navigation links including submenu and overlay text", "attempts": [ { "duration": 5750 } ] }, { "title": "The navigation background color should apply to all navigation links including submenu and overlay backgrounds", "attempts": [ { "duration": 5750 } ] }, { "title": "As a user I expect my navigation to use the colors I selected for it", "attempts": [ { "duration": 6258 } ] } ] } ] }, { "title": "editor/blocks/navigation-frontend-interactivity.spec.js", "type": "file", "suites": [ { "title": "Navigation block - Frontend interactivity", "type": "suite", "suites": [ { "title": "Overlay menu", "type": "suite", "tests": [ { "title": "Overlay menu interactions", "attempts": [ { "duration": 5060 } ] }, { "title": "Overlay menu interactions in Safari (@webkit)", "attempts": [ { "duration": 5291 }, { "environmentIdx": 1, "duration": 8512 }, { "environmentIdx": 2, "duration": 5291 } ] } ] }, { "title": "Submenu mouse and keyboard interactions", "type": "suite", "tests": [ { "title": "Submenu interactions", "attempts": [ { "duration": 5692 } ] }, { "title": "Submenu interactions on Safari (@webkit)", "attempts": [ { "duration": 5355 }, { "environmentIdx": 1, "duration": 7262 }, { "environmentIdx": 2, "duration": 5355 } ] } ] }, { "title": "Submenus (Arrow setting) (@firefox, @webkit)", "type": "suite", "tests": [ { "title": "submenu click on the arrow interactions", "attempts": [ { "duration": 4504 }, { "environmentIdx": 1, "duration": 6683 }, { "environmentIdx": 2, "duration": 7638 } ] } ] }, { "title": "Page list block (@firefox, @webkit)", "type": "suite", "tests": [ { "title": "page-list submenu user interactions", "attempts": [ { "duration": 5060 }, { "environmentIdx": 1, "duration": 5895 }, { "environmentIdx": 2, "duration": 5003 } ] } ] }, { "title": "Legacy openSubmenusOnClick backward compatibility", "type": "suite", "suites": [ { "title": "Submenu touch device interactions", "type": "suite", "tests": [ { "title": "submenu does not open via hover on touch devices", "attempts": [ { "duration": 4504 } ] }, { "title": "chevron opens and closes submenu on touch devices", "attempts": [ { "duration": 4994 } ] }, { "title": "submenu still opens via hover on non-touch devices", "attempts": [ { "duration": 4733 } ] } ] } ], "tests": [ { "title": "Should render and migrate legacy openSubmenusOnClick blocks", "attempts": [ { "duration": 4326 } ] } ] } ] } ] }, { "title": "editor/blocks/navigation-list-view.spec.js", "type": "file", "suites": [ { "title": "Navigation block - List view editing", "type": "suite", "tests": [ { "title": "show a list view in the inspector controls", "attempts": [ { "duration": 3677 } ] }, { "title": "list view should correctly reflect navigation items' structure", "attempts": [ { "duration": 3677 } ] }, { "title": "can add new menu items", "attempts": [ { "duration": 4479 } ] }, { "title": "can remove menu items", "attempts": [ { "duration": 3677 } ] }, { "title": "can edit menu items", "attempts": [ { "duration": 4479 } ] }, { "title": "can add submenus", "attempts": [ { "duration": 4056 } ] }, { "title": "does not display link interface for blocks that have not just been inserted", "attempts": [ { "duration": 4274 } ] }, { "title": "can create a new menu without losing focus", "attempts": [ { "duration": 4479 } ] }, { "title": "displays custom menu name in List View tab header in contentOnly mode", "attempts": [ { "duration": 3677 } ] } ] } ] }, { "title": "editor/blocks/navigation-passive-rendering.spec.js", "type": "file", "suites": [ { "title": "Navigation passive rendering", "type": "suite", "tests": [ { "title": "does not dirty related template parts or navigation menus when rendered in the post editor", "attempts": [ { "duration": 4824 } ] } ] } ] }, { "title": "editor/blocks/navigation-submenu-visibility.spec.js", "type": "file", "suites": [ { "title": "Navigation block - Submenu Visibility", "type": "suite", "tests": [ { "title": "When Always is selected, submenus are visible on the page", "attempts": [ { "duration": 5060 } ] }, { "title": "Page List submenu visibility works correctly", "attempts": [ { "duration": 7961 } ] } ] } ] }, { "title": "editor/blocks/navigation.spec.js", "type": "file", "suites": [ { "title": "Navigation block", "type": "suite", "suites": [ { "title": "As a user I want the navigation block to fallback to the best possible default", "type": "suite", "tests": [ { "title": "default to a list of pages if there are no menus", "attempts": [ { "duration": 4274 } ] }, { "title": "default to my only existing menu", "attempts": [ { "duration": 4504 } ] }, { "title": "default to the only existing classic menu if there are no block menus", "attempts": [ { "duration": 4504 } ] }, { "title": "default to my most recently created menu", "attempts": [ { "duration": 5692 } ] } ] }, { "title": "As a user I want to create submenus using the navigation block", "type": "suite", "tests": [ { "title": "create a submenu", "attempts": [ { "duration": 5816 } ] }, { "title": "submenu converts to link automatically", "attempts": [ { "duration": 4056 } ] } ] }, { "title": "Focus management", "type": "suite", "tests": [ { "title": "Focus management when using the navigation link appender", "attempts": [ { "duration": 8343 } ] }, { "title": "Can add submenu item using the keyboard", "attempts": [ { "duration": 7507 } ] }, { "title": "Can add submenu item(custom-link) using the keyboard", "attempts": [ { "duration": 8343 } ] }, { "title": "Deleting items", "attempts": [ { "duration": 12389 } ] }, { "title": "should preserve focus in sidebar text input when typing (@firefox)", "attempts": [ { "duration": 5060 }, { "environmentIdx": 1, "duration": 5060 }, { "environmentIdx": 2, "duration": 5550 } ] }, { "title": "Selecting a new block from another link with a popover open should respect the new block selection", "attempts": [ { "duration": 7961 } ] }, { "title": "Can create a new page using the navigation block appender", "attempts": [ { "duration": 5060 } ] } ] }, { "title": "Navigation Link Entity bindings", "type": "suite", "tests": [ { "title": "can update a bound page link label from the inline Link UI", "attempts": [ { "duration": 7778 } ] }, { "title": "can bind to a page", "attempts": [ { "duration": 14815 } ] }, { "title": "existing links with id but no binding remain editable", "attempts": [ { "duration": 7424 } ] }, { "title": "Page List converts to Navigation Links with entity bindings", "attempts": [ { "duration": 8146 } ] }, { "title": "handles unavailable entity binding", "attempts": [ { "duration": 8960 } ] } ] }, { "title": "URL Validation", "type": "suite", "tests": [ { "title": "link field validates on submit in Link UI popover", "attempts": [ { "duration": 7424 } ] } ] }, { "title": "Navigation Link Inspector Link Editing", "type": "suite", "tests": [ { "title": "can update page link to a new page link", "attempts": [ { "duration": 5060 } ] }, { "title": "can update page link to a custom URL", "attempts": [ { "duration": 5060 } ] }, { "title": "can update custom URL link to a new custom URL link", "attempts": [ { "duration": 5355 } ] }, { "title": "can add a page link to an empty link field", "attempts": [ { "duration": 5060 } ] } ] } ], "tests": [ { "title": "As a user I want to see a warning if the menu referenced by a navigation block is not available", "attempts": [ { "duration": 3853 } ] }, { "title": "Adding new links to a navigation block with existing inner blocks triggers creation of a single Navigation Menu", "attempts": [ { "duration": 4504 } ] } ] } ] }, { "title": "editor/blocks/page-list.spec.js", "type": "file", "suites": [ { "title": "Page List block", "type": "suite", "tests": [ { "title": "renders HTML formatting and entities in page titles", "attempts": [ { "duration": 3357 } ] } ] } ] }, { "title": "editor/blocks/paragraph.spec.js", "type": "file", "suites": [ { "title": "Paragraph", "type": "suite", "suites": [ { "title": "Empty paragraph", "type": "suite", "suites": [ { "title": "Dragging positions", "type": "suite", "tests": [ { "title": "Only the first block is an empty paragraph block", "attempts": [ { "duration": 3357 } ] }, { "title": "Only the second block is an empty paragraph block", "attempts": [ { "duration": 3495 } ] }, { "title": "Both blocks are empty paragraph blocks", "attempts": [ { "duration": 3357 } ] } ] } ], "tests": [ { "title": "should allow dropping an image on an empty paragraph block", "attempts": [ { "duration": 3677 } ] }, { "title": "should allow dropping blocks on an empty paragraph block", "attempts": [ { "duration": 3969 } ] }, { "title": "should allow dropping HTML on an empty paragraph block", "attempts": [ { "duration": 3562 } ] } ] } ], "tests": [ { "title": "should output unwrapped editable paragraph", "attempts": [ { "duration": 3346 } ] } ] } ] }, { "title": "editor/blocks/playlist.spec.js", "type": "file", "suites": [ { "title": "Playlist block", "type": "suite", "tests": [ { "title": "shows the add track control when a playlist track is selected", "attempts": [ { "duration": 3357 } ] }, { "title": "waveform seek control can be reached and operated with the keyboard on the frontend", "attempts": [ { "duration": 2067 } ] }, { "title": "removes player artwork when switching to a track without an image on the frontend", "attempts": [ { "duration": 673 } ] } ] } ] }, { "title": "editor/blocks/post-comments-form.spec.js", "type": "file", "suites": [ { "title": "Comments Form", "type": "suite", "tests": [ { "title": "placeholder displays in the site editor even when comments are closed by default", "attempts": [ { "duration": 3495 } ] } ] } ] }, { "title": "editor/blocks/post-title.spec.js", "type": "file", "suites": [ { "title": "Post Title block", "type": "suite", "tests": [ { "title": "Can edit the post title", "attempts": [ { "duration": 5605 } ] }, { "title": "should not insert a block on Enter at the end of the title in a locked template", "attempts": [ { "duration": 3505 } ] } ] } ] }, { "title": "editor/blocks/preformatted.spec.js", "type": "file", "suites": [ { "title": "Preformatted", "type": "suite", "tests": [ { "title": "should preserve character newlines", "attempts": [ { "duration": 4504 } ] }, { "title": "should preserve white space when merging", "attempts": [ { "duration": 3505 } ] }, { "title": "should delete block when backspace in an empty preformatted", "attempts": [ { "duration": 3357 } ] } ] } ] }, { "title": "editor/blocks/pullquote.spec.js", "type": "file", "suites": [ { "title": "Quote", "type": "suite", "tests": [ { "title": "can be created by converting a quote and converted back to quote", "attempts": [ { "duration": 3677 } ] } ] } ] }, { "title": "editor/blocks/query.spec.js", "type": "file", "suites": [ { "title": "Query block", "type": "suite", "suites": [ { "title": "Query block insertion", "type": "suite", "tests": [ { "title": "List", "attempts": [ { "duration": 3945 } ] } ] } ] } ] }, { "title": "editor/blocks/quote.spec.js", "type": "file", "suites": [ { "title": "Quote", "type": "suite", "suites": [ { "title": "can be converted to paragraphs", "type": "suite", "tests": [ { "title": "and renders one paragraph block per <p> within quote", "attempts": [ { "duration": 4056 } ] }, { "title": "and renders a paragraph for the cite, if it exists", "attempts": [ { "duration": 4504 } ] }, { "title": "and renders only one paragraph for the cite, if the quote is void", "attempts": [ { "duration": 4056 } ] }, { "title": "and renders a void paragraph if both the cite and quote are void", "attempts": [ { "duration": 3677 } ] } ] } ], "tests": [ { "title": "should allow the user to type right away", "attempts": [ { "duration": 3357 } ] }, { "title": "shows an appender to refill the quote after its last block is removed", "attempts": [ { "duration": 4056 } ] }, { "title": "can be created by using > at the start of a paragraph block", "attempts": [ { "duration": 3876 } ] }, { "title": "can be created by typing > in front of text of a paragraph block", "attempts": [ { "duration": 3524 } ] }, { "title": "can be created by typing \"/quote\"", "attempts": [ { "duration": 3677 } ] }, { "title": "can be created by converting a paragraph", "attempts": [ { "duration": 3357 } ] }, { "title": "can be created by converting multiple paragraphs", "attempts": [ { "duration": 3677 } ] }, { "title": "can be created by converting a heading", "attempts": [ { "duration": 3357 } ] }, { "title": "can be converted to verse with mixed content", "attempts": [ { "duration": 3357 } ] }, { "title": "can be converted to a pullquote", "attempts": [ { "duration": 4264 } ] }, { "title": "can be split at the end", "attempts": [ { "duration": 3655 } ] }, { "title": "can be unwrapped on Backspace", "attempts": [ { "duration": 3357 } ] }, { "title": "can be unwrapped with content on Backspace", "attempts": [ { "duration": 4056 } ] }, { "title": "shouldn't crash selecting content + cite and pressing backspace.", "attempts": [ { "duration": 4050 } ] } ] } ] }, { "title": "editor/blocks/rss.spec.js", "type": "file", "suites": [ { "title": "RSS", "type": "suite", "tests": [ { "title": "should retain native copy/paste behavior for input fields", "attempts": [ { "duration": 3677 } ] } ] } ] }, { "title": "editor/blocks/search.spec.js", "type": "file", "suites": [ { "title": "Search", "type": "suite", "tests": [ { "title": "should auto-configure itself to sensible defaults when inserted into a Navigation block", "attempts": [ { "duration": 4504 } ] } ] } ] }, { "title": "editor/blocks/separator.spec.js", "type": "file", "suites": [ { "title": "Separator", "type": "suite", "tests": [ { "title": "can be created by three dashes", "attempts": [ { "duration": 3357 } ] }, { "title": "is not created by three dashes when the block cannot be replaced", "attempts": [ { "duration": 3346 } ] } ] } ] }, { "title": "editor/blocks/shortcode.spec.js", "type": "file", "suites": [ { "title": "Shortcode", "type": "suite", "tests": [ { "title": "should transform to a matching block when the text is a single recognized shortcode", "attempts": [ { "duration": 3655 } ] }, { "title": "should not offer transforms when the text is not a recognized shortcode", "attempts": [ { "duration": 3357 } ] }, { "title": "should not offer transforms when the text contains more than one shortcode", "attempts": [ { "duration": 3357 } ] } ] } ] }, { "title": "editor/blocks/site-title.spec.js", "type": "file", "suites": [ { "title": "Site Title block", "type": "suite", "tests": [ { "title": "Can edit the site title as admin", "attempts": [ { "duration": 5816 } ] }, { "title": "Cannot edit the site title as editor", "attempts": [ {} ] } ] } ] }, { "title": "editor/blocks/spacer.spec.js", "type": "file", "suites": [ { "title": "Spacer", "type": "suite", "tests": [ { "title": "can be created by typing \"/spacer\"", "attempts": [ { "duration": 3505 } ] }, { "title": "can be resized using the drag handle and remains selected after being dragged", "attempts": [ { "duration": 3677 } ] }, { "title": "should work in theme without spacing units support", "attempts": [ { "duration": 3186 } ] } ] } ] }, { "title": "editor/blocks/table-of-contents.spec.js", "type": "file", "suites": [ { "title": "Table of Contents", "type": "suite", "suites": [ { "title": "Writing and editing", "type": "suite", "tests": [ { "title": "updates in the editor as headings are added, removed, or reordered", "attempts": [ { "duration": 3505 } ] }, { "title": "shows the same nested heading list in the editor and after publish", "attempts": [ { "duration": 4056 } ] }, { "title": "uses the anchor chosen for a heading after publish", "attempts": [ { "duration": 6577 } ] }, { "title": "limits visible heading levels in the editor and after publish when the block setting changes", "attempts": [ { "duration": 4285 } ] }, { "title": "switches list styles in the editor and keeps the chosen style after publish", "attempts": [ { "duration": 4504 } ] }, { "title": "shows an editor notice and does not render on the front of site when no headings exist", "attempts": [ { "duration": 4056 } ] } ] }, { "title": "Reading and navigating", "type": "suite", "tests": [ { "title": "front-of-site table of contents reflects updated post headings", "attempts": [ { "duration": 4056 } ] }, { "title": "clicking a table of contents item on the front of site scrolls to the matching section", "attempts": [ { "duration": 650 } ] }, { "title": "clicking a front-of-site hash link keeps the reader on the post page", "attempts": [ { "duration": 650 } ] }, { "title": "clicking a front-of-site link to page 2 opens that page and section", "attempts": [ { "duration": 821 } ] }, { "title": "viewing nested headings on the front of site shows subsections nested under their section", "attempts": [ { "duration": 586 } ] } ] }, { "title": "Accessibility", "type": "suite", "tests": [ { "title": "is exposed as a distinct named region on the front of site", "attempts": [ { "duration": 586 } ] }, { "title": "keyboard focus reaches and moves through front-of-site links in predictable order", "attempts": [ { "duration": 816 } ] }, { "title": "is distinguishable from the site main menu on the front of site", "attempts": [ { "duration": 586 } ] } ] }, { "title": "Placing the block across a site", "type": "suite", "tests": [ { "title": "a table of contents added once to a shared template uses each viewed post heading list", "attempts": [ {} ] }, { "title": "a table of contents in a shared template links to post headings created without a post-level table of contents", "attempts": [ {} ] }, { "title": "template editing explains when a live example cannot be shown and the front of site uses the viewed post", "attempts": [ {} ] }, { "title": "only lists headings from the viewed post content boundary", "attempts": [ {} ] }, { "title": "templates that do not render post content show an editor placeholder and render nothing to readers", "attempts": [ {} ] } ] }, { "title": "Supporting content built with other blocks", "type": "suite", "tests": [ { "title": "shows the customized synced pattern heading in the front-of-site table of contents", "attempts": [ {} ] }, { "title": "registered pattern block headings appear in the front-of-site table of contents", "attempts": [ {} ] }, { "title": "heading elements created by non-Heading blocks appear in the editor and after publish", "attempts": [ {} ] }, { "title": "a plugin heading-source block appears in the editor and after publish while a plain heading-like block is ignored", "attempts": [ {} ] } ] } ] } ] }, { "title": "editor/blocks/table.spec.js", "type": "file", "suites": [ { "title": "Table", "type": "suite", "tests": [ { "title": "displays a form for choosing the row and column count of the table", "attempts": [ { "duration": 3588 } ] }, { "title": "allows text to by typed into cells", "attempts": [ { "duration": 3860 } ] }, { "title": "allows header and footer rows to be switched on and off", "attempts": [ { "duration": 4264 } ] }, { "title": "allows adding and deleting columns across the table header, body and footer", "attempts": [ { "duration": 4056 } ] }, { "title": "allows columns to be aligned", "attempts": [ { "duration": 5060 } ] }, { "title": "allows cells to be selected when the cell area outside of the RichText is clicked", "attempts": [ { "duration": 3677 } ] }, { "title": "allows a caption to be added", "attempts": [ { "duration": 3677 } ] }, { "title": "up and down arrow navigation", "attempts": [ { "duration": 3505 } ] }, { "title": "should not have focus loss after creation", "attempts": [ { "duration": 3346 } ] } ] } ] }, { "title": "editor/blocks/tabs.spec.js", "type": "file", "suites": [ { "title": "Tabs", "type": "suite", "suites": [ { "title": "Editor functionality", "type": "suite", "tests": [ { "title": "activates the next tab when the caret moves into its label with the right arrow key", "attempts": [ { "duration": 3677 } ] }, { "title": "activates the previous tab when the caret moves into its label with the left arrow key", "attempts": [ { "duration": 3677 } ] }, { "title": "switches the active tab and selects the tab list when a tab is clicked while a block in another panel is selected", "attempts": [ { "duration": 3677 } ] }, { "title": "adds and activates a new tab when pressing Enter at the end of a tab label", "attempts": [ { "duration": 3677 } ] }, { "title": "removes the tab and activates the previous one when pressing Delete on an empty tab label", "attempts": [ { "duration": 3677 } ] }, { "title": "moves the active tab to the previous position with the toolbar mover", "attempts": [ { "duration": 3677 } ] }, { "title": "moves the active tab to the next position with the toolbar mover", "attempts": [ { "duration": 3677 } ] } ] } ] } ] }, { "title": "editor/blocks/verse-code-preformatted.spec.js", "type": "file", "suites": [ { "title": "core/verse", "type": "suite", "tests": [ { "title": "should exit on triple Enter and merge back", "attempts": [ { "duration": 3505 } ] } ] }, { "title": "core/code", "type": "suite", "tests": [ { "title": "should exit on triple Enter and merge back", "attempts": [ { "duration": 3505 } ] } ] }, { "title": "core/preformatted", "type": "suite", "tests": [ { "title": "should exit on triple Enter and merge back", "attempts": [ { "duration": 3505 } ] } ] } ] }, { "title": "editor/collaboration/collaboration-autodraft-autosave-loss.spec.ts", "type": "file", "suites": [ { "title": "Collaboration - auto-draft autosave retention", "type": "suite", "tests": [ { "title": "keeps a new post discoverable after the editor automatically autosaves it", "attempts": [ { "duration": 5355 } ] } ] } ] }, { "title": "editor/collaboration/collaboration-autodraft-collaborator-autosave-loss.spec.ts", "type": "file", "suites": [ { "title": "Collaboration - auto-draft collaborator autosave retention", "type": "suite", "tests": [ { "title": "keeps a new post discoverable when a collaborator makes the first autosaved edit", "attempts": [ { "duration": 12389 } ] } ] } ] }, { "title": "editor/collaboration/collaboration-autosave-notice-suppression.spec.ts", "type": "file", "suites": [ { "title": "Collaboration - autosave notice suppression", "type": "suite", "tests": [ { "title": "does not show the notice when the autosave content is already in the shared document", "attempts": [ { "duration": 21777 } ] }, { "title": "still shows the notice when the autosave did not reach the shared document", "attempts": [ { "duration": 3505 } ] } ] } ] }, { "title": "editor/collaboration/collaboration-awareness-cursor-position.spec.ts", "type": "file", "suites": [ { "title": "Collaboration - Awareness Cursor Position", "type": "suite", "tests": [ { "title": "awareness cursor tracks all positions through a bolded word without sticking at formatting boundaries", "attempts": [ { "duration": 45391 } ] } ] } ] }, { "title": "editor/collaboration/collaboration-block-gauntlet.spec.ts", "type": "file", "suites": [ { "title": "Collaboration - Block Gauntlet", "type": "suite", "tests": [ { "title": "Text blocks sync modifications between users", "attempts": [ { "duration": 18911 } ] }, { "title": "Container blocks sync modifications between users", "attempts": [ { "duration": 21746 } ] }, { "title": "Media, embed, and utility blocks sync modifications between users", "attempts": [ { "duration": 17898 } ] }, { "title": "Widget and dynamic blocks sync modifications between users", "attempts": [ { "duration": 17898 } ] } ] } ] }, { "title": "editor/collaboration/collaboration-code-editor-performance.spec.ts", "type": "file", "suites": [ { "title": "Collaboration - Code editor performance", "type": "suite", "tests": [ { "title": "should not freeze when replacing content with large HTML in code editor", "attempts": [ { "duration": 4504 } ] } ] } ] }, { "title": "editor/collaboration/collaboration-code-editor-selection.spec.ts", "type": "file", "suites": [ { "title": "Collaboration - Code editor selection", "type": "suite", "tests": [ { "title": "does not move the code editor cursor to the end after a remote append", "attempts": [ { "duration": 13700 } ] }, { "title": "shifts a cursor placed with arrow keys after a remote insert before it", "attempts": [ { "duration": 14216 } ] } ] } ] }, { "title": "editor/collaboration/collaboration-cursor-stability.spec.ts", "type": "file", "suites": [ { "title": "Collaboration - Cursor Stability", "type": "suite", "tests": [ { "title": "cursor position is preserved when a collaborator applies bold formatting before the cursor", "attempts": [ { "duration": 16503 } ] } ] } ] }, { "title": "editor/collaboration/collaboration-local-backup-notice-suppression.spec.ts", "type": "file", "suites": [ { "title": "Collaboration - browser backup notice suppression", "type": "suite", "tests": [ { "title": "clears the backup without a notice when the shared document contains it", "attempts": [ { "duration": 25020 } ] }, { "title": "still shows the notice when the backup has no snapshot", "attempts": [ { "duration": 5692 } ] } ] } ] }, { "title": "editor/collaboration/collaboration-metabox-lock.spec.ts", "type": "file", "suites": [ { "title": "Collaboration with meta boxes", "type": "suite", "suites": [ { "title": "incompatible meta boxes", "type": "suite", "tests": [ { "title": "shows post-locked modal when meta boxes disable collaboration", "attempts": [ { "duration": 8960 } ] }, { "title": "keeps undo available when meta boxes disable collaboration", "attempts": [ { "duration": 4056 } ] } ] }, { "title": "RTC-compatible meta boxes", "type": "suite", "tests": [ { "title": "does not disable collaboration when all meta boxes are RTC-compatible", "attempts": [ { "duration": 7961 } ] } ] } ] } ] }, { "title": "editor/collaboration/collaboration-multibyte.spec.ts", "type": "file", "suites": [ { "title": "Collaboration - Multi-byte character encoding", "type": "suite", "tests": [ { "title": "syncs emoji between two users without corruption", "attempts": [ { "duration": 13700 } ] }, { "title": "syncs multiple emoji between users", "attempts": [ { "duration": 17022 } ] }, { "title": "syncs emoji inserted by a collaborator", "attempts": [ { "duration": 15089 } ] }, { "title": "syncs CJK Extension B characters (rare kanji) between users", "attempts": [ { "duration": 13700 } ] }, { "title": "syncs mathematical symbols from supplementary plane between users", "attempts": [ { "duration": 13700 } ] } ] } ] }, { "title": "editor/collaboration/collaboration-nested-awareness-selection.spec.ts", "type": "file", "suites": [ { "title": "Collaboration - Nested Awareness Selection", "type": "suite", "tests": [ { "title": "cursor in a table cell appears in the same cell for another user", "attempts": [ { "duration": 14216 } ] } ] } ] }, { "title": "editor/collaboration/collaboration-notes.spec.ts", "type": "file", "suites": [ { "title": "Collaboration - Notes Sync", "type": "suite", "tests": [ { "title": "User A adds a note, User B sees it", "attempts": [ { "duration": 21084 } ] }, { "title": "User B adds a note, User A sees it", "attempts": [ { "duration": 28818 } ] }, { "title": "Note with reply syncs between users", "attempts": [ { "duration": 21777 } ] } ] } ] }, { "title": "editor/collaboration/collaboration-notification-preferences.spec.ts", "type": "file", "suites": [ { "title": "Collaboration - Notification preferences", "type": "suite", "tests": [ { "title": "Collaboration notification toggles are visible in Preferences", "attempts": [ { "duration": 3677 } ] }, { "title": "Shows a snackbar notice when a collaborator joins the post", "attempts": [ { "duration": 12389 } ] } ] } ] }, { "title": "editor/collaboration/collaboration-peer-blank-revision.spec.ts", "type": "file", "suites": [ { "title": "Collaboration - peer blank revision", "type": "suite", "tests": [ { "title": "a peer autosave matching the latest revision does not create a blank revision", "attempts": [ { "duration": 15089 } ] } ] } ] }, { "title": "editor/collaboration/collaboration-persistence.spec.ts", "type": "file", "suites": [ { "title": "Collaboration - CRDT persistence", "type": "suite", "tests": [ { "title": "persists CRDT document when loading existing post without one", "attempts": [ { "duration": 5692 } ] }, { "title": "does not save CRDT document for auto-draft posts", "attempts": [ { "duration": 3357 } ] }, { "title": "persisted CRDT document matches content after save and reload", "attempts": [ { "duration": 6577 } ] } ] } ] }, { "title": "editor/collaboration/collaboration-presence.spec.ts", "type": "file", "suites": [ { "title": "Collaboration - Presence", "type": "suite", "tests": [ { "title": "Collaborator avatars appear when two users are editing", "attempts": [ { "duration": 14815 } ] }, { "title": "Collaborator name shows in the popover list", "attempts": [ { "duration": 13558 } ] } ] } ] }, { "title": "editor/collaboration/collaboration-refresh.spec.ts", "type": "file", "suites": [ { "title": "Collaboration - Refresh", "type": "suite", "tests": [ { "title": "User A edits are synced to User B after User A refreshes", "attempts": [ { "duration": 26697 } ] } ] } ] }, { "title": "editor/collaboration/collaboration-selection.spec.ts", "type": "file", "suites": [ { "title": "Collaboration - Selection Rendering", "type": "suite", "tests": [ { "title": "Text selection is visible to other users", "attempts": [ { "duration": 19511 } ] }, { "title": "Text selection across two blocks renders selections in both blocks", "attempts": [ { "duration": 19470 } ] }, { "title": "Clearing a selection removes highlight rectangles", "attempts": [ { "duration": 21122 } ] } ] } ] }, { "title": "editor/collaboration/collaboration-self-presence.spec.ts", "type": "file", "suites": [ { "title": "Collaboration - self presence", "type": "suite", "tests": [ { "title": "Self user always appears in collaborators list with \"You\" label", "attempts": [ { "duration": 14730 } ] }, { "title": "Self user remains in collaborators list when cursor preference is disabled", "attempts": [ { "duration": 13534 } ] } ] } ] }, { "title": "editor/collaboration/collaboration-stale-autosave-notice.spec.ts", "type": "file", "suites": [ { "title": "Collaboration - stale autosave notice", "type": "suite", "tests": [ { "title": "does not show an unnecessary notice in RTC after a no-op autosave", "attempts": [ { "duration": 5692 } ] } ] } ] }, { "title": "editor/collaboration/collaboration-stress.spec.ts", "type": "file", "suites": [ { "title": "Collaboration - Stress Test", "type": "suite", "tests": [ { "title": "three users concurrently edit a large post with diverse blocks", "attempts": [ { "duration": 39071 } ] }, { "title": "two users concurrently move list items", "attempts": [ { "duration": 31740 } ] } ] } ] }, { "title": "editor/collaboration/collaboration-sync.spec.ts", "type": "file", "suites": [ { "title": "Collaboration - Sync", "type": "suite", "tests": [ { "title": "User A adds a paragraph block, User B sees it", "attempts": [ { "duration": 17206 } ] }, { "title": "User B adds a paragraph block, User A sees it", "attempts": [ { "duration": 14815 } ] }, { "title": "Both users add blocks simultaneously, both changes appear", "attempts": [ { "duration": 15089 } ] }, { "title": "Title changes sync between users", "attempts": [ { "duration": 14815 } ] } ] } ] }, { "title": "editor/collaboration/collaboration-title-reload.spec.ts", "type": "file", "tests": [ { "title": "reloading after a synced title edit keeps both users on the same title", "attempts": [ { "duration": 21777 } ] } ] }, { "title": "editor/collaboration/collaboration-undo-navigation-block.spec.ts", "type": "file", "suites": [ { "title": "Collaboration - Undo with a navigation block", "type": "suite", "tests": [ { "title": "User B can undo typing in a paragraph with a single undo press", "attempts": [ { "duration": 23261 } ] } ] } ] }, { "title": "editor/collaboration/collaboration-undo-redo.spec.ts", "type": "file", "suites": [ { "title": "Collaboration - Undo/Redo", "type": "suite", "tests": [ { "title": "User A undo only affects their own changes, not User B changes", "attempts": [ { "duration": 19357 } ] }, { "title": "Redo restores the undone change", "attempts": [ { "duration": 14801 } ] }, { "title": "Content in CRDT doc stays in sync when blocks are cleared", "attempts": [ { "duration": 13700 } ] }, { "title": "Post is marked dirty on both collaborators after User A inserts a block", "attempts": [ { "duration": 13700 } ] }, { "title": "Undo restores the post selection when another synced entity is loaded", "attempts": [ { "duration": 4994 } ] } ] } ] }, { "title": "editor/collaboration/http-only/collaboration-document-size-lock.spec.ts", "type": "file", "suites": [ { "title": "Collaboration with large documents", "type": "suite", "tests": [ { "title": "shows post-locked modal when document size limit is exceeded", "attempts": [ { "duration": 188794 } ] } ] } ] }, { "title": "editor/collaboration/http-only/collaboration-sync-body-size.spec.ts", "type": "file", "suites": [ { "title": "Collaboration sync body size", "type": "suite", "tests": [ { "title": "keeps multi-room sync polls under the body-size limit", "attempts": [ { "duration": 18410 } ] } ] } ] }, { "title": "editor/collaboration/http-only/collaboration-sync-error-filter.spec.ts", "type": "file", "suites": [ { "title": "Sync connection error filter", "type": "suite", "tests": [ { "title": "plugin can replace the default modal for connection-limit-exceeded", "attempts": [ { "duration": 21122 } ] } ] } ] }, { "title": "editor/collaboration/http-only/collaboration-taxonomy-record-dirty.spec.ts", "type": "file", "suites": [ { "title": "Collaboration - synced taxonomy records", "type": "suite", "tests": [ { "title": "pre-publish panel does not dirty the default category record", "attempts": [ { "duration": 18410 } ] } ] } ] }, { "title": "editor/plugins/align-hook.spec.js", "type": "file", "suites": [ { "title": "Align Hook Works as Expected", "type": "suite", "suites": [ { "title": "Block with no alignment set", "type": "suite", "tests": [ { "title": "shows no alignment buttons on the alignment toolbar", "attempts": [ { "duration": 3357 } ] }, { "title": "does not save any alignment related attribute or class", "attempts": [ { "duration": 3055 } ] } ] }, { "title": "Block with align true", "type": "suite", "tests": [ { "title": "shows the expected buttons on the alignment toolbar", "attempts": [ { "duration": 3186 } ] }, { "title": "applies none alignment by default", "attempts": [ { "duration": 3190 } ] }, { "title": "correctly applies the selected alignment and correctly removes the alignment", "attempts": [ { "duration": 3677 } ] } ] }, { "title": "Block with align array", "type": "suite", "tests": [ { "title": "shows the expected buttons on the alignment toolbar", "attempts": [ { "duration": 3186 } ] }, { "title": "applies none alignment by default", "attempts": [ { "duration": 3357 } ] }, { "title": "correctly applies the selected alignment and correctly removes the alignment", "attempts": [ { "duration": 3677 } ] } ] }, { "title": "Block with default align", "type": "suite", "tests": [ { "title": "shows the expected buttons on the alignment toolbar", "attempts": [ { "duration": 3258 } ] }, { "title": "applies the selected alignment by default", "attempts": [ { "duration": 3258 } ] }, { "title": "the default markup does not contain the alignment attribute but contains the alignment class", "attempts": [ { "duration": 3055 } ] }, { "title": "can remove the default alignment and the align attribute equals none but alignnone class is not applied", "attempts": [ { "duration": 3357 } ] }, { "title": "correctly applies the selected alignment and correctly removes the alignment", "attempts": [ { "duration": 3677 } ] } ] } ] } ] }, { "title": "editor/plugins/allowed-blocks.spec.js", "type": "file", "suites": [ { "title": "Allowed Blocks Filter", "type": "suite", "tests": [ { "title": "should restrict the allowed blocks in the inserter", "attempts": [ { "duration": 3055 } ] }, { "title": "should remove not allowed blocks from the block manager", "attempts": [ { "duration": 3055 } ] } ] } ] }, { "title": "editor/plugins/annotations.spec.js", "type": "file", "suites": [ { "title": "Annotations", "type": "suite", "tests": [ { "title": "allows a block to be annotated", "attempts": [ { "duration": 4056 } ] }, { "title": "keeps the cursor in the same location when applying annotation", "attempts": [ { "duration": 3677 } ] }, { "title": "moves when typing before it", "attempts": [ { "duration": 3677 } ] }, { "title": "grows when typing inside it", "attempts": [ { "duration": 3677 } ] }, { "title": "automatically annotates the word \"apple\"", "attempts": [ { "duration": 3357 } ] }, { "title": "automatically annotates the word \"apple\" (bold)", "attempts": [ { "duration": 3655 } ] } ] } ] }, { "title": "editor/plugins/block-api.spec.js", "type": "file", "suites": [ { "title": "Using Block API", "type": "suite", "tests": [ { "title": "Inserts the filtered hello world block even when filter added after block registration", "attempts": [ { "duration": 3055 } ] } ] } ] }, { "title": "editor/plugins/block-context.spec.js", "type": "file", "suites": [ { "title": "Block context", "type": "suite", "tests": [ { "title": "Block context propagates to inner blocks", "attempts": [ { "duration": 3258 } ] }, { "title": "Block context is reflected in the preview", "attempts": [ { "duration": 4056 } ] } ] } ] }, { "title": "editor/plugins/block-directory.spec.js", "type": "file", "suites": [ { "title": "Block Directory", "type": "suite", "tests": [ { "title": "Should show an empty state when no plugin is found", "attempts": [ { "duration": 4056 } ] }, { "title": "Should be able to add (the first) block", "attempts": [ { "duration": 4504 } ] } ] } ] }, { "title": "editor/plugins/block-hooks.spec.js", "type": "file", "suites": [ { "title": "Block Hooks API", "type": "suite", "suites": [ { "title": "Hooked blocks in Post Content (blocks)", "type": "suite", "tests": [ { "title": "should insert hooked blocks into Post Content on frontend", "attempts": [ { "duration": 284 } ] }, { "title": "should insert hooked blocks into Post Content in editor and respect changes made there", "attempts": [ { "duration": 5692 } ] } ] }, { "title": "Hooked blocks in Post Content (classic)", "type": "suite", "tests": [ { "title": "should insert hooked blocks into Post Content on frontend", "attempts": [ { "duration": 286 } ] }, { "title": "should insert hooked blocks into Post Content in editor and respect changes made there", "attempts": [ { "duration": 6327 } ] } ] }, { "title": "Hooked blocks in Synced Pattern (blocks)", "type": "suite", "tests": [ { "title": "should insert hooked blocks into Synced Pattern on frontend", "attempts": [ { "duration": 269 } ] }, { "title": "should insert hooked blocks into Synced Pattern in editor and respect changes made there", "attempts": [ { "duration": 5692 } ] } ] }, { "title": "Hooked blocks in Synced Pattern (classic)", "type": "suite", "tests": [ { "title": "should insert hooked blocks into Synced Pattern on frontend", "attempts": [ { "duration": 269 } ] }, { "title": "should insert hooked blocks into Synced Pattern in editor and respect changes made there", "attempts": [ { "duration": 5692 } ] } ] }, { "title": "Hooked blocks in Navigation Menu", "type": "suite", "tests": [ { "title": "should insert hooked blocks into Navigation Menu on frontend", "attempts": [ { "duration": 269 } ] }, { "title": "should insert hooked blocks into Navigation Menu in editor and respect changes made there", "attempts": [ { "duration": 6577 } ] } ] } ] } ] }, { "title": "editor/plugins/block-icons.spec.js", "type": "file", "suites": [ { "title": "Block Icons", "type": "suite", "tests": [ { "title": "Block with svg icon", "attempts": [ { "duration": 4056 } ] }, { "title": "Block with dash icon", "attempts": [ { "duration": 4056 } ] }, { "title": "Block with function icon", "attempts": [ { "duration": 3969 } ] }, { "title": "Block with dash icon and background/foreground colors", "attempts": [ { "duration": 4056 } ] }, { "title": "Block with svg icon and background should compute a readable foreground color", "attempts": [ { "duration": 4056 } ] } ] } ] }, { "title": "editor/plugins/block-variations.spec.js", "type": "file", "suites": [ { "title": "Block variations", "type": "suite", "tests": [ { "title": "Search for the overridden default Quote block", "attempts": [ { "duration": 3677 } ] }, { "title": "Insert the overridden default Quote block variation", "attempts": [ { "duration": 4056 } ] }, { "title": "Search for the Paragraph block with 2 additional variations", "attempts": [ { "duration": 3677 } ] }, { "title": "Insert the Success Message block variation", "attempts": [ { "duration": 4479 } ] }, { "title": "Pick the additional variation in the inserted Columns block", "attempts": [ { "duration": 3677 } ] }, { "title": "should show block information when no matching variation is found", "attempts": [ { "duration": 4056 } ] }, { "title": "should display variations info if all declared", "attempts": [ { "duration": 4479 } ] }, { "title": "should display mixed block and variation match information", "attempts": [ { "duration": 4479 } ] } ] } ] }, { "title": "editor/plugins/child-blocks.spec.js", "type": "file", "suites": [ { "title": "Child Blocks", "type": "suite", "tests": [ { "title": "are hidden from the global block inserter", "attempts": [ { "duration": 3357 } ] }, { "title": "shows up in a parent block", "attempts": [ { "duration": 4056 } ] }, { "title": "display in a parent block with allowedItems", "attempts": [ { "duration": 3677 } ] } ] } ] }, { "title": "editor/plugins/container-blocks.spec.js", "type": "file", "suites": [ { "title": "Container block without paragraph support", "type": "suite", "tests": [ { "title": "ensures we can use the alternative block appender properly", "attempts": [ { "duration": 3677 } ] } ] } ] }, { "title": "editor/plugins/custom-post-types.spec.js", "type": "file", "suites": [ { "title": "Test Custom Post Types", "type": "suite", "tests": [ { "title": "should be able to create an hierarchical post without title support", "attempts": [ { "duration": 8960 } ] }, { "title": "should not be able to rename a post that lacks title support", "attempts": [ { "duration": 3055 } ] }, { "title": "should create a cpt with a legacy block in its template without WSOD", "attempts": [ { "duration": 3677 } ] } ] } ] }, { "title": "editor/plugins/custom-taxonomies.spec.js", "type": "file", "suites": [ { "title": "Custom Taxonomies labels are used", "type": "suite", "tests": [ { "title": "Ensures the custom taxonomy labels are respected", "attempts": [ { "duration": 3346 } ] } ] } ] }, { "title": "editor/plugins/deprecated-node-matcher.spec.js", "type": "file", "suites": [ { "title": "Deprecated Node Matcher", "type": "suite", "tests": [ { "title": "should insert block with node source", "attempts": [ { "duration": 3357 } ] }, { "title": "should insert block with children source", "attempts": [ { "duration": 3357 } ] } ] } ] }, { "title": "editor/plugins/format-api.spec.js", "type": "file", "suites": [ { "title": "Using Format API", "type": "suite", "tests": [ { "title": "Clicking the control wraps the selected text properly with HTML code", "attempts": [ { "duration": 3677 } ] }, { "title": "should show unknow formatting button", "attempts": [ { "duration": 3357 } ] }, { "title": "should not create duplicated wrappers when typing inside an applied format", "attempts": [ { "duration": 3876 } ] } ] } ] }, { "title": "editor/plugins/hooks-api.spec.js", "type": "file", "suites": [ { "title": "Using Hooks API", "type": "suite", "tests": [ { "title": "Should contain a reset block button on the sidebar", "attempts": [ { "duration": 3655 } ] }, { "title": "Pressing reset block button resets the block", "attempts": [ { "duration": 3677 } ] } ] } ] }, { "title": "editor/plugins/iframed-block.spec.js", "type": "file", "suites": [ { "title": "Iframed block", "type": "suite", "tests": [ { "title": "should load script and dependencies in iframe", "attempts": [ { "duration": 2678 } ] } ] } ] }, { "title": "editor/plugins/iframed-enqueue-block-editor-settings.spec.js", "type": "file", "suites": [ { "title": "iframed block editor settings styles", "type": "suite", "tests": [ { "title": "should load styles added through block editor settings", "attempts": [ { "duration": 2912 } ] }, { "title": "should load theme styles added through block editor settings", "attempts": [ { "duration": 3055 } ] } ] } ] }, { "title": "editor/plugins/iframed-equeue-block-assets.spec.js", "type": "file", "suites": [ { "title": "iframed enqueue block assets", "type": "suite", "tests": [ { "title": "should load styles added through enqueue_block_assets", "attempts": [ { "duration": 2865 } ] } ] } ] }, { "title": "editor/plugins/iframed-inline-styles.spec.js", "type": "file", "suites": [ { "title": "iframed inline styles", "type": "suite", "tests": [ { "title": "should load inline styles in iframe", "attempts": [ { "duration": 2678 } ] } ] } ] }, { "title": "editor/plugins/iframed-masonry-block.spec.js", "type": "file", "suites": [ { "title": "iframed masonry block", "type": "suite", "tests": [ { "title": "should load script and dependencies in iframe", "attempts": [ { "duration": 2678 } ] } ] } ] }, { "title": "editor/plugins/iframed-multiple-block-stylesheets.spec.js", "type": "file", "suites": [ { "title": "iframed multiple block stylesheets", "type": "suite", "tests": [ { "title": "should load multiple block stylesheets in iframe", "attempts": [ { "duration": 2678 } ] } ] } ] }, { "title": "editor/plugins/image-size.spec.js", "type": "file", "suites": [ { "title": "changing image size", "type": "suite", "tests": [ { "title": "should insert and change my image size", "attempts": [ { "duration": 4056 } ] } ] } ] }, { "title": "editor/plugins/inner-blocks-allowed-blocks.spec.js", "type": "file", "suites": [ { "title": "Allowed Blocks Setting on InnerBlocks", "type": "suite", "tests": [ { "title": "allows all blocks if the allowed blocks setting was not set", "attempts": [ { "duration": 4056 } ] }, { "title": "limits the blocks if the allowed blocks setting was set", "attempts": [ { "duration": 4056 } ] }, { "title": "correctly applies dynamic allowed blocks restrictions", "attempts": [ { "duration": 5816 } ] } ] } ] }, { "title": "editor/plugins/inner-blocks-locking-all-embed.spec.js", "type": "file", "suites": [ { "title": "Embed block inside a locked all parent", "type": "suite", "tests": [ { "title": "embed block should be able to embed external content", "attempts": [ { "duration": 3357 } ] } ] } ] }, { "title": "editor/plugins/inner-blocks-prioritized-inserter-blocks.spec.js", "type": "file", "suites": [ { "title": "Prioritized Inserter Blocks Setting on InnerBlocks", "type": "suite", "suites": [ { "title": "Quick Inserter", "type": "suite", "tests": [ { "title": "uses defaulting ordering if prioritzed blocks setting was not set", "attempts": [ { "duration": 3357 } ] }, { "title": "uses the priority ordering if prioritzed blocks setting is set", "attempts": [ { "duration": 3357 } ] }, { "title": "obeys allowed blocks over prioritzed blocks setting if conflicted", "attempts": [ { "duration": 3357 } ] } ] }, { "title": "Slash inserter", "type": "suite", "tests": [ { "title": "uses the priority ordering if prioritzed blocks setting is set", "attempts": [ { "duration": 3677 } ] } ] } ] } ] }, { "title": "editor/plugins/inner-blocks-render-appender.spec.js", "type": "file", "suites": [ { "title": "RenderAppender prop of InnerBlocks", "type": "suite", "tests": [ { "title": "Users can customize the appender and can still insert blocks using exposed components", "attempts": [ { "duration": 3677 } ] }, { "title": "Users can dynamically customize the appender", "attempts": [ { "duration": 4056 } ] } ] } ] }, { "title": "editor/plugins/inner-blocks-template-sync.spec.js", "type": "file", "suites": [ { "title": "InnerBlocks Template Sync", "type": "suite", "tests": [ { "title": "Ensures blocks without locking are kept intact even if they do not match the template", "attempts": [ { "duration": 3357 } ] }, { "title": "Removes blocks that are not expected by the template if a lock all exists", "attempts": [ { "duration": 3588 } ] }, { "title": "Synchronizes blocks if lock 'all' is set and the template prop is changed", "attempts": [ { "duration": 3346 } ] }, { "title": "Ensure inner block writing flow works as expected without additional paragraphs added", "attempts": [ { "duration": 3357 } ] } ] } ] }, { "title": "editor/plugins/meta-attribute-block.spec.js", "type": "file", "suites": [ { "title": "Block with a meta attribute", "type": "suite", "suites": [ { "title": "Early Registration", "type": "suite", "tests": [ { "title": "Should persist the meta attribute properly", "attempts": [ { "duration": 5661 } ] }, { "title": "Should use the same value in all the blocks", "attempts": [ { "duration": 3779 } ] }, { "title": "Should persist the meta attribute properly in a different post type", "attempts": [ { "duration": 5680 } ] } ] }, { "title": "Late Registration", "type": "suite", "tests": [ { "title": "Should persist the meta attribute properly", "attempts": [ { "duration": 5802 } ] }, { "title": "Should use the same value in all the blocks", "attempts": [ { "duration": 3565 } ] }, { "title": "Should persist the meta attribute properly in a different post type", "attempts": [ { "duration": 5209 } ] } ] } ] } ] }, { "title": "editor/plugins/meta-boxes.spec.js", "type": "file", "suites": [ { "title": "Meta boxes", "type": "suite", "tests": [ { "title": "Should save the post", "attempts": [ { "duration": 5064 } ] }, { "title": "should leave undo to the browser inside meta box fields", "attempts": [ { "duration": 3978 } ] }, { "title": "Should render dynamic blocks when the meta box uses the excerpt for front end rendering", "attempts": [ { "duration": 8237 } ] }, { "title": "Should render the excerpt in meta based on post content if no explicit excerpt exists", "attempts": [ { "duration": 4917 } ] }, { "title": "Should render the explicitly set excerpt in meta instead of the content based one", "attempts": [ { "duration": 4965 } ] } ] } ] }, { "title": "editor/plugins/nonce.spec.js", "type": "file", "suites": [ { "title": "Nonce", "type": "suite", "tests": [ { "title": "should refresh when expired", "attempts": [ { "duration": 3740 } ] } ] } ] }, { "title": "editor/plugins/pattern-recursion.spec.js", "type": "file", "suites": [ { "title": "Preventing Pattern Recursion (client)", "type": "suite", "tests": [ { "title": "prevents infinite loops due to recursive patterns", "attempts": [ { "duration": 3214 } ] } ] }, { "title": "Preventing Pattern Recursion (server)", "type": "suite", "tests": [ { "title": "prevents infinite loops due to recursive patterns", "attempts": [ { "duration": 3627 } ] } ] } ] }, { "title": "editor/plugins/plugins-api-error-boundary.spec.js", "type": "file", "suites": [ { "title": "Plugins API Error Boundary", "type": "suite", "tests": [ { "title": "Should create notice using plugin error boundary callback", "attempts": [ { "duration": 2952 } ] } ] } ] }, { "title": "editor/plugins/plugins-api.spec.js", "type": "file", "suites": [ { "title": "Plugins API", "type": "suite", "suites": [ { "title": "Post Status Info", "type": "suite", "tests": [ { "title": "Should render post status info inside Document Setting sidebar", "attempts": [ { "duration": 2959 } ] } ] }, { "title": "Publish Panel", "type": "suite", "tests": [ { "title": "Should render publish panel inside Pre-publish sidebar", "attempts": [ { "duration": 3258 } ] }, { "title": "Should render publish panel inside Post-publish sidebar", "attempts": [ { "duration": 3583 } ] } ] }, { "title": "Sidebar", "type": "suite", "tests": [ { "title": "Should open plugins sidebar using More Menu item and render content", "attempts": [ { "duration": 3214 } ] }, { "title": "Should be pinned by default and can be opened and closed using pinned items", "attempts": [ { "duration": 3204 } ] }, { "title": "Can be pinned and unpinned", "attempts": [ { "duration": 8052 } ] }, { "title": "Should close plugins sidebar using More Menu item", "attempts": [ { "duration": 3214 } ] }, { "title": "Should open plugins sidebar using More Menu item on smaller screens", "attempts": [ { "duration": 3228 } ] } ] }, { "title": "Document Setting Custom Panel", "type": "suite", "tests": [ { "title": "Should render a custom panel inside Document Setting sidebar", "attempts": [ { "duration": 2952 } ] } ] }, { "title": "Preview Menu Item", "type": "suite", "tests": [ { "title": "Should render and interact with PluginPreviewMenuItem", "attempts": [ { "duration": 3048 } ] } ] } ] } ] }, { "title": "editor/plugins/post-type-locking.spec.js", "type": "file", "suites": [ { "title": "Post-type locking", "type": "suite", "suites": [ { "title": "template_lock all", "type": "suite", "tests": [ { "title": "should not allow blocks to be removed", "attempts": [ { "duration": 3364 } ] }, { "title": "should not allow blocks to be moved", "attempts": [ { "duration": 3364 } ] }, { "title": "should not error when deleting the contents of a paragraph", "attempts": [ { "duration": 3364 } ] }, { "title": "should insert line breaks when using enter and shift-enter", "attempts": [ { "duration": 3593 } ] }, { "title": "should show invalid template notice if the blocks do not match the templte", "attempts": [ { "duration": 3122 } ] } ] }, { "title": "template_lock insert", "type": "suite", "tests": [ { "title": "should not allow blocks to be removed", "attempts": [ { "duration": 3582 } ] }, { "title": "should allow blocks to be moved", "attempts": [ { "duration": 3582 } ] } ] }, { "title": "template_lock false", "type": "suite", "tests": [ { "title": "should allow blocks to be inserted", "attempts": [ { "duration": 3258 } ] }, { "title": "should allow blocks to be removed", "attempts": [ { "duration": 3627 } ] }, { "title": "should allow blocks to be moved", "attempts": [ { "duration": 3364 } ] } ] }, { "title": "template_lock all unlocked group", "type": "suite", "tests": [ { "title": "should allow blocks to be removed", "attempts": [ { "duration": 3593 } ] }, { "title": "should allow blocks to be moved", "attempts": [ { "duration": 3364 } ] }, { "title": "should allow blocks to be switched to other types", "attempts": [ { "duration": 3364 } ] } ] }, { "title": "template_lock all locked group", "type": "suite", "tests": [ { "title": "should not allow blocks to be removed", "attempts": [ { "duration": 3364 } ] }, { "title": "should not allow blocks to be moved", "attempts": [ { "duration": 3228 } ] } ] }, { "title": "template_lock all inherited group", "type": "suite", "tests": [ { "title": "should not allow blocks to be removed", "attempts": [ { "duration": 3258 } ] }, { "title": "should not allow blocks to be moved", "attempts": [ { "duration": 3228 } ] } ] } ] } ] }, { "title": "editor/plugins/post-type-templates.spec.js", "type": "file", "suites": [ { "title": "Post type templates", "type": "suite", "suites": [ { "title": "Using a CPT with a predefined template", "type": "suite", "tests": [ { "title": "Should add a custom post types with a predefined template", "attempts": [ { "duration": 2739 } ] }, { "title": "Should respect user edits to not re-apply template after save (single block removal)", "attempts": [ { "duration": 5447 } ] }, { "title": "Should respect user edits to not re-apply template after save (full delete)", "attempts": [ { "duration": 5447 } ] } ] }, { "title": "With default post format assigned", "type": "suite", "tests": [ { "title": "should populate new post with default block for format", "attempts": [ { "duration": 2917 } ] }, { "title": "should not populate edited post with default block for format", "attempts": [ { "duration": 5447 } ] }, { "title": "should not populate new page with default block for format", "attempts": [ { "duration": 2739 } ] } ] } ] } ] }, { "title": "editor/plugins/react-18-compat-block.spec.js", "type": "file", "suites": [ { "title": "React 18 compatibility block (React 19 runtime)", "type": "suite", "tests": [ { "title": "renders legacy elements, defaultProps and inert under React 19", "attempts": [ { "duration": 2739 } ] } ] }, { "title": "React 18 compatibility block (React 18 runtime)", "type": "suite", "tests": [ { "title": "renders a React 19 boolean inert attribute with React 18 runtime", "attempts": [ { "duration": 2739 } ] } ] } ] }, { "title": "editor/plugins/register-block-type-hooks.spec.js", "type": "file", "suites": [ { "title": "Register block type hooks", "type": "suite", "tests": [ { "title": "has a custom category for Paragraph block", "attempts": [ { "duration": 3194 } ] } ] } ] }, { "title": "editor/plugins/server-side-rendered-block.spec.js", "type": "file", "suites": [ { "title": "Server-side rendered block", "type": "suite", "tests": [ { "title": "displays updated content after changing the block attributes", "attempts": [ { "duration": 3978 } ] }, { "title": "displays an error message when the server-side render request fails", "attempts": [ { "duration": 3945 } ] }, { "title": "displays a special placeholder when the request returns an empty successful response", "attempts": [ { "duration": 4099 } ] }, { "title": "displays previous content followed by a loading spinner after a slight delay", "attempts": [ { "duration": 5209 } ] } ] }, { "title": "PHP-only auto-register blocks", "type": "suite", "suites": [ { "title": "with block bindings", "type": "suite", "tests": [ { "title": "generated inspector controls should reflect bound attribute values", "attempts": [ { "duration": 3214 } ] } ] } ], "tests": [ { "title": "should register blocks with autoRegister flag", "attempts": [ { "duration": 3048 } ] }, { "title": "should use PHP-defined metadata (title, icon, category, keywords) for auto-registered blocks", "attempts": [ { "duration": 3364 } ] }, { "title": "should render server-side content for auto-registered blocks with block supports", "attempts": [ { "duration": 4492 } ] }, { "title": "should generate inspector controls from block attributes", "attempts": [ { "duration": 3122 } ] } ] } ] }, { "title": "editor/plugins/wp-editor-meta-box.spec.js", "type": "file", "suites": [ { "title": "WP Editor Meta Boxes", "type": "suite", "tests": [ { "title": "Should save the changes", "attempts": [ { "duration": 6896 } ] } ] } ] }, { "title": "editor/various/a11y-region-navigation.spec.js", "type": "file", "suites": [ { "title": "Region navigation (@firefox, @webkit)", "type": "suite", "tests": [ { "title": "navigates forward and back again", "attempts": [ { "duration": 3364 }, { "environmentIdx": 1, "duration": 4801 }, { "environmentIdx": 2, "duration": 3590 } ] } ] } ] }, { "title": "editor/various/a11y.spec.js", "type": "file", "suites": [ { "title": "a11y (@firefox, @webkit)", "type": "suite", "tests": [ { "title": "navigating through the Editor regions four times should land on the Editor top bar region", "attempts": [ { "duration": 2959 }, { "environmentIdx": 1, "duration": 4350 }, { "environmentIdx": 2, "duration": 3280 } ] }, { "title": "should constrain tabbing within a modal", "attempts": [ { "duration": 3048 }, { "environmentIdx": 1, "duration": 5318 }, { "environmentIdx": 2, "duration": 3352 } ] }, { "title": "should return focus to the first tabbable in a modal after blurring a tabbable", "attempts": [ { "duration": 3048 }, { "environmentIdx": 1, "duration": 5318 }, { "environmentIdx": 2, "duration": 3142 } ] }, { "title": "should return focus to the last tabbable in a modal after blurring a tabbable and tabbing in reverse direction", "attempts": [ { "duration": 3048 }, { "environmentIdx": 1, "duration": 4801 }, { "environmentIdx": 2, "duration": 3192 } ] }, { "title": "should make the modal content focusable when it is scrollable", "attempts": [ { "duration": 3945 }, { "environmentIdx": 1, "duration": 3234 }, { "environmentIdx": 2, "duration": 4465 } ] } ] } ] }, { "title": "editor/various/adding-inline-tokens.spec.js", "type": "file", "suites": [ { "title": "adding inline tokens", "type": "suite", "tests": [ { "title": "should insert inline image", "attempts": [ { "duration": 3945 } ] } ] } ] }, { "title": "editor/various/adding-patterns.spec.js", "type": "file", "suites": [ { "title": "adding patterns", "type": "suite", "tests": [ { "title": "should insert a block pattern", "attempts": [ { "duration": 3740 } ] } ] } ] }, { "title": "editor/various/allowed-blocks.spec.js", "type": "file", "suites": [ { "title": "Allowed Blocks UI", "type": "suite", "tests": [ { "title": "deselecting all blocks should set `allowedBlocks` to empty array", "attempts": [ { "duration": 3740 } ] }, { "title": "selecting all blocks should set `allowedBlocks` to `undefined`", "attempts": [ { "duration": 3779 } ] }, { "title": "filtering should work", "attempts": [ { "duration": 3583 } ] }, { "title": "selected block should be set to `allowedBlocks`", "attempts": [ { "duration": 3740 } ] } ] } ] }, { "title": "editor/various/allowed-patterns.spec.js", "type": "file", "suites": [ { "title": "Allowed Patterns", "type": "suite", "suites": [ { "title": "with a small subset of allowed blocks", "type": "suite", "tests": [ { "title": "should hide patterns with only hidden blocks", "attempts": [ { "duration": 3364 } ] } ] } ], "tests": [ { "title": "should show all patterns by default", "attempts": [ { "duration": 3582 } ] } ] } ] }, { "title": "editor/various/autocomplete-and-mentions.spec.js", "type": "file", "suites": [ { "title": "Autocomplete (@firefox, @webkit)", "type": "suite", "tests": [ { "title": "User Mention: should insert mention", "attempts": [ { "duration": 3214 }, { "environmentIdx": 1, "duration": 5318 }, { "environmentIdx": 2, "duration": 4098 } ] }, { "title": "User Mention: should insert mention between two other words", "attempts": [ { "duration": 3364 }, { "environmentIdx": 1, "duration": 6683 }, { "environmentIdx": 2, "duration": 6740 } ] }, { "title": "User Mention: should insert two subsequent mentions", "attempts": [ { "duration": 3477 }, { "environmentIdx": 1, "duration": 8291 }, { "environmentIdx": 2, "duration": 5042 } ] }, { "title": "User Mention: should allow mention selection via click event", "attempts": [ { "duration": 2959 }, { "environmentIdx": 1, "duration": 3980 }, { "environmentIdx": 2, "duration": 3689 } ] }, { "title": "User Mention: should allow mention selection via keypress event", "attempts": [ { "duration": 3048 }, { "environmentIdx": 1, "duration": 4801 }, { "environmentIdx": 2, "duration": 3965 } ] }, { "title": "User Mention: should cancel mention selection via `Escape` keypress event", "attempts": [ { "duration": 3122 }, { "environmentIdx": 1, "duration": 5895 }, { "environmentIdx": 2, "duration": 4161 } ] }, { "title": "User Mention: should allow newlines after multiple mention completions", "attempts": [ { "duration": 3945 }, { "environmentIdx": 1, "duration": 8291 }, { "environmentIdx": 2, "duration": 5693 } ] }, { "title": "Custom Completer: should insert option", "attempts": [ { "duration": 2959 }, { "environmentIdx": 1, "duration": 4868 }, { "environmentIdx": 2, "duration": 3783 } ] }, { "title": "Custom Completer: should insert option between two other words", "attempts": [ { "duration": 3214 }, { "environmentIdx": 1, "duration": 7262 }, { "environmentIdx": 2, "duration": 4193 } ] }, { "title": "Custom Completer: should insert two subsequent options", "attempts": [ { "duration": 3194 }, { "environmentIdx": 1, "duration": 6683 }, { "environmentIdx": 2, "duration": 4193 } ] }, { "title": "Custom Completer: should allow option selection via click event", "attempts": [ { "duration": 2917 }, { "environmentIdx": 1, "duration": 3980 }, { "environmentIdx": 2, "duration": 3463 } ] }, { "title": "Custom Completer: should allow option selection via keypress event", "attempts": [ { "duration": 3048 }, { "environmentIdx": 1, "duration": 4376 }, { "environmentIdx": 2, "duration": 5550 } ] }, { "title": "Custom Completer: should cancel option selection via `Escape` keypress event", "attempts": [ { "duration": 3473 }, { "environmentIdx": 1, "duration": 9036 }, { "environmentIdx": 2, "duration": 5120 } ] }, { "title": "Custom Completer: should not insert disabled options", "attempts": [ { "duration": 3228 }, { "environmentIdx": 1, "duration": 6683 }, { "environmentIdx": 2, "duration": 4193 } ] }, { "title": "Custom Completer: should allow newlines after multiple option completions", "attempts": [ { "duration": 3740 }, { "environmentIdx": 1, "duration": 8291 }, { "environmentIdx": 2, "duration": 5120 } ] }, { "title": "should insert mention in a table block", "attempts": [ { "duration": 3048 }, { "environmentIdx": 1, "duration": 4801 }, { "environmentIdx": 2, "duration": 3873 } ] }, { "title": "should insert elements from multiple completers in a single block", "attempts": [ { "duration": 3048 }, { "environmentIdx": 1, "duration": 4801 }, { "environmentIdx": 2, "duration": 4161 } ] }, { "title": "should hide UI when selection changes (by keyboard)", "attempts": [ { "duration": 2848 }, { "environmentIdx": 1, "duration": 3980 }, { "environmentIdx": 2, "duration": 3689 } ] }, { "title": "should hide UI when selection changes (by mouse)", "attempts": [ { "duration": 3048 }, { "environmentIdx": 1, "duration": 4801 }, { "environmentIdx": 2, "duration": 3807 } ] }, { "title": "should allow speaking number of initial results", "attempts": [ { "duration": 3740 }, { "environmentIdx": 1, "duration": 4868 }, { "environmentIdx": 2, "duration": 4193 } ] }, { "title": "should not re-trigger autocomplete after selecting a mention option", "attempts": [ { "duration": 3048 }, { "environmentIdx": 1, "duration": 3980 }, { "environmentIdx": 2, "duration": 3783 } ] }, { "title": "should not re-trigger autocomplete after accepting a mention and changing text near it", "attempts": [ {} ] }, { "title": "should re-trigger autocomplete for a new mention after completing one", "attempts": [ { "duration": 3204 }, { "environmentIdx": 1, "duration": 4801 }, { "environmentIdx": 2, "duration": 5693 } ] }, { "title": "should dismiss autocomplete on Escape and not re-trigger on cursor movement", "attempts": [ { "duration": 3364 }, { "environmentIdx": 1, "duration": 4801 }, { "environmentIdx": 2, "duration": 4145 } ] }, { "title": "should mirror the suggestions list reference onto the editing host", "attempts": [ { "duration": 3364 }, { "environmentIdx": 1, "duration": 6741 }, { "environmentIdx": 2, "duration": 4719 } ] }, { "title": "should re-trigger autocomplete when backspacing into a completed mention", "attempts": [ { "duration": 3048 }, { "environmentIdx": 1, "duration": 4350 }, { "environmentIdx": 2, "duration": 3807 } ] }, { "title": "should filter mentions by non-latin search terms", "attempts": [ { "duration": 2848 }, { "environmentIdx": 1, "duration": 3980 }, { "environmentIdx": 2, "duration": 3807 } ] } ] } ] }, { "title": "editor/various/autosave.spec.js", "type": "file", "suites": [ { "title": "Autosave", "type": "suite", "tests": [ { "title": "should save to sessionStorage", "attempts": [ { "duration": 4099 } ] }, { "title": "should recover from sessionStorage", "attempts": [ { "duration": 8546 } ] }, { "title": "shouldn't contaminate other posts", "attempts": [ { "duration": 10311 } ] }, { "title": "should clear local autosave after successful remote autosave", "attempts": [ { "duration": 3740 } ] }, { "title": "shouldn't clear local autosave if remote autosave fails", "attempts": [ { "duration": 3583 } ] }, { "title": "should clear local autosave after successful save", "attempts": [ { "duration": 3740 } ] }, { "title": "shouldn't clear local autosave if save fails", "attempts": [ { "duration": 3740 } ] }, { "title": "shouldn't conflict with server-side autosave", "attempts": [ { "duration": 10311 } ] }, { "title": "opens the visual revisions view from the autosave notice", "attempts": [ { "duration": 10311 } ] }, { "title": "should clear sessionStorage upon user logout", "attempts": [ {} ] } ] } ] }, { "title": "editor/various/background-gradient.spec.js", "type": "file", "suites": [ { "title": "Background gradient block support", "type": "suite", "suites": [ { "title": "color.gradient read-through and migration", "type": "suite", "tests": [ { "title": "block with legacy color.gradient loads without a deprecation warning", "attempts": [ { "duration": 3048 } ] }, { "title": "legacy color.gradient is shown in the background panel via read-through fallback", "attempts": [ { "duration": 3122 } ] }, { "title": "migrates color.gradient to background.gradient and adds has-background when gradient is set", "attempts": [ { "duration": 3364 } ] }, { "title": "clears color.gradient without adding has-background when gradient is reset", "attempts": [ { "duration": 3364 } ] }, { "title": "removes has-background class when gradient is reset after migration", "attempts": [ { "duration": 3627 } ] }, { "title": "block remains valid after migration and re-save", "attempts": [ { "duration": 5975 } ] } ] } ] } ] }, { "title": "editor/various/big-image-size-threshold.spec.js", "type": "file", "suites": [ { "title": "Big image size threshold", "type": "suite", "tests": [ { "title": "should scale down images larger than the threshold", "attempts": [ { "duration": 13783 } ] }, { "title": "should not scale images smaller than the threshold", "attempts": [ { "duration": 13783 } ] } ] } ] }, { "title": "editor/various/block-bindings/block-fields-pattern-overrides.spec.js", "type": "file", "suites": [ { "title": "Block Fields with pattern overrides bindings", "type": "suite", "tests": [ { "title": "renders the panel for a `__default` binding without crashing", "attempts": [ { "duration": 6323 } ] }, { "title": "renders the panel for an expanded binding without crashing", "attempts": [ { "duration": 3364 } ] } ] } ] }, { "title": "editor/various/block-bindings/custom-sources.spec.js", "type": "file", "suites": [ { "title": "Registered sources", "type": "suite", "suites": [ { "title": "Default WP installation", "type": "suite", "tests": [ { "title": "It should not show the attributes panel if there are no sources registered.", "attempts": [ { "duration": 5447 } ] }, { "title": "It should show the attributes panel, no sources registered, readOnlyAttributes.", "attempts": [ { "duration": 5447 } ] } ] }, { "title": "getValues", "type": "suite", "tests": [ { "title": "should show the returned value in paragraph content", "attempts": [ { "duration": 3860 } ] }, { "title": "should show the returned value in heading content", "attempts": [ { "duration": 3868 } ] }, { "title": "should show the returned values in button attributes", "attempts": [ { "duration": 3740 } ] }, { "title": "should show the returned values in image attributes", "attempts": [ { "duration": 4099 } ] }, { "title": "should fall back to source label when `getValues` is undefined", "attempts": [ { "duration": 3048 } ] }, { "title": "should fall back to null when `getValues` is undefined in URL attributes", "attempts": [ { "duration": 3048 } ] } ] }, { "title": "should lock editing", "type": "suite", "suites": [ { "title": "canUserEditValue returns false", "type": "suite", "tests": [ { "title": "paragraph", "attempts": [ { "duration": 3258 } ] }, { "title": "heading", "attempts": [ { "duration": 3204 } ] }, { "title": "button", "attempts": [ { "duration": 3364 } ] }, { "title": "image", "attempts": [ { "duration": 3582 } ] }, { "title": "list item", "attempts": [ { "duration": 3364 } ] } ] } ], "tests": [ { "title": "canUserEditValue is not defined", "attempts": [ { "duration": 3204 } ] }, { "title": "setValues is not defined", "attempts": [ { "duration": 3258 } ] }, { "title": "source is not defined", "attempts": [ { "duration": 3364 } ] }, { "title": "source is not defined - list item", "attempts": [ { "duration": 3364 } ] } ] }, { "title": "setValues", "type": "suite", "tests": [ { "title": "should be possible to edit the value from paragraph content", "attempts": [ { "duration": 3945 } ] }, { "title": "should be possible to edit the value from list item content", "attempts": [ { "duration": 4099 } ] }, { "title": "should preserve nested list inner blocks when list item content is bound", "attempts": [ { "duration": 3779 } ] }, { "title": "should be possible to use symbols and numbers as the custom field value", "attempts": [ { "duration": 3868 } ] }, { "title": "should be possible to edit the value of the url custom field from the button", "attempts": [ { "duration": 4322 } ] }, { "title": "should be possible to edit the value of the url custom field from the image", "attempts": [ { "duration": 4401 } ] }, { "title": "should be possible to edit the value of the text custom field from the image alt", "attempts": [ { "duration": 3978 } ] } ] }, { "title": "UI Editor", "type": "suite", "tests": [ { "title": "should be possible to update attribute value through bindings UI", "attempts": [ { "duration": 3740 } ] }, { "title": "should be possible to connect the paragraph content", "attempts": [ { "duration": 3258 } ] }, { "title": "should be possible to connect the heading content", "attempts": [ { "duration": 3364 } ] }, { "title": "should be possible to connect the button supported attributes", "attempts": [ { "duration": 3477 } ] }, { "title": "should be possible to connect the image supported attributes", "attempts": [ { "duration": 3364 } ] }, { "title": "should show all the available fields in the dropdown UI", "attempts": [ { "duration": 3582 } ] }, { "title": "should show the connected fields in the attributes panel", "attempts": [ { "duration": 3214 } ] } ] }, { "title": "RichText workflows", "type": "suite", "tests": [ { "title": "should add empty paragraph block when pressing enter in paragraph", "attempts": [ { "duration": 3364 } ] }, { "title": "should add empty paragraph block when pressing enter in heading", "attempts": [ { "duration": 3364 } ] }, { "title": "should add empty button block when pressing enter in button", "attempts": [ { "duration": 3740 } ] }, { "title": "should show placeholder prompt when value is empty and can edit", "attempts": [ { "duration": 3112 } ] }, { "title": "should show source label when value is empty, cannot edit, and `getFieldsList` is undefined", "attempts": [ { "duration": 3112 } ] }, { "title": "should show placeholder attribute over bindings placeholder", "attempts": [ { "duration": 3228 } ] } ] }, { "title": "Source compatibility filtering", "type": "suite", "tests": [ { "title": "should show only compatible sources.", "attempts": [ { "duration": 3627 } ] } ] } ], "tests": [ { "title": "should show the label of a source only registered in the server in blocks connected", "attempts": [ { "duration": 3112 } ] }, { "title": "should show an \"Source not registered\" warning for not registered sources", "attempts": [ { "duration": 3112 } ] } ] } ] }, { "title": "editor/various/block-bindings/post-data.spec.js", "type": "file", "suites": [ { "title": "Post Data source", "type": "suite", "suites": [ { "title": "Post Data bindings UI.", "type": "suite", "tests": [ { "title": "should not include post data fields in UI to connect attributes on non date blocks", "attempts": [ { "duration": 3258 } ] }, { "title": "should not render Attributes panel for date blocks", "attempts": [ { "duration": 3112 } ] } ] } ] } ] }, { "title": "editor/various/block-bindings/post-meta.spec.js", "type": "file", "suites": [ { "title": "Post Meta source", "type": "suite", "suites": [ { "title": "Movie CPT template", "type": "suite", "suites": [ { "title": "Block attributes values", "type": "suite", "tests": [ { "title": "should not be possible to edit connected blocks", "attempts": [ { "duration": 3477 } ] }, { "title": "should show the default value if it is defined", "attempts": [ { "duration": 3477 } ] }, { "title": "should fall back to the field label if the default value is not defined", "attempts": [ { "duration": 3477 } ] }, { "title": "should fall back to the field key if the field label is not defined", "attempts": [ { "duration": 3258 } ] } ] }, { "title": "Attributes panel", "type": "suite", "tests": [ { "title": "should show the field label if it is defined", "attempts": [ { "duration": 3364 } ] }, { "title": "should fall back to the field key if the field label is not defined", "attempts": [ { "duration": 3364 } ] } ] }, { "title": "Fields list dropdown", "type": "suite", "tests": [ { "title": "should include movie fields in UI to connect attributes", "attempts": [ { "duration": 3740 } ] }, { "title": "should include global fields in UI to connect attributes", "attempts": [ { "duration": 3740 } ] }, { "title": "should not include protected fields", "attempts": [ { "duration": 3740 } ] }, { "title": "should show the default value if it is defined", "attempts": [ { "duration": 3740 } ] }, { "title": "should not show anything if the default value is not defined", "attempts": [ { "duration": 3627 } ] } ] } ] }, { "title": "Custom template", "type": "suite", "tests": [ { "title": "should not include post meta fields in UI to connect attributes", "attempts": [ { "duration": 3582 } ] }, { "title": "should show the key in attributes connected to post meta", "attempts": [ { "duration": 3258 } ] } ] }, { "title": "Movie CPT post", "type": "suite", "tests": [ { "title": "should show the custom field value of that specific post", "attempts": [ { "duration": 3627 } ] }, { "title": "should fall back to the key when custom field is not accessible", "attempts": [ { "duration": 3048 } ] }, { "title": "should not show or edit the value of a protected field", "attempts": [ { "duration": 3048 } ] }, { "title": "should not show or edit the value of a field with `show_in_rest` set to false", "attempts": [ { "duration": 3048 } ] }, { "title": "should be possible to edit the value of the connected custom fields", "attempts": [ { "duration": 3740 } ] }, { "title": "should be possible to edit the value of the connected custom fields in the inspector control registered by Block Fields experiment", "attempts": [ { "duration": 3627 } ] }, { "title": "should be possible to connect movie fields through the attributes panel", "attempts": [ { "duration": 3477 } ] }, { "title": "should not be possible to connect non-supported fields through the attributes panel", "attempts": [ { "duration": 3583 } ] } ] } ] } ] }, { "title": "editor/various/block-custom-css.spec.js", "type": "file", "suites": [ { "title": "Block custom CSS", "type": "suite", "tests": [ { "title": "overrides block style variation styles in the editor and on the front end", "attempts": [ { "duration": 3945 } ] } ] } ] }, { "title": "editor/various/block-deletion.spec.js", "type": "file", "suites": [ { "title": "Block deletion", "type": "suite", "tests": [ { "title": "deleting the last block via its options menu", "attempts": [ { "duration": 3978 } ] }, { "title": "deleting a block focuses the parent block", "attempts": [ { "duration": 3740 } ] }, { "title": "deleting the last block via the keyboard shortcut", "attempts": [ { "duration": 3809 } ] }, { "title": "deleting the last block via backspace from an empty paragraph", "attempts": [ { "duration": 3740 } ] }, { "title": "deleting last selected block via backspace", "attempts": [ { "duration": 3978 } ] }, { "title": "deleting the last two selected blocks via backspace", "attempts": [ { "duration": 3978 } ] }, { "title": "deleting all blocks", "attempts": [ { "duration": 3477 } ] }, { "title": "deleting all blocks when the default block is unavailable", "attempts": [ { "duration": 3364 } ] }, { "title": "empty heading block below image block should be deleted on backspace", "attempts": [ { "duration": 3627 } ] } ] } ] }, { "title": "editor/various/block-editor-dark-background.spec.js", "type": "file", "suites": [ { "title": "Block editor with dark background theme", "type": "suite", "suites": [ { "title": "Block editor iframe body", "type": "suite", "tests": [ { "title": "Should have the is-dark-theme CSS class", "attempts": [ { "duration": 2832 } ] } ] } ] }, { "title": "Block editor with light background theme", "type": "suite", "suites": [ { "title": "Block editor iframe body", "type": "suite", "tests": [ { "title": "Should not have the is-dark-theme CSS class", "attempts": [ { "duration": 2917 } ] } ] } ] } ] }, { "title": "editor/various/block-editor-keyboard-shortcuts.spec.js", "type": "file", "suites": [ { "title": "Block editor keyboard shortcuts", "type": "suite", "suites": [ { "title": "move blocks - single block selected", "type": "suite", "tests": [ { "title": "should move the block up", "attempts": [ { "duration": 3582 } ] }, { "title": "should move the block down", "attempts": [ { "duration": 3627 } ] } ] }, { "title": "move blocks - multiple blocks selected", "type": "suite", "tests": [ { "title": "should move the blocks up", "attempts": [ { "duration": 3809 } ] }, { "title": "should move the blocks down", "attempts": [ { "duration": 3809 } ] } ] }, { "title": "test shortcuts handling through portals in the same tree", "type": "suite", "tests": [ { "title": "should propagate properly and duplicate selected blocks", "attempts": [ { "duration": 3978 } ] }, { "title": "should prevent deleting multiple selected blocks from inputs", "attempts": [ { "duration": 4099 } ] } ] }, { "title": "create a group block from the selected blocks", "type": "suite", "tests": [ { "title": "should propagate properly if multiple blocks are selected.", "attempts": [ { "duration": 3809 } ] }, { "title": "should prevent if a single block is selected.", "attempts": [ { "duration": 3627 } ] } ] } ] } ] }, { "title": "editor/various/block-grouping.spec.js", "type": "file", "suites": [ { "title": "Block Grouping", "type": "suite", "suites": [ { "title": "Group creation", "type": "suite", "tests": [ { "title": "creates a group from multiple blocks of the same type via block transforms", "attempts": [ { "duration": 4099 } ] }, { "title": "creates a group from multiple blocks of different types via block transforms", "attempts": [ { "duration": 3978 } ] }, { "title": "wraps a block with its own transform to the group block, instead of transforming it", "attempts": [ { "duration": 3583 } ] }, { "title": "creates a group from multiple blocks of the same type via options toolbar", "attempts": [ { "duration": 3868 } ] }, { "title": "groups and ungroups multiple blocks of different types via options toolbar", "attempts": [ { "duration": 4492 } ] }, { "title": "does not allow ungrouping a group block that has no children", "attempts": [ { "duration": 3364 } ] }, { "title": "should group and ungroup a controlled block properly", "attempts": [ { "duration": 3809 } ] }, { "title": "should group another Group block via options toolbar", "attempts": [ { "duration": 3809 } ] } ] }, { "title": "Grouping Block availability", "type": "suite", "tests": [ { "title": "does not show group transform if Grouping block is disabled", "attempts": [ { "duration": 3809 } ] }, { "title": "does not show group option in the options toolbar if Grouping block is disabled", "attempts": [ { "duration": 3809 } ] } ] }, { "title": "Preserving selected blocks attributes", "type": "suite", "tests": [ { "title": "preserves width alignment settings of selected blocks", "attempts": [ { "duration": 4701 } ] } ] }, { "title": "Registering alternative Blocks to handle Grouping interactions", "type": "suite", "tests": [ { "title": "should use registered grouping block for grouping interactions", "attempts": [ { "duration": 3809 } ] } ] } ] } ] }, { "title": "editor/various/block-hiding.spec.js", "type": "file", "suites": [ { "title": "Block Hiding", "type": "suite", "tests": [ { "title": "should hide a block completely by selecting \"Omit from published content\"", "attempts": [ { "duration": 3809 } ] }, { "title": "should not allow block visibility shortcut on children of a content-only locked section, but should after editing section", "attempts": [ { "duration": 4099 } ] }, { "title": "should not allow block visibility shortcut on children of an unsynced pattern, but should after editing section", "attempts": [ { "duration": 3945 } ] }, { "title": "should hide a block only on Mobile viewport", "attempts": [ { "duration": 3978 } ] } ] } ] }, { "title": "editor/various/block-hierarchy-navigation.spec.js", "type": "file", "suites": [ { "title": "Navigating the block hierarchy", "type": "suite", "tests": [ { "title": "should navigate using the list view sidebar", "attempts": [ { "duration": 5064 } ] }, { "title": "should navigate block hierarchy using only the keyboard", "attempts": [ { "duration": 5267 } ] }, { "title": "should appear and function even without nested blocks", "attempts": [ { "duration": 4196 } ] }, { "title": "should select the wrapper div for a group", "attempts": [ { "duration": 4492 } ] } ] } ] }, { "title": "editor/various/block-locking.spec.js", "type": "file", "suites": [ { "title": "Block Locking", "type": "suite", "tests": [ { "title": "can prevent removal", "attempts": [ { "duration": 3740 } ] }, { "title": "can disable movement", "attempts": [ { "duration": 4310 } ] }, { "title": "can lock everything", "attempts": [ { "duration": 3860 } ] }, { "title": "can unlock from toolbar", "attempts": [ { "duration": 4099 } ] }, { "title": "block locking supersedes template locking", "attempts": [ { "duration": 4099 } ] } ] } ] }, { "title": "editor/various/block-mover.spec.js", "type": "file", "suites": [ { "title": "block mover", "type": "suite", "tests": [ { "title": "should show block mover when more than one block exists", "attempts": [ { "duration": 3364 } ] }, { "title": "should hide block mover when only one block exists", "attempts": [ { "duration": 3258 } ] } ] } ] }, { "title": "editor/various/block-notes.spec.js", "type": "file", "suites": [ { "title": "Block Notes", "type": "suite", "suites": [ { "title": "Keyboard", "type": "suite", "tests": [ { "title": "should expand or collapse a note with enter key", "attempts": [ { "duration": 4099 } ] }, { "title": "should expand or collapse a note with arrow right and left key", "attempts": [ { "duration": 4099 } ] }, { "title": "should move to the adjacent note with arrow keys", "attempts": [ { "duration": 4701 } ] }, { "title": "should move to the first or last note with Home or End keys", "attempts": [ { "duration": 5209 } ] }, { "title": "should collapse a note with Escape key", "attempts": [ { "duration": 3978 } ] }, { "title": "should keep a note collapsed while editing the same block", "attempts": [ { "duration": 4196 } ] }, { "title": "should collapse a note after canceling note form", "attempts": [ { "duration": 3978 } ] }, { "title": "should collapse a note when the focus moves outside the note", "attempts": [ { "duration": 3978 } ] }, { "title": "should have accessible name for the note threads", "attempts": [ { "duration": 3809 } ] }, { "title": "should expand and focus the thread after clicking the \"x more replies\" button", "attempts": [ { "duration": 4850 } ] }, { "title": "should focus appropriate element when note is deleted", "attempts": [ { "duration": 7045 } ] }, { "title": "should focus note thread when reply is deleted", "attempts": [ { "duration": 5209 } ] }, { "title": "should focus note form after clicking \"Add new reply\" skip link button", "attempts": [ { "duration": 3740 } ] }, { "title": "should focus block after clicking \"Back to block\" skip link button", "attempts": [ { "duration": 3740 } ] }, { "title": "should focus action button when note editing is cancelled or note is updated", "attempts": [ { "duration": 4263 } ] }, { "title": "can add a note using form shortcut", "attempts": [ { "duration": 3740 } ] }, { "title": "can add a note using global keyboard shortcut", "attempts": [ { "duration": 3364 } ] } ] }, { "title": "Multiple notes per block", "type": "suite", "tests": [ { "title": "can add multiple notes to the same block", "attempts": [ { "duration": 4263 } ] }, { "title": "deleting one note preserves the other notes on the same block", "attempts": [ { "duration": 4733 } ] }, { "title": "resolving one note does not affect sibling notes on the same block", "attempts": [ { "duration": 4631 } ] }, { "title": "auto-selects first unresolved note when clicking a block with multiple notes", "attempts": [ { "duration": 4825 } ] } ] }, { "title": "Inline notes", "type": "suite", "suites": [ { "title": "Floating alignment", "type": "suite", "tests": [ { "title": "aligns the floating thread with its inline marker", "attempts": [ { "duration": 4099 } ] }, { "title": "aligns the pending new-note form with the text selection", "attempts": [ { "duration": 3740 } ] } ] } ], "tests": [ { "title": "highlights an inline marker with the author color at the rest opacity", "attempts": [ { "duration": 3868 } ] }, { "title": "keeps the inline marker highlighted after a code-editor round-trip", "attempts": [ { "duration": 3779 } ] }, { "title": "falls back to a block-level note when its inline marker is removed", "attempts": [ { "duration": 3978 } ] }, { "title": "removes the inline marker when the note is deleted", "attempts": [ { "duration": 4099 } ] }, { "title": "removes the inline marker when the note is resolved", "attempts": [ { "duration": 3978 } ] }, { "title": "anchors the marker to only the selected text", "attempts": [ { "duration": 3978 } ] }, { "title": "boosts the marker opacity when its note is selected", "attempts": [ { "duration": 3945 } ] }, { "title": "clicking between inline markers selects the matching note", "attempts": [ { "duration": 5447 } ] } ] }, { "title": "Rich text formatting in the note form", "type": "suite", "tests": [ { "title": "Cmd+B toggles bold in the new note textbox", "attempts": [ { "duration": 3364 } ] }, { "title": "Cmd+K opens the inline link popover for the selected text", "attempts": [ { "duration": 3627 } ] }, { "title": "Cmd+K opens an unclipped link popover in the reply form", "attempts": [ { "duration": 3779 } ] }, { "title": "backtick wrapping applies core/code inline format", "attempts": [ { "duration": 3364 } ] } ] }, { "title": "Mentions in the note form", "type": "suite", "tests": [ { "title": "inserts a mention chip that survives saving the note", "attempts": [ { "duration": 3945 } ] }, { "title": "can cancel mentions popover", "attempts": [ { "duration": 3477 } ] } ] } ], "tests": [ { "title": "should move focus to add a new note form", "attempts": [ { "duration": 4446 } ] }, { "title": "can add a note to a block", "attempts": [ { "duration": 3779 } ] }, { "title": "can reply to a block note", "attempts": [ { "duration": 3978 } ] }, { "title": "selecting a note keeps focus on the thread, not the reply field", "attempts": [ { "duration": 3779 } ] }, { "title": "can edit a block note", "attempts": [ { "duration": 4263 } ] }, { "title": "can delete a block note", "attempts": [ { "duration": 4196 } ] }, { "title": "can resolve and reopen a block note", "attempts": [ { "duration": 4631 } ] }, { "title": "can reopen a resolved note when adding a reply", "attempts": [ { "duration": 4492 } ] }, { "title": "shows a \"Resolved\" divider between active and resolved notes", "attempts": [ { "duration": 5975 } ] }, { "title": "selecting a block or note marks it as an active", "attempts": [ { "duration": 5795 } ] }, { "title": "selecting note marks it as active and closes add new note form", "attempts": [ { "duration": 4492 } ] } ] } ] }, { "title": "editor/various/block-renaming.spec.js", "type": "file", "suites": [ { "title": "Block Renaming", "type": "suite", "suites": [ { "title": "Dialog renaming", "type": "suite", "tests": [ { "title": "allows renaming of blocks that support the feature via dialog-based UI", "attempts": [ { "duration": 3978 } ] }, { "title": "does not allow renaming of blocks that do not support the feature", "attempts": [ { "duration": 3122 } ] }, { "title": "displays Rename action in related menu when block is not selected", "attempts": [ { "duration": 3477 } ] } ] } ] } ] }, { "title": "editor/various/block-style-state-colors.spec.js", "type": "file", "suites": [ { "title": "Relocated color controls with block style states", "type": "suite", "tests": [ { "title": "stores relocated text and background colors under the selected viewport state", "attempts": [ { "duration": 3978 } ] }, { "title": "stores relocated element colors under the selected viewport state", "attempts": [ { "duration": 3978 } ] }, { "title": "reset all in a viewport state clears only that viewport state colors", "attempts": [ { "duration": 3740 } ] } ] } ] }, { "title": "editor/various/block-switcher.spec.js", "type": "file", "suites": [ { "title": "Block Switcher", "type": "suite", "tests": [ { "title": "Should show the expected block transforms on the list block when the blocks are removed", "attempts": [ { "duration": 4456 } ] }, { "title": "Should show the expected block transforms on the list block when the quote block is removed", "attempts": [ { "duration": 4456 } ] }, { "title": "Should not show the block switcher if the block has no styles and cannot be removed", "attempts": [ { "duration": 4040 } ] }, { "title": "Should show a message if there are no transforms or styles available", "attempts": [ { "duration": 4209 } ] }, { "title": "Should show Columns block only if selected blocks are between limits (1-6)", "attempts": [ { "duration": 4682 } ] }, { "title": "Should NOT show Columns transform only if selected blocks are more than max limit(6)", "attempts": [ { "duration": 5470 } ] }, { "title": "should be able to transform to block variations", "attempts": [ { "duration": 4021 } ] } ] } ] }, { "title": "editor/various/block-template-lock.spec.js", "type": "file", "suites": [ { "title": "Template Lock", "type": "suite", "suites": [ { "title": "templateLock=\"all\"", "type": "suite", "tests": [ { "title": "should prevent deleting columns", "attempts": [ { "duration": 3439 } ] }, { "title": "should prevent moving columns", "attempts": [ { "duration": 3341 } ] }, { "title": "should prevent inserting blocks inside columns", "attempts": [ { "duration": 3439 } ] } ] }, { "title": "templateLock=\"insert\"", "type": "suite", "tests": [ { "title": "should prevent deleting columns", "attempts": [ { "duration": 3544 } ] }, { "title": "should allow moving columns", "attempts": [ { "duration": 3439 } ] }, { "title": "should prevent inserting blocks inside columns", "attempts": [ { "duration": 3341 } ] } ] }, { "title": "templateLock=\"contentOnly\"", "type": "suite", "tests": [ { "title": "should prevent deleting columns", "attempts": [ { "duration": 3341 } ] }, { "title": "should prevent moving columns", "attempts": [ { "duration": 3439 } ] }, { "title": "should prevent inserting blocks inside columns", "attempts": [ { "duration": 3341 } ] }, { "title": "should allow editing content inside columns", "attempts": [ { "duration": 3692 } ] } ] }, { "title": "templateLock=false inside locked parent (Group block)", "type": "suite", "tests": [ { "title": "should prevent deleting the Columns block itself (due to parent lock)", "attempts": [ { "duration": 3439 } ] }, { "title": "should allow moving the Columns block itself (due to parent lock)", "attempts": [ { "duration": 3439 } ] }, { "title": "should allow deleting inner Column blocks (own lock=false)", "attempts": [ { "duration": 3544 } ] }, { "title": "should allow inserting blocks inside inner Column blocks (own lock=false)", "attempts": [ { "duration": 3439 } ] }, { "title": "should allow editing content inside inner Column blocks", "attempts": [ { "duration": 3544 } ] } ] } ] } ] }, { "title": "editor/various/block-visibility.spec.js", "type": "file", "suites": [ { "title": "Block Visibility", "type": "suite", "tests": [ { "title": "should hide/show the block", "attempts": [ { "duration": 4829 } ] }, { "title": "should hide/show all blocks in a category at once", "attempts": [ { "duration": 4596 } ] }, { "title": "should search for blocks by keyword", "attempts": [ { "duration": 3341 } ] }, { "title": "should reset hidden blocks", "attempts": [ { "duration": 3692 } ] } ] } ] }, { "title": "editor/various/change-detection.spec.js", "type": "file", "suites": [ { "title": "Change detection", "type": "suite", "tests": [ { "title": "Should not save on new unsaved post", "attempts": [ { "duration": 2788 } ] }, { "title": "Should autosave post", "attempts": [ { "duration": 4997 } ] }, { "title": "Should prompt to confirm unsaved changes for autosaved draft for non-content fields", "attempts": [ { "duration": 3818 } ] }, { "title": "Should prompt to confirm unsaved changes for autosaved published post", "attempts": [ { "duration": 4349 } ] }, { "title": "Should not prompt to confirm unsaved changes for new post", "attempts": [ { "duration": 4456 } ] }, { "title": "Should prompt to confirm unsaved changes for new post with initial edits", "attempts": [ { "duration": 5470 } ] }, { "title": "Should prompt if property changed without save", "attempts": [ { "duration": 3688 } ] }, { "title": "Should prompt if content added without save", "attempts": [ { "duration": 4047 } ] }, { "title": "Should not prompt if changes saved", "attempts": [ { "duration": 4829 } ] }, { "title": "Should not prompt if changes saved right after typing", "attempts": [ { "duration": 5304 } ] }, { "title": "Should not save if all changes saved", "attempts": [ { "duration": 3180 } ] }, { "title": "Should prompt if save failed", "attempts": [ { "duration": 5304 } ] }, { "title": "Should prompt if changes and save is in-flight", "attempts": [ { "duration": 3818 } ] }, { "title": "Should prompt if changes made while save is in-flight", "attempts": [ { "duration": 3729 } ] }, { "title": "Should prompt if property changes made while save is in-flight, and save completes", "attempts": [ { "duration": 3818 } ] }, { "title": "Should prompt if block revision is made while save is in-flight, and save completes", "attempts": [ { "duration": 4209 } ] }, { "title": "should save posts without titles and persist and overwrite the auto draft title", "attempts": [ { "duration": 5304 } ] }, { "title": "should not prompt to confirm unsaved changes when trashing an existing post", "attempts": [ { "duration": 4209 } ] }, { "title": "consecutive edits to the same attribute should mark the post as dirty after a save", "attempts": [ { "duration": 7169 } ] }, { "title": "should not be dirty after autosaving content changes for draft post", "attempts": [ { "duration": 5304 } ] } ] } ] }, { "title": "editor/various/client-side-media-processing.spec.js", "type": "file", "suites": [ { "title": "Client-side media processing", "type": "suite", "tests": [ { "title": "preserves a JPEG below the size threshold", "attempts": [ { "duration": 13467 } ] }, { "title": "preserves an opaque PNG without format conversion", "attempts": [ { "duration": 13467 } ] }, { "title": "preserves an animated GIF", "attempts": [ { "duration": 13467 } ] }, { "title": "decodes and uploads a WebP image as WebP", "attempts": [ { "duration": 13467 } ] }, { "title": "decodes and uploads an AVIF image as AVIF", "attempts": [ { "duration": 13467 } ] }, { "title": "preserves UltraHDR gain map through sub-size resize", "attempts": [ { "duration": 13467 } ] }, { "title": "scales oversized images and generates the standard sub-sizes", "attempts": [ { "duration": 15251 } ] }, { "title": "uploads multiple images via gallery", "attempts": [ { "duration": 13467 } ] }, { "title": "rejects an unsupported file type", "attempts": [ { "duration": 3180 } ] }, { "title": "converts opaque PNG sub-sizes to JPEG when image_editor_output_format is filtered", "attempts": [ { "duration": 15251 } ] }, { "title": "preserves a transparent PNG even when PNG-to-JPEG is filtered", "attempts": [ { "duration": 15251 } ] }, { "title": "converts JPEG sub-sizes to WebP when image_editor_output_format is filtered", "attempts": [ { "duration": 15251 } ] }, { "title": "renders srcset on the front end after publishing a CSM-uploaded image", "attempts": [ { "duration": 15485 } ] }, { "title": "auto-rotates images based on EXIF orientation", "attempts": [ {} ] }, { "title": "rotates AVIF sub-sizes from EXIF-only orientation", "attempts": [ { "duration": 15251 } ] }, { "title": "recovers from a transient upload failure via automatic retry", "attempts": [ { "duration": 10839 } ] }, { "title": "surfaces an error after exhausting upload retries", "attempts": [ { "duration": 16049 } ] }, { "title": "recovers when the image processing worker crashes mid-upload", "attempts": [ { "duration": 15016 } ] } ] } ] }, { "title": "editor/various/clipboard.spec.js", "type": "file", "suites": [ { "title": "Clipboard (useCopyToClipboard)", "type": "suite", "tests": [ { "title": "should copy text to clipboard and show Copied when copy button is clicked", "attempts": [ { "duration": 3180 } ] } ] } ] }, { "title": "editor/various/color-picker-hsl.spec.js", "type": "file", "suites": [ { "title": "ColorPicker HSL inputs", "type": "suite", "tests": [ { "title": "should preserve hue and saturation when lightness is set to white", "attempts": [ { "duration": 3928 } ] }, { "title": "should preserve hue and saturation when lightness is set to black", "attempts": [ { "duration": 4021 } ] }, { "title": "should preserve hue and saturation across multiple achromatic round-trips", "attempts": [ { "duration": 4209 } ] } ] } ] }, { "title": "editor/various/color-support.spec.js", "type": "file", "suites": [ { "title": "Link color in themes", "type": "suite", "tests": [ { "title": "should apply selected link color in editor and frontend", "attempts": [ { "duration": 4456 } ] } ] } ] }, { "title": "editor/various/compatibility-classic-editor.spec.js", "type": "file", "suites": [ { "title": "Compatibility with classic editor", "type": "suite", "tests": [ { "title": "Should not apply auto when rendering blocks", "attempts": [ { "duration": 8199 } ] } ] } ] }, { "title": "editor/various/content-only-lock.spec.js", "type": "file", "suites": [ { "title": "Content-only lock", "type": "suite", "tests": [ { "title": "should be able to edit the content of blocks with content-only lock", "attempts": [ { "duration": 3544 } ] }, { "title": "should be able to edit the content of deeply nested blocks", "attempts": [ { "duration": 3498 } ] }, { "title": "should be able to edit all blocks via Edit pattern button and exit via Exit pattern button", "attempts": [ { "duration": 4596 } ] }, { "title": "allows editing all blocks via Edit pattern toolbar button and exiting via Exit pattern toolbar button", "attempts": [ { "duration": 4456 } ] }, { "title": "should be able to edit all blocks via double-click and exit by clicking outside", "attempts": [ { "duration": 4349 } ] }, { "title": "non-paragraph content role blocks not within a `content` role container cannot be duplicated, inserted before/after, or moved", "attempts": [ { "duration": 3818 } ] }, { "title": "paragraph blocks that are within a `content` role container can be duplicated, inserted before/after, or moved", "attempts": [ { "duration": 3692 } ] }, { "title": "content role blocks that are within a `content` role container can be duplicated, inserted before/after, or moved", "attempts": [ { "duration": 4456 } ] }, { "title": "pressing Enter on a non-text block in a contentOnly section should not insert a paragraph", "attempts": [ { "duration": 3439 } ] }, { "title": "should insert blocks via Add before and Add after for paragraphs in contentOnly mode", "attempts": [ { "duration": 4021 } ] }, { "title": "should duplicate paragraphs in contentOnly mode", "attempts": [ { "duration": 3818 } ] }, { "title": "should allow removing a default block when siblings exist but not the last one", "attempts": [ { "duration": 3928 } ] }, { "title": "should not allow removing non-content-role blocks via keyboard shortcut in contentOnly mode", "attempts": [ { "duration": 3498 } ] } ] } ] }, { "title": "editor/various/contrast-checker.spec.js", "type": "file", "suites": [ { "title": "Contrast Checker", "type": "suite", "tests": [ { "title": "should show warning in both the Typography and Background panels for insufficient contrast", "attempts": [ { "duration": 3928 } ] }, { "title": "should show warning in both the Typography and Background panels for viewport states", "attempts": [ { "duration": 4209 } ] }, { "title": "should not show warning for sufficient contrast", "attempts": [ { "duration": 3818 } ] }, { "title": "should hide warning when contrast is fixed", "attempts": [ { "duration": 3928 } ] }, { "title": "should show warning for insufficient contrast on buttons", "attempts": [ { "duration": 4349 } ] }, { "title": "should not show warning for sufficient contrast on buttons", "attempts": [ { "duration": 4209 } ] }, { "title": "should show warning for insufficient link color contrast in the Elements panel", "attempts": [ { "duration": 4209 } ] } ] } ] }, { "title": "editor/various/convert-block-type.spec.js", "type": "file", "suites": [ { "title": "Code block", "type": "suite", "tests": [ { "title": "should convert to a preformatted block", "attempts": [ { "duration": 3818 } ] } ] } ] }, { "title": "editor/various/copy-cut-paste.spec.js", "type": "file", "suites": [ { "title": "Copy/cut/paste", "type": "suite", "tests": [ { "title": "should copy and paste individual blocks with collapsed selection", "attempts": [ { "duration": 3818 } ] }, { "title": "should cut and paste individual blocks with collapsed selection", "attempts": [ { "duration": 3818 } ] }, { "title": "should copy blocks when non textual elements are focused (image, spacer)", "attempts": [ { "duration": 3439 } ] }, { "title": "should cut and paste individual non textual blocks", "attempts": [ { "duration": 3544 } ] }, { "title": "should respect inline copy when text is selected", "attempts": [ { "duration": 3928 } ] }, { "title": "should respect inline copy in places like input fields and textareas", "attempts": [ { "duration": 3818 } ] }, { "title": "should handle paste events once", "attempts": [ { "duration": 3544 } ] }, { "title": "can copy group onto non textual element (image, spacer)", "attempts": [ { "duration": 3818 } ] }, { "title": "should copy only partial selection of text blocks", "attempts": [ { "duration": 4021 } ] }, { "title": "should copy/paste partial selection with other blocks in-between", "attempts": [ { "duration": 4209 } ] }, { "title": "should cut partial selection of text blocks", "attempts": [ { "duration": 4021 } ] }, { "title": "should cut/paste partial selection with other blocks in-between", "attempts": [ { "duration": 4209 } ] }, { "title": "should cut partial selection and merge like a normal `delete` - not forward", "attempts": [ { "duration": 4209 } ] }, { "title": "should paste plain text in plain text context when cross block selection is copied", "attempts": [ { "duration": 3928 } ] }, { "title": "should paste single line in post title", "attempts": [ { "duration": 2956 } ] }, { "title": "should paste single line in post title with existing content", "attempts": [ { "duration": 3180 } ] }, { "title": "should paste preformatted in list", "attempts": [ { "duration": 3439 } ] }, { "title": "should paste list in list", "attempts": [ { "duration": 3439 } ] }, { "title": "should paste paragraphs in list", "attempts": [ { "duration": 3439 } ] }, { "title": "should link selection", "attempts": [ { "duration": 3341 } ] }, { "title": "should paste styles using keyboard shortcut", "attempts": [ { "duration": 3818 } ] }, { "title": "should link selection on internal paste", "attempts": [ { "duration": 3439 } ] }, { "title": "should paste link to formatted text", "attempts": [ { "duration": 3439 } ] }, { "title": "should auto-link", "attempts": [ { "duration": 3236 } ] }, { "title": "should embed on paste", "attempts": [ { "duration": 3336 } ] }, { "title": "should undo embed on paste", "attempts": [ { "duration": 3818 } ] }, { "title": "should not link selection for non http(s) protocol", "attempts": [ { "duration": 3336 } ] }, { "title": "should inherit existing block type on paste", "attempts": [ { "duration": 3818 } ] }, { "title": "should inherit heading attributes on paste split", "attempts": [ { "duration": 3341 } ] }, { "title": "should not convert pasted date string into an ordered list", "attempts": [ { "duration": 3180 } ] }, { "title": "should replace the default block on paste when the content is unmodified", "attempts": [ { "duration": 3439 } ] }, { "title": "should copy the block when its entire text is selected", "attempts": [ { "duration": 4435 } ] } ] } ] }, { "title": "editor/various/core-settings.spec.js", "type": "file", "suites": [ { "title": "Settings", "type": "suite", "tests": [ { "title": "Regression: updating a specific option will only change its value and will not corrupt others", "attempts": [ { "duration": 2788 } ] } ] } ] }, { "title": "editor/various/cross-origin-isolation.spec.js", "type": "file", "suites": [ { "title": "Document-Isolation-Policy", "type": "suite", "tests": [ { "title": "should send Document-Isolation-Policy header", "attempts": [ { "duration": 4596 } ] }, { "title": "should render all embed previews normally with DIP", "attempts": [ { "duration": 3336 } ] } ] } ] }, { "title": "editor/various/datepicker.spec.js", "type": "file", "suites": [ { "title": "Datepicker: Pacific/Honolulu", "type": "suite", "tests": [ { "title": "should show the publishing date as \"Immediately\" if the date is not altered", "attempts": [ { "duration": 2788 } ] }, { "title": "should show the publishing date if the date is in the past", "attempts": [ { "duration": 3236 } ] }, { "title": "should show the publishing date if the date is in the future", "attempts": [ { "duration": 3236 } ] }, { "title": "should show the publishing date as \"Immediately\" if the date is cleared", "attempts": [ { "duration": 3439 } ] } ] }, { "title": "Datepicker: UTC", "type": "suite", "tests": [ { "title": "should show the publishing date as \"Immediately\" if the date is not altered", "attempts": [ { "duration": 2788 } ] }, { "title": "should show the publishing date if the date is in the past", "attempts": [ { "duration": 3180 } ] }, { "title": "should show the publishing date if the date is in the future", "attempts": [ { "duration": 3236 } ] }, { "title": "should show the publishing date as \"Immediately\" if the date is cleared", "attempts": [ { "duration": 3439 } ] } ] }, { "title": "Datepicker: Australia/Sydney", "type": "suite", "tests": [ { "title": "should show the publishing date as \"Immediately\" if the date is not altered", "attempts": [ { "duration": 2956 } ] }, { "title": "should show the publishing date if the date is in the past", "attempts": [ { "duration": 3236 } ] }, { "title": "should show the publishing date if the date is in the future", "attempts": [ { "duration": 3236 } ] }, { "title": "should show the publishing date as \"Immediately\" if the date is cleared", "attempts": [ { "duration": 3439 } ] } ] } ] }, { "title": "editor/various/draggable-blocks.spec.js", "type": "file", "suites": [ { "title": "Draggable block", "type": "suite", "tests": [ { "title": "can drag and drop to the top of a vertical block list", "attempts": [ { "duration": 3818 } ] }, { "title": "can drag and drop to the bottom of a vertical block list", "attempts": [ { "duration": 3928 } ] }, { "title": "can drag and drop to the start of a horizontal block list", "attempts": [ { "duration": 3818 } ] }, { "title": "can drag and drop to the end of a horizontal block list", "attempts": [ { "duration": 3818 } ] }, { "title": "can drag and drop to an empty parent block like Group or Columns", "attempts": [ { "duration": 4596 } ] }, { "title": "renders the drag chip inside the wp compat overlay slot", "attempts": [ { "duration": 3818 } ] }, { "title": "can directly drag an image", "attempts": [ { "duration": 3818 } ] } ] } ] }, { "title": "editor/various/dropdown-menu.spec.js", "type": "file", "suites": [ { "title": "Dropdown Menu", "type": "suite", "tests": [ { "title": "keyboard navigiation", "attempts": [ { "duration": 3818 } ] } ] } ] }, { "title": "editor/various/duplicating-blocks.spec.js", "type": "file", "suites": [ { "title": "Duplicating blocks", "type": "suite", "tests": [ { "title": "should duplicate blocks using the block settings menu and keyboard shortcut", "attempts": [ { "duration": 3818 } ] } ] } ] }, { "title": "editor/various/editable-root-compat.spec.js", "type": "file", "suites": [ { "title": "Editable root block event handler compatibility", "type": "suite", "tests": [ { "title": "delivers keyboard events to a block wrapperProps handler", "attempts": [ { "duration": 3544 } ] }, { "title": "lets a block wrapperProps handler cancel the default action", "attempts": [ { "duration": 3439 } ] }, { "title": "passes a synthetic-like event with a working nativeEvent", "attempts": [ { "duration": 3439 } ] }, { "title": "stops propagation between nested block handlers", "attempts": [ { "duration": 3439 } ] }, { "title": "delivers input events to a block wrapperProps handler", "attempts": [ { "duration": 3439 } ] }, { "title": "does not double up an event React already delivers", "attempts": [ { "duration": 3180 } ] } ] } ] }, { "title": "editor/various/editable-root.spec.js", "type": "file", "suites": [ { "title": "editableRoot host mode", "type": "suite", "tests": [ { "title": "wrapper becomes the editing host for a paragraph with siblings", "attempts": [ { "duration": 3439 } ] }, { "title": "a heading (no support) is not hosted", "attempts": [ { "duration": 3439 } ] } ] } ] }, { "title": "editor/various/editor-modes.spec.js", "type": "file", "suites": [ { "title": "Editing modes (visual/HTML)", "type": "suite", "tests": [ { "title": "should switch between visual and HTML modes", "attempts": [ { "duration": 3818 } ] }, { "title": "should display sidebar in HTML mode", "attempts": [ { "duration": 3818 } ] }, { "title": "should update HTML in HTML mode when sidebar is used", "attempts": [ { "duration": 3818 } ] }, { "title": "the code editor should unselect blocks and disable the inserter", "attempts": [ { "duration": 3439 } ] }, { "title": "saves content when using the shortcut in the Code Editor", "attempts": [ { "duration": 3544 } ] }, { "title": "should reparse changes from code editor", "attempts": [ { "duration": 3439 } ] } ] } ] }, { "title": "editor/various/embedding.spec.js", "type": "file", "suites": [ { "title": "Embedding content", "type": "suite", "tests": [ { "title": "should render embeds in the correct state", "attempts": [ { "duration": 4209 } ] }, { "title": "should allow the user to convert unembeddable URLs to a paragraph with a link in it", "attempts": [ { "duration": 3439 } ] }, { "title": "should retry embeds that could not be embedded with trailing slashes, without the trailing slashes", "attempts": [ { "duration": 3341 } ] }, { "title": "should allow the user to try embedding a failed URL again", "attempts": [ { "duration": 3341 } ] }, { "title": "should switch to the WordPress block correctly", "attempts": [ { "duration": 3439 } ] }, { "title": "should undo URL submit and preview-driven upgrade in a single step", "attempts": [ { "duration": 3439 } ] } ] } ] }, { "title": "editor/various/font-appearance-control.spec.js", "type": "file", "suites": [ { "title": "Font Appearance Control dropdown menu", "type": "suite", "tests": [ { "title": "should apply available font weight and styles from active font family", "attempts": [ { "duration": 3818 } ] }, { "title": "should apply Default appearance if weight and style are invalid", "attempts": [ { "duration": 3341 } ] } ] } ] }, { "title": "editor/various/font-size-picker.spec.js", "type": "file", "suites": [ { "title": "Font Size Picker", "type": "suite", "suites": [ { "title": "Common", "type": "suite", "tests": [ { "title": "should apply a custom font size using the font size input", "attempts": [ { "duration": 3818 } ] }, { "title": "should reset a custom font size using input field", "attempts": [ { "duration": 3928 } ] } ] }, { "title": "More font sizes", "type": "suite", "tests": [ { "title": "should apply a named font size using the font size buttons", "attempts": [ { "duration": 4021 } ] }, { "title": "should reset a named font size using the tools panel menu", "attempts": [ { "duration": 4596 } ] }, { "title": "should reset a named font size using input field", "attempts": [ { "duration": 4209 } ] } ] }, { "title": "Few font sizes", "type": "suite", "tests": [ { "title": "should apply a named font size using the font size buttons", "attempts": [ { "duration": 3818 } ] }, { "title": "should reset a named font size using the tools panel menu", "attempts": [ { "duration": 4209 } ] }, { "title": "should reset a named font size using input field", "attempts": [ { "duration": 4209 } ] } ] } ] } ] }, { "title": "editor/various/footnotes-revisions.spec.js", "type": "file", "suites": [ { "title": "Footnotes in Revisions UI", "type": "suite", "tests": [ { "title": "should show the correct footnotes for each revision", "attempts": [ { "duration": 6426 } ] } ] } ] }, { "title": "editor/various/footnotes.spec.js", "type": "file", "suites": [ { "title": "Footnotes", "type": "suite", "tests": [ { "title": "can be inserted", "attempts": [ { "duration": 9716 } ] }, { "title": "can be inserted in a list", "attempts": [ { "duration": 4209 } ] }, { "title": "can be inserted in a table", "attempts": [ { "duration": 4209 } ] }, { "title": "works with revisions", "attempts": [ { "duration": 8553 } ] }, { "title": "can be previewed when published", "attempts": [ { "duration": 5872 } ] }, { "title": "should leave alone other block attributes", "attempts": [ { "duration": 3818 } ] } ] } ] }, { "title": "editor/various/format-library/math.spec.js", "type": "file", "suites": [ { "title": "Format Library - Math", "type": "suite", "tests": [ { "title": "should insert math format with LaTeX", "attempts": [ { "duration": 4209 } ] }, { "title": "should seed the math format from the current selection", "attempts": [ { "duration": 4209 } ] } ] } ] }, { "title": "editor/various/format-library/text-color.spec.js", "type": "file", "suites": [ { "title": "Format Library - Text color", "type": "suite", "tests": [ { "title": "should remove highlighting element", "attempts": [ { "duration": 3818 } ] } ] } ] }, { "title": "editor/various/fullscreen-mode.spec.js", "type": "file", "suites": [ { "title": "Fullscreen Mode", "type": "suite", "suites": [ { "title": "Site Editor", "type": "suite", "tests": [ { "title": "should show the admin bar", "attempts": [ { "duration": 3336 } ] } ] } ], "tests": [ { "title": "should show the admin bar", "attempts": [ { "duration": 4997 } ] }, { "title": "should hide the admin bar in distraction free mode", "attempts": [ { "duration": 3336 } ] }, { "title": "should show the admin bar in distraction free mode on mobile", "attempts": [ { "duration": 3180 } ] } ] } ] }, { "title": "editor/various/gif-to-video.spec.js", "type": "file", "suites": [ { "title": "Video conversion: animated GIF to video", "type": "suite", "tests": [ { "title": "keeps the uploaded GIF as an Image block and offers an opt-in Video transform", "attempts": [ { "duration": 15251 } ] }, { "title": "completes the upload of a long animated GIF and produces a single-frame poster", "attempts": [ { "duration": 13467 } ] }, { "title": "generates static first-frame sub-sizes for animated GIFs, matching core", "attempts": [ { "duration": 13467 } ] } ] } ] }, { "title": "editor/various/heic-upload-progress-snackbar.spec.js", "type": "file", "suites": [ { "title": "Upload progress snackbar (HEIC-only canvas mode) (@webkit)", "type": "suite", "tests": [ { "title": "counts a single HEIC upload as one file", "attempts": [ { "duration": 3439 }, { "environmentIdx": 1, "duration": 4868 }, { "environmentIdx": 2, "duration": 3439 } ] } ] } ] }, { "title": "editor/various/inner-blocks-templates.spec.js", "type": "file", "suites": [ { "title": "Inner blocks templates", "type": "suite", "tests": [ { "title": "applying block templates asynchronously does not create a persistent change in the editor", "attempts": [ { "duration": 8199 } ] } ] } ] }, { "title": "editor/various/inserting-blocks.spec.js", "type": "file", "suites": [ { "title": "Inserting blocks (@firefox, @webkit)", "type": "suite", "tests": [ { "title": "inserts a default block on bottom padding click", "attempts": [ { "duration": 3818 }, { "environmentIdx": 1, "duration": 5318 }, { "environmentIdx": 2, "duration": 4636 } ] }, { "title": "inserts blocks by dragging and dropping from the global inserter", "attempts": [ { "duration": 4682 }, { "environmentIdx": 1, "duration": 435 }, { "environmentIdx": 2, "duration": 393 } ] }, { "title": "cancels dragging blocks from the global inserter by pressing Escape", "attempts": [ { "duration": 4596 }, { "environmentIdx": 1, "duration": 421 }, { "environmentIdx": 2, "duration": 383 } ] }, { "title": "inserts patterns by dragging and dropping from the global inserter", "attempts": [ { "duration": 4349 }, { "environmentIdx": 1, "duration": 421 }, { "environmentIdx": 2, "duration": 383 } ] }, { "title": "inserts synced patterns by dragging and dropping from the global inserter", "attempts": [ { "duration": 5309 }, { "environmentIdx": 1, "duration": 421 }, { "environmentIdx": 2, "duration": 383 } ] }, { "title": "cancels dragging patterns from the global inserter by pressing Escape", "attempts": [ { "duration": 4596 }, { "environmentIdx": 1, "duration": 421 }, { "environmentIdx": 2, "duration": 2361 } ] }, { "title": "should close the inserter when clicking on the toggle button", "attempts": [ { "duration": 4435 }, { "environmentIdx": 1, "duration": 5920 }, { "environmentIdx": 2, "duration": 5003 } ] }, { "title": "should insert block with the slash inserter when using multiple words", "attempts": [ { "duration": 3818 }, { "environmentIdx": 1, "duration": 5318 }, { "environmentIdx": 2, "duration": 4193 } ] }, { "title": "inserts a block in proper place after having clicked `Browse All` from inline inserter", "attempts": [ { "duration": 5714 }, { "environmentIdx": 1, "duration": 12231 }, { "environmentIdx": 2, "duration": 6740 } ] }, { "title": "inserts a block should show a blue line indicator", "attempts": [ { "duration": 4596 }, { "environmentIdx": 1, "duration": 7262 }, { "environmentIdx": 2, "duration": 5133 } ] }, { "title": "inserts a block in proper place after having clicked `Browse All` from block appender", "attempts": [ { "duration": 4596 }, { "environmentIdx": 1, "duration": 6741 }, { "environmentIdx": 2, "duration": 5133 } ] }, { "title": "passes the search value in the main inserter when clicking `Browse all`", "attempts": [ { "duration": 4209 }, { "environmentIdx": 1, "duration": 5920 }, { "environmentIdx": 2, "duration": 4662 } ] }, { "title": "can close the main inserter after inserting a single-use block, like the More block", "attempts": [ { "duration": 4047 }, { "environmentIdx": 1, "duration": 5427 }, { "environmentIdx": 2, "duration": 4193 } ] }, { "title": "shows block preview when hovering over block in inserter", "attempts": [ { "duration": 3439 }, { "environmentIdx": 1, "duration": 4350 }, { "environmentIdx": 2, "duration": 3807 } ] }, { "title": "last-inserted block should be given and keep the selection (large viewport)", "attempts": [ { "duration": 4209 }, { "environmentIdx": 1, "duration": 4868 }, { "environmentIdx": 2, "duration": 4465 } ] }, { "title": "last-inserted block should be given and keep the selection (small viewport)", "attempts": [ { "duration": 3692 }, { "environmentIdx": 1, "duration": 4376 }, { "environmentIdx": 2, "duration": 5693 } ] } ] }, { "title": "insert media from inserter", "type": "suite", "tests": [ { "title": "insert media from the global inserter", "attempts": [ { "duration": 3692 } ] } ] }, { "title": "Attached images media category", "type": "suite", "tests": [ { "title": "lists images attached to the current post and empties after detaching", "attempts": [ { "duration": 4021 } ] } ] } ] }, { "title": "editor/various/invalid-block.spec.js", "type": "file", "suites": [ { "title": "Invalid blocks", "type": "suite", "tests": [ { "title": "should show an invalid block message with clickable options", "attempts": [ { "duration": 3818 } ] }, { "title": "should strip potentially malicious on* attributes", "attempts": [ { "duration": 2791 } ] }, { "title": "should not trigger malicious script tags when using a shortcode block", "attempts": [ { "duration": 2788 } ] } ] } ] }, { "title": "editor/various/is-typing.spec.js", "type": "file", "suites": [ { "title": "isTyping", "type": "suite", "tests": [ { "title": "should hide the toolbar when typing", "attempts": [ { "duration": 3439 } ] }, { "title": "should not close the dropdown when typing in it", "attempts": [ { "duration": 3439 } ] } ] } ] }, { "title": "editor/various/keep-styles-on-block-transforms.spec.js", "type": "file", "suites": [ { "title": "Keep styles on block transforms", "type": "suite", "tests": [ { "title": "Should keep colors during a transform", "attempts": [ { "duration": 4209 } ] }, { "title": "Should keep the font size during a transform from multiple blocks into multiple blocks", "attempts": [ { "duration": 4997 } ] }, { "title": "Should not include styles in the group block when grouping a block", "attempts": [ { "duration": 4209 } ] } ] } ] }, { "title": "editor/various/keyboard-navigable-blocks.spec.js", "type": "file", "suites": [ { "title": "Order of block keyboard navigation", "type": "suite", "tests": [ { "title": "permits tabbing through the block toolbar of the paragraph block", "attempts": [ { "duration": 4596 } ] }, { "title": "should navigate correctly with multi selection", "attempts": [ { "duration": 4021 } ] }, { "title": "allows the first element within a block to receive focus", "attempts": [ { "duration": 3236 } ] }, { "title": "allows the block wrapper to gain focus for a group block instead of the first element", "attempts": [ { "duration": 3439 } ] } ] } ] }, { "title": "editor/various/list-view-spotlight-mode.spec.js", "type": "file", "suites": [ { "title": "List View Spotlight Mode", "type": "suite", "tests": [ { "title": "shows disabled blocks in list view and constrains keyboard navigation", "attempts": [ { "duration": 5720 } ] }, { "title": "exits spotlight mode when clicking disabled block in list view", "attempts": [ { "duration": 5309 } ] }, { "title": "exits spotlight mode when pressing Escape key", "attempts": [ { "duration": 5720 } ] }, { "title": "exits spotlight mode when pressing Escape key in list view", "attempts": [ { "duration": 5304 } ] } ] } ] }, { "title": "editor/various/list-view.spec.js", "type": "file", "suites": [ { "title": "List View", "type": "suite", "tests": [ { "title": "allows a user to drag a block to a new sibling position", "attempts": [ { "duration": 4209 } ] }, { "title": "shows the correct amount of blocks after a block is removed in the canvas", "attempts": [ { "duration": 3692 } ] }, { "title": "expands and collapses nested list items", "attempts": [ { "duration": 4021 } ] }, { "title": "moves focus to start/end of list with Home/End keys", "attempts": [ { "duration": 3818 } ] }, { "title": "ensures List View global shortcut works properly", "attempts": [ {} ] }, { "title": "should place focus on the currently selected block in the canvas", "attempts": [ { "duration": 3439 } ] }, { "title": "should duplicate block using keyboard", "attempts": [ { "duration": 3544 } ] }, { "title": "should copy and paste blocks using keyboard", "attempts": [ { "duration": 3688 } ] }, { "title": "should paste block styles using keyboard", "attempts": [ { "duration": 3692 } ] }, { "title": "should cut and paste blocks using keyboard", "attempts": [ { "duration": 3688 } ] }, { "title": "should select blocks using keyboard", "attempts": [ { "duration": 3818 } ] }, { "title": "should deselect blocks using keyboard", "attempts": [ { "duration": 3692 } ] }, { "title": "should insert blocks using keyboard", "attempts": [ { "duration": 3439 } ] }, { "title": "should delete blocks using keyboard", "attempts": [ { "duration": 5470 } ] }, { "title": "should create a group block from the selected multiple blocks", "attempts": [ { "duration": 3498 } ] }, { "title": "block settings dropdown menu", "attempts": [ { "duration": 4596 } ] }, { "title": "should place the caret at the end of the block when activating from List View", "attempts": [ { "duration": 3439 } ] } ] } ] }, { "title": "editor/various/manage-reusable-blocks.spec.js", "type": "file", "suites": [ { "title": "Managing reusable blocks", "type": "suite", "tests": [ { "title": "Should import reusable blocks", "attempts": [ { "duration": 1715 } ] } ] } ] }, { "title": "editor/various/multi-block-selection.spec.js", "type": "file", "suites": [ { "title": "Multi-block selection (@firefox, @webkit)", "type": "suite", "suites": [ { "title": "shift+click multi-selection", "type": "suite", "tests": [ { "title": "should multi-select block with text selection and a block without text selection", "attempts": [ { "duration": 3341 }, { "environmentIdx": 1, "duration": 3980 }, { "environmentIdx": 2, "duration": 3724 } ] }, { "title": "should partially select text from block to block in either direction", "attempts": [ { "duration": 3544 }, { "environmentIdx": 1, "duration": 4824 }, { "environmentIdx": 2, "duration": 4375 } ] }, { "title": "should partially select text from list item to list item", "attempts": [ { "duration": 3336 }, { "environmentIdx": 1, "duration": 3980 }, { "environmentIdx": 2, "duration": 3463 } ] }, { "title": "should multi-select blocks without text selection", "attempts": [ { "duration": 3236 }, { "environmentIdx": 1, "duration": 3980 }, { "environmentIdx": 2, "duration": 3392 } ] }, { "title": "should grow and shrink a full selection with shift+arrow", "attempts": [ { "duration": 3544 }, { "environmentIdx": 1, "duration": 4801 }, { "environmentIdx": 2, "duration": 3616 } ] }, { "title": "should extend the selection from a block without a text selection", "attempts": [ { "duration": 3336 }, { "environmentIdx": 1, "duration": 3952 }, { "environmentIdx": 2, "duration": 3807 } ] }, { "title": "should not scroll the canvas when the selection spans a scrolled page", "attempts": [ { "duration": 6437 }, { "environmentIdx": 1, "duration": 10673 }, { "environmentIdx": 2, "duration": 8498 } ] } ] } ], "tests": [ { "title": "should select with double ctrl+a and speak", "attempts": [ { "duration": 3336 }, { "environmentIdx": 1, "duration": 3933 }, { "environmentIdx": 2, "duration": 3590 } ] }, { "title": "should only trigger multi-selection when at the end (-webkit)", "attempts": [ { "duration": 3544 }, { "environmentIdx": 1, "duration": 3544 }, { "environmentIdx": 2, "duration": 3807 } ] }, { "title": "should use selection direction to determine vertical edge", "attempts": [ { "duration": 3336 }, { "environmentIdx": 1, "duration": 4350 }, { "environmentIdx": 2, "duration": 3463 } ] }, { "title": "should always expand single line selection", "attempts": [ { "duration": 3439 }, { "environmentIdx": 1, "duration": 4801 }, { "environmentIdx": 2, "duration": 3746 } ] }, { "title": "should allow selecting outer edge if there is no sibling block", "attempts": [ { "duration": 3180 }, { "environmentIdx": 1, "duration": 3610 }, { "environmentIdx": 2, "duration": 3397 } ] }, { "title": "should select and deselect with shift and arrow keys", "attempts": [ { "duration": 4596 }, { "environmentIdx": 1, "duration": 9036 }, { "environmentIdx": 2, "duration": 5513 } ] }, { "title": "should deselect with Escape", "attempts": [ { "duration": 3336 }, { "environmentIdx": 1, "duration": 3980 }, { "environmentIdx": 2, "duration": 3689 } ] }, { "title": "should keep the editing host semantics across a cross-block selection", "attempts": [ { "duration": 3439 }, { "environmentIdx": 1, "duration": 4376 }, { "environmentIdx": 2, "duration": 3965 } ] }, { "title": "should select with shift + click", "attempts": [ { "duration": 3818 }, { "environmentIdx": 1, "duration": 5895 }, { "environmentIdx": 2, "duration": 4193 } ] }, { "title": "should properly select a single block even if `shift` was held for the selection (-firefox)", "attempts": [ { "duration": 5470 }, { "environmentIdx": 1, "duration": 6683 }, { "environmentIdx": 2, "duration": 5470 } ] }, { "title": "should properly select multiple blocks if selected nested blocks belong to different parent (-webkit)", "attempts": [ { "duration": 3439 }, { "environmentIdx": 1, "duration": 3439 }, { "environmentIdx": 2, "duration": 5550 } ] }, { "title": "should properly select part of nested rich text block while holding shift (-firefox)", "attempts": [ { "duration": 3439 }, { "environmentIdx": 1, "duration": 4350 }, { "environmentIdx": 2, "duration": 3439 } ] }, { "title": "should select by dragging", "attempts": [ { "duration": 3439 }, { "environmentIdx": 1, "duration": 4376 }, { "environmentIdx": 2, "duration": 4145 } ] }, { "title": "should select by dragging into nested block", "attempts": [ { "duration": 3439 }, { "environmentIdx": 1, "duration": 4350 }, { "environmentIdx": 2, "duration": 3783 } ] }, { "title": "should cut and paste", "attempts": [ { "duration": 3498 }, { "environmentIdx": 1, "duration": 3980 }, { "environmentIdx": 2, "duration": 3463 } ] }, { "title": "should copy and paste", "attempts": [ { "duration": 3818 }, { "environmentIdx": 1, "duration": 5318 }, { "environmentIdx": 2, "duration": 4146 } ] }, { "title": "should return original focus after failed multi selection attempt", "attempts": [ { "duration": 3818 }, { "environmentIdx": 1, "duration": 4801 }, { "environmentIdx": 2, "duration": 3807 } ] }, { "title": "should keep correct selection when dragging outside block (-firefox)", "attempts": [ { "duration": 3692 }, { "environmentIdx": 1, "duration": 4376 }, { "environmentIdx": 2, "duration": 3692 } ] }, { "title": "should preserve dragged selection on move", "attempts": [ { "duration": 4047 }, { "environmentIdx": 1, "duration": 6683 }, { "environmentIdx": 2, "duration": 4193 } ] }, { "title": "should clear selection when clicking next to blocks", "attempts": [ { "duration": 3544 }, { "environmentIdx": 1, "duration": 4376 }, { "environmentIdx": 2, "duration": 3807 } ] }, { "title": "should set attributes for multiple paragraphs", "attempts": [ { "duration": 3341 }, { "environmentIdx": 1, "duration": 3980 }, { "environmentIdx": 2, "duration": 3616 } ] }, { "title": "should not multi select single block", "attempts": [ { "duration": 3236 }, { "environmentIdx": 1, "duration": 3656 }, { "environmentIdx": 2, "duration": 3392 } ] }, { "title": "should select a single paragraph on triple click", "attempts": [ { "duration": 3439 }, { "environmentIdx": 1, "duration": 3933 }, { "environmentIdx": 2, "duration": 5237 } ] }, { "title": "should select the whole paragraph on triple click from the block edge", "attempts": [ { "duration": 3439 }, { "environmentIdx": 1, "duration": 3980 }, { "environmentIdx": 2, "duration": 3724 } ] }, { "title": "should gradually multi-select", "attempts": [ { "duration": 3692 }, { "environmentIdx": 1, "duration": 4801 }, { "environmentIdx": 2, "duration": 3746 } ] }, { "title": "should multi-select from within the list block", "attempts": [ { "duration": 3439 }, { "environmentIdx": 1, "duration": 4350 }, { "environmentIdx": 2, "duration": 3590 } ] }, { "title": "should select title if the cursor is on title", "attempts": [ { "duration": 3336 }, { "environmentIdx": 1, "duration": 4350 }, { "environmentIdx": 2, "duration": 3616 } ] }, { "title": "should multi-select in the ListView component with shift + click", "attempts": [ { "duration": 4596 }, { "environmentIdx": 1, "duration": 8291 }, { "environmentIdx": 2, "duration": 5133 } ] }, { "title": "should forward delete across blocks", "attempts": [ { "duration": 3928 }, { "environmentIdx": 1, "duration": 5318 }, { "environmentIdx": 2, "duration": 4361 } ] }, { "title": "should write over selection (-firefox)", "attempts": [ { "duration": 3544 }, { "environmentIdx": 1, "duration": 4801 }, { "environmentIdx": 2, "duration": 3544 } ] }, { "title": "should handle Enter across blocks", "attempts": [ { "duration": 4021 }, { "environmentIdx": 1, "duration": 5318 }, { "environmentIdx": 2, "duration": 4375 } ] }, { "title": "should select separator (single element block)", "attempts": [ { "duration": 3439 }, { "environmentIdx": 1, "duration": 4801 }, { "environmentIdx": 2, "duration": 3965 } ] }, { "title": "should partially select with shift + click", "attempts": [ { "duration": 3439 }, { "environmentIdx": 1, "duration": 4376 }, { "environmentIdx": 2, "duration": 5850 } ] }, { "title": "should select by dragging into separator", "attempts": [ { "duration": 3439 }, { "environmentIdx": 1, "duration": 4350 }, { "environmentIdx": 2, "duration": 3746 } ] }, { "title": "should select all with formatting", "attempts": [ { "duration": 3180 }, { "environmentIdx": 1, "duration": 3656 }, { "environmentIdx": 2, "duration": 3434 } ] }, { "title": "should write over selection (-chromium, -webkit, @firefox)", "attempts": [ { "duration": 4193 } ] } ] } ] }, { "title": "editor/various/multi-entity-saving.spec.js", "type": "file", "suites": [ { "title": "Editor - Multi-entity save flow", "type": "suite", "tests": [ { "title": "Save flow should work as expected", "attempts": [ { "duration": 5249 } ] }, { "title": "Site blocks should save individually", "attempts": [ { "duration": 4703 } ] } ] } ] }, { "title": "editor/various/navigable-toolbar.spec.js", "type": "file", "suites": [ { "title": "Block Toolbar", "type": "suite", "suites": [ { "title": "Contextual Toolbar", "type": "suite", "tests": [ { "title": "should not scroll page", "attempts": [ { "duration": 4674 } ] }, { "title": "can navigate to the block toolbar and back to block using the keyboard", "attempts": [ { "duration": 5142 } ] } ] } ], "tests": [ { "title": "should focus with Shift+Tab", "attempts": [ { "duration": 3419 } ] }, { "title": "Block toolbar will scroll to reveal hidden buttons with fixed toolbar", "attempts": [ { "duration": 6485 } ] }, { "title": "Tab order of the block toolbar aligns with visual order", "attempts": [ { "duration": 4674 } ] }, { "title": "Focus should remain on mover when moving blocks", "attempts": [ { "duration": 4203 } ] } ] } ] }, { "title": "editor/various/new-post-default-content.spec.js", "type": "file", "suites": [ { "title": "new editor filtered state", "type": "suite", "tests": [ { "title": "should respect default content", "attempts": [ { "duration": 3110 } ] } ] } ] }, { "title": "editor/various/new-post.spec.js", "type": "file", "suites": [ { "title": "new editor state", "type": "suite", "tests": [ { "title": "should show the New Post page in Gutenberg", "attempts": [ { "duration": 3110 } ] }, { "title": "should have no history", "attempts": [ { "duration": 2854 } ] }, { "title": "should focus the title if the title is empty", "attempts": [ { "duration": 2854 } ] }, { "title": "should not focus the title if the title exists", "attempts": [ { "duration": 5766 } ] }, { "title": "should be saveable with sufficient initial edits", "attempts": [ { "duration": 2854 } ] } ] } ] }, { "title": "editor/various/parsing-patterns.spec.js", "type": "file", "suites": [ { "title": "Parsing patterns", "type": "suite", "tests": [ { "title": "Considers a pattern with whitespace an allowed pattern", "attempts": [ { "duration": 4674 } ] } ] } ] }, { "title": "editor/various/pattern-overrides.spec.js", "type": "file", "suites": [ { "title": "Pattern Overrides", "type": "suite", "suites": [ { "title": "block editing modes", "type": "suite", "tests": [ { "title": "blocks with bindings in a synced pattern are editable, and all other blocks are disabled", "attempts": [ { "duration": 5249 } ] }, { "title": "disables editing of nested patterns", "attempts": [ { "duration": 5142 } ] } ] } ], "tests": [ { "title": "Create a pattern with overrides", "attempts": [ { "duration": 10188 } ] }, { "title": "blocks within a synced pattern cannot be duplicated, inserted before/after, or moved", "attempts": [ { "duration": 4703 } ] }, { "title": "retains override values when converting a pattern block to regular blocks", "attempts": [ { "duration": 4203 } ] }, { "title": "can convert a pattern block to regular blocks when the pattern supports overrides but not override values", "attempts": [ { "duration": 3781 } ] }, { "title": "handles button's link settings", "attempts": [ { "duration": 5836 } ] }, { "title": "should disable editing for pattern blocks without overrides enabled, even when mixed with bound attributes", "attempts": [ { "duration": 5142 } ] }, { "title": "resets overrides after clicking the reset button", "attempts": [ { "duration": 4703 } ] }, { "title": "resets overrides immediately should not break undo/redo", "attempts": [ { "duration": 4203 } ] }, { "title": "overridden empty images should not have upload button", "attempts": [ { "duration": 6529 } ] }, { "title": "overridden images should not have unsupported attributes set", "attempts": [ { "duration": 3781 } ] }, { "title": "image block classname and data-id attributes contain the correct media ids when used in a gallery", "attempts": [ { "duration": 4674 } ] }, { "title": "image block classname contains the correct media id and has no data-id attribute when used as a standalone image", "attempts": [ { "duration": 4674 } ] }, { "title": "blocks with the same name should be synced", "attempts": [ { "duration": 6485 } ] }, { "title": "unsynced patterns should not be able to enable overrides", "attempts": [ { "duration": 3781 } ] } ] } ] }, { "title": "editor/various/patterns.spec.js", "type": "file", "suites": [ { "title": "Unsynced pattern", "type": "suite", "tests": [ { "title": "create a new unsynced pattern via the block options menu", "attempts": [ { "duration": 4284 } ] }, { "title": "inserts unsynced patterns in content only mode", "attempts": [ { "duration": 3419 } ] }, { "title": "supports double-clicking the pattern to edit it", "attempts": [ { "duration": 3758 } ] }, { "title": "supports editing pattern via Edit pattern button", "attempts": [ { "duration": 3758 } ] }, { "title": "shows the source block in the inspector when editing a pattern", "attempts": [ { "duration": 3135 } ] }, { "title": "shows the full pattern editing command suggestion when a pattern content block is selected", "attempts": [ { "duration": 3419 } ] }, { "title": "shows the source block in the inspector when full pattern editing is enabled", "attempts": [ { "duration": 3687 } ] }, { "title": "detaches an unsynced pattern via the block options menu", "attempts": [ { "duration": 3135 } ] }, { "title": "supports editing pattern via Edit pattern toolbar button", "attempts": [ { "duration": 3781 } ] } ] }, { "title": "Synced pattern", "type": "suite", "tests": [ { "title": "create a new synced pattern via the block options menu", "attempts": [ { "duration": 7269 } ] }, { "title": "can be saved when modified inside of a published post", "attempts": [ { "duration": 4703 } ] }, { "title": "allows conversion back to blocks when the reusable block has unsaved edits", "attempts": [ { "duration": 4284 } ] }, { "title": "can be created, inserted, and converted to a regular block", "attempts": [ { "duration": 3419 } ] }, { "title": "can be inserted after refresh", "attempts": [ { "duration": 6002 } ] }, { "title": "can be created from multiselection and converted back to regular blocks", "attempts": [ { "duration": 4284 } ] }, { "title": "will not break the editor if empty", "attempts": [ { "duration": 5142 } ] }, { "title": "should show a proper message when the reusable block is missing", "attempts": [ { "duration": 2854 } ] }, { "title": "should be able to insert a reusable block twice", "attempts": [ { "duration": 4703 } ] }, { "title": "should allow a block with styles to be converted to a reusable block", "attempts": [ { "duration": 5836 } ] } ] }, { "title": "Synced pattern - entity navigation", "type": "suite", "tests": [ { "title": "should restore selection after navigating back from pattern editing", "attempts": [ { "duration": 4284 } ] } ] } ] }, { "title": "editor/various/popovers.spec.js", "type": "file", "suites": [ { "title": "popovers", "type": "suite", "suites": [ { "title": "dropdown", "type": "suite", "tests": [ { "title": "toggles via click", "attempts": [ { "duration": 3063 } ] } ] } ] } ] }, { "title": "editor/various/post-content-focus-mode.spec.js", "type": "file", "suites": [ { "title": "Post Content focus mode", "type": "suite", "suites": [ { "title": "post content inside a template part", "type": "suite", "tests": [ { "title": "post title and content are editable and blocks can be inserted", "attempts": [ { "duration": 4703 } ] }, { "title": "template part blocks outside post content are not editable", "attempts": [ { "duration": 3419 } ] }, { "title": "inserts blocks into Post Content from different selection states", "attempts": [ { "duration": 8192 } ] } ] } ], "tests": [ { "title": "inserts blocks into Post Content from different selection states", "attempts": [ { "duration": 7269 } ] } ] } ] }, { "title": "editor/various/post-editor-template-mode.spec.js", "type": "file", "suites": [ { "title": "Post Editor Template mode", "type": "suite", "tests": [ { "title": "Allow to switch to template mode, edit the template and check the result", "attempts": [ { "duration": 7269 } ] }, { "title": "Change templates and proper template resolution when switching to default template", "attempts": [ { "duration": 7269 } ] }, { "title": "Allow creating custom block templates in classic themes", "attempts": [ { "duration": 7269 } ] } ] } ] }, { "title": "editor/various/post-summary.spec.js", "type": "file", "suites": [ { "title": "Post Summary", "type": "suite", "suites": [ { "title": "wp_block summary", "type": "suite", "tests": [ { "title": "shows pattern summary fields in the post editor", "attempts": [ { "duration": 5766 } ] }, { "title": "shows pattern summary fields in the site editor", "attempts": [ { "duration": 6485 } ] }, { "title": "shows title and sync status while creating a new synced pattern in the post editor", "attempts": [ { "duration": 3220 } ] }, { "title": "shows title and sync status while creating a new unsynced pattern in the post editor", "attempts": [ { "duration": 3353 } ] } ] }, { "title": "post status", "type": "suite", "tests": [ { "title": "shows Draft for a new post before it has been saved", "attempts": [ { "duration": 3135 } ] } ] } ] } ] }, { "title": "editor/various/post-title.spec.js", "type": "file", "suites": [ { "title": "Post title", "type": "suite", "suites": [ { "title": "Focus handling", "type": "suite", "tests": [ { "title": "should focus on the post title field when creating a new post in visual mode", "attempts": [ { "duration": 3135 } ] }, { "title": "should focus on the post title field when creating a new post in code editor mode", "attempts": [ { "duration": 2854 } ] } ] }, { "title": "HTML handling", "type": "suite", "tests": [ { "title": "should (visually) render any HTML in Post Editor's post title field when in Visual editing mode", "attempts": [ { "duration": 2983 } ] }, { "title": "should show raw HTML in the post title field when in Code view mode", "attempts": [ { "duration": 2941 } ] }, { "title": "should strip HTML tags when pasting string of HTML into the post title field in Visual mode", "attempts": [ { "duration": 2854 } ] }, { "title": "should retain HTML tags when pasting string of HTML into the post title field in Code view mode", "attempts": [ {} ] }, { "title": "should strip HTML tags from Post Title when pasted text is transformed to blocks", "attempts": [ { "duration": 3135 } ] }, { "title": "should output HTML tags in plaintext when added into Post Title field in visual editor mode", "attempts": [ { "duration": 3135 } ] }, { "title": "should output HTML tags in plaintext in visual editor mode when HTML is added in plaintext in code editor mode", "attempts": [ { "duration": 3566 } ] } ] } ] } ] }, { "title": "editor/various/post-visibility.spec.js", "type": "file", "suites": [ { "title": "Post visibility", "type": "suite", "tests": [ { "title": "can be changed when the viewport is large", "attempts": [ { "duration": 2941 } ] }, { "title": "can be changed when the viewport is small", "attempts": [ { "duration": 2941 } ] }, { "title": "visibility remains private even if the publish date is in the future", "attempts": [ { "duration": 3693 } ] } ] } ] }, { "title": "editor/various/pref-modal.spec.js", "type": "file", "suites": [ { "title": "Preferences modal", "type": "suite", "suites": [ { "title": "Preferences modal adaps to viewport", "type": "suite", "tests": [ { "title": "Enable pre-publish checks is visible on desktop", "attempts": [ { "duration": 3073 } ] }, { "title": "Enable pre-publish checks is not visible on mobile", "attempts": [ { "duration": 3073 } ] } ] } ] } ] }, { "title": "editor/various/preferences.spec.js", "type": "file", "suites": [ { "title": "Preferences", "type": "suite", "tests": [ { "title": "remembers sidebar dismissal between sessions", "attempts": [ { "duration": 7151 } ] } ] } ] }, { "title": "editor/various/preview.spec.js", "type": "file", "suites": [ { "title": "Preview", "type": "suite", "tests": [ { "title": "should open a preview window for a new post", "attempts": [ { "duration": 5836 } ] }, { "title": "should not revert title during a preview right after a save draft", "attempts": [ { "duration": 5249 } ] }, { "title": "should not use stale autosave data after reverting title", "attempts": [ { "duration": 4703 } ] }, { "title": "should display the correct preview when switching between published and draft statuses", "attempts": [ { "duration": 5667 } ] } ] }, { "title": "Preview with Custom Fields enabled", "type": "suite", "tests": [ { "title": "displays edits to the post title and content in the preview", "attempts": [ { "duration": 5142 } ] } ] }, { "title": "Preview with private custom post type", "type": "suite", "tests": [ { "title": "should not show the Preview Externally link", "attempts": [ { "duration": 2854 } ] } ] } ] }, { "title": "editor/various/publish-button.spec.js", "type": "file", "suites": [ { "title": "Post publish button", "type": "suite", "tests": [ { "title": "should be disabled when post is not saveable", "attempts": [ { "duration": 2854 } ] }, { "title": "should be disabled when post is being saved", "attempts": [ { "duration": 3073 } ] }, { "title": "should be disabled when metabox is being saved", "attempts": [ { "duration": 3135 } ] } ] } ] }, { "title": "editor/various/publish-panel.spec.js", "type": "file", "suites": [ { "title": "Post publish panel", "type": "suite", "tests": [ { "title": "should move focus back to the Publish panel toggle button when canceling", "attempts": [ { "duration": 3419 } ] }, { "title": "should move focus back to the Publish panel toggle button after publishing and closing the panel", "attempts": [ { "duration": 3781 } ] }, { "title": "should move focus to the cancel button in the panel", "attempts": [ { "duration": 3110 } ] }, { "title": "should focus on the post list after publishing", "attempts": [ { "duration": 3407 } ] }, { "title": "should retain focus within the panel", "attempts": [ { "duration": 3110 } ] }, { "title": "should auto-collapse the publish panel after publishing when the user makes an edit", "attempts": [ { "duration": 3693 } ] } ] } ] }, { "title": "editor/various/publishing.spec.js", "type": "file", "suites": [ { "title": "Publishing", "type": "suite", "suites": [ { "title": "post locking prevent saving", "type": "suite", "tests": [ { "title": "disables the publish button when a post is locked", "attempts": [ { "duration": 3110 } ] }, { "title": "disables the save shortcut when a post is locked", "attempts": [ { "duration": 3073 } ] } ] }, { "title": "page locking prevent saving", "type": "suite", "tests": [ { "title": "disables the publish button when a page is locked", "attempts": [ { "duration": 3073 } ] }, { "title": "disables the save shortcut when a page is locked", "attempts": [ { "duration": 2854 } ] } ] }, { "title": "a post with pre-publish checks disabled", "type": "suite", "tests": [ { "title": "should publish the post without opening the post-publish sidebar", "attempts": [ { "duration": 3135 } ] } ] }, { "title": "a page with pre-publish checks disabled", "type": "suite", "tests": [ { "title": "should publish the page without opening the post-publish sidebar", "attempts": [ { "duration": 3135 } ] } ] }, { "title": "a post in small viewports", "type": "suite", "tests": [ { "title": "should ignore the pre-publish checks and show the publish panel", "attempts": [ { "duration": 3353 } ] } ] }, { "title": "a page in small viewports", "type": "suite", "tests": [ { "title": "should ignore the pre-publish checks and show the publish panel", "attempts": [ { "duration": 3135 } ] } ] } ] } ] }, { "title": "editor/various/revision-block-diff.spec.js", "type": "file", "suites": [ { "title": "Revision Block Diff Panel", "type": "suite", "tests": [ { "title": "should show changed attributes when alignment changes", "attempts": [ { "duration": 5311 } ] }, { "title": "should not show rich-text attributes in the diff panel", "attempts": [ { "duration": 5249 } ] } ] } ] }, { "title": "editor/various/revision-diff-aria-labels.spec.js", "type": "file", "suites": [ { "title": "Revision block diff aria-labels", "type": "suite", "tests": [ { "title": "should announce the diff status of added, removed and modified blocks", "attempts": [ { "duration": 5836 } ] } ] } ] }, { "title": "editor/various/revision-fields-diff.spec.js", "type": "file", "suites": [ { "title": "Revision Fields Diff Panel", "type": "suite", "tests": [ { "title": "should show only the revision footnotes, not the current post footnotes", "attempts": [ { "duration": 6485 } ] } ] } ] }, { "title": "editor/various/revisions.spec.js", "type": "file", "suites": [ { "title": "Post revisions", "type": "suite", "tests": [ { "title": "should restore an older revision", "attempts": [ { "duration": 5836 } ] }, { "title": "should preserve block clientId when sliding between revisions", "attempts": [ { "duration": 5311 } ] }, { "title": "should expose blocks to global selectors in revisions mode", "attempts": [ { "duration": 5091 } ] }, { "title": "should not show warning for post title block in revisions", "attempts": [ { "duration": 4841 } ] } ] }, { "title": "Post revisions with classic meta boxes", "type": "suite", "tests": [ { "title": "falls back to the classic revisions screen", "attempts": [ { "duration": 5249 } ] } ] }, { "title": "Post revisions slider pagination", "type": "suite", "tests": [ { "title": "should paginate, navigate pages, and diff across page boundaries", "attempts": [ { "duration": 15189 } ] } ] }, { "title": "Template and template part revisions", "type": "suite", "tests": [ { "title": "should restore an older wp_template revision", "attempts": [ { "duration": 8192 } ] }, { "title": "should restore an older wp_template_part revision", "attempts": [ { "duration": 8192 } ] } ] } ] }, { "title": "editor/various/rich-text-deprecated-multiline.spec.js", "type": "file", "suites": [ { "title": "RichText deprecated multiline", "type": "suite", "tests": [ { "title": "should save", "attempts": [ { "duration": 3220 } ] }, { "title": "should split in middle", "attempts": [ { "duration": 3407 } ] }, { "title": "should merge two lines", "attempts": [ { "duration": 3220 } ] }, { "title": "should merge two lines (forward)", "attempts": [ { "duration": 3419 } ] } ] } ] }, { "title": "editor/various/rich-text-deprecated-on-split.spec.js", "type": "file", "suites": [ { "title": "RichText deprecated onSplit", "type": "suite", "tests": [ { "title": "should split", "attempts": [ { "duration": 3135 } ] } ] } ] }, { "title": "editor/various/rich-text.spec.js", "type": "file", "suites": [ { "title": "RichText (@firefox, @webkit)", "type": "suite", "tests": [ { "title": "should handle change in tag name gracefully", "attempts": [ { "duration": 3353 }, { "environmentIdx": 1, "duration": 3980 }, { "environmentIdx": 2, "duration": 4719 } ] }, { "title": "should apply formatting with primary shortcut", "attempts": [ { "duration": 3419 }, { "environmentIdx": 1, "duration": 3933 }, { "environmentIdx": 2, "duration": 3463 } ] }, { "title": "should apply formatting when selection is collapsed", "attempts": [ { "duration": 3419 }, { "environmentIdx": 1, "duration": 4350 }, { "environmentIdx": 2, "duration": 3434 } ] }, { "title": "should apply multiple formats when selection is collapsed", "attempts": [ { "duration": 3419 }, { "environmentIdx": 1, "duration": 3933 }, { "environmentIdx": 2, "duration": 3142 } ] }, { "title": "should not highlight more than one format", "attempts": [ { "duration": 3419 }, { "environmentIdx": 1, "duration": 3980 }, { "environmentIdx": 2, "duration": 3397 } ] }, { "title": "should return focus when pressing formatting button (-firefox)", "attempts": [ { "duration": 3781 }, { "environmentIdx": 1, "duration": 5895 }, { "environmentIdx": 2, "duration": 3781 } ] }, { "title": "should transform backtick to code", "attempts": [ { "duration": 3419 }, { "environmentIdx": 1, "duration": 4350 }, { "environmentIdx": 2, "duration": 3463 } ] }, { "title": "should undo backtick transform with backspace", "attempts": [ { "duration": 3781 }, { "environmentIdx": 1, "duration": 3610 }, { "environmentIdx": 2, "duration": 3283 } ] }, { "title": "should not undo backtick transform with backspace after typing", "attempts": [ { "duration": 3419 }, { "environmentIdx": 1, "duration": 3656 }, { "environmentIdx": 2, "duration": 3463 } ] }, { "title": "should not undo backtick transform with backspace after selection change", "attempts": [ { "duration": 3781 }, { "environmentIdx": 1, "duration": 3913 }, { "environmentIdx": 2, "duration": 3463 } ] }, { "title": "should not format text after code backtick", "attempts": [ { "duration": 3419 }, { "environmentIdx": 1, "duration": 4801 }, { "environmentIdx": 2, "duration": 3746 } ] }, { "title": "should transform when typing backtick over selection", "attempts": [ { "duration": 3781 }, { "environmentIdx": 1, "duration": 5318 }, { "environmentIdx": 2, "duration": 5693 } ] }, { "title": "should only mutate text data on input", "attempts": [ { "duration": 3419 }, { "environmentIdx": 1, "duration": 3933 }, { "environmentIdx": 2, "duration": 3463 } ] }, { "title": "should not lose selection direction", "attempts": [ { "duration": 3419 }, { "environmentIdx": 1, "duration": 4376 }, { "environmentIdx": 2, "duration": 3463 } ] }, { "title": "should handle Home and End keys", "attempts": [ { "duration": 3407 }, { "environmentIdx": 1, "duration": 3933 }, { "environmentIdx": 2, "duration": 3397 } ] }, { "title": "should update internal selection after fresh focus (-firefox)", "attempts": [ { "duration": 3419 }, { "environmentIdx": 1, "duration": 3933 }, { "environmentIdx": 2, "duration": 3419 } ] }, { "title": "should keep internal selection after blur (-webkit)", "attempts": [ { "duration": 3419 }, { "environmentIdx": 1, "duration": 3485 }, { "environmentIdx": 2, "duration": 3485 } ] }, { "title": "should split rich text on paste", "attempts": [ { "duration": 3781 }, { "environmentIdx": 1, "duration": 4372 }, { "environmentIdx": 2, "duration": 3783 } ] }, { "title": "should not split rich text on inline paste", "attempts": [ { "duration": 3419 }, { "environmentIdx": 1, "duration": 3933 }, { "environmentIdx": 2, "duration": 3463 } ] }, { "title": "should not split rich text on inline paste with formatting", "attempts": [ { "duration": 3419 }, { "environmentIdx": 1, "duration": 4350 }, { "environmentIdx": 2, "duration": 4098 } ] }, { "title": "should make bold after split and merge", "attempts": [ { "duration": 3419 }, { "environmentIdx": 1, "duration": 3656 }, { "environmentIdx": 2, "duration": 3463 } ] }, { "title": "should apply active formatting for inline paste", "attempts": [ { "duration": 3419 }, { "environmentIdx": 1, "duration": 4350 }, { "environmentIdx": 2, "duration": 3485 } ] }, { "title": "should preserve internal formatting (-webkit, -firefox)", "attempts": [ { "duration": 4203 } ] }, { "title": "should paste paragraph contents into list", "attempts": [ { "duration": 3781 }, { "environmentIdx": 1, "duration": 4376 }, { "environmentIdx": 2, "duration": 5693 } ] }, { "title": "should paste list contents into paragraph", "attempts": [ { "duration": 4284 }, { "environmentIdx": 1, "duration": 5318 }, { "environmentIdx": 2, "duration": 4662 } ] }, { "title": "should navigate around emoji", "attempts": [ { "duration": 3220 }, { "environmentIdx": 1, "duration": 3558 }, { "environmentIdx": 2, "duration": 3142 } ] }, { "title": "should run input rules after composition end", "attempts": [ { "duration": 3135 }, { "environmentIdx": 1, "duration": 3234 }, { "environmentIdx": 2, "duration": 3142 } ] }, { "title": "should navigate consecutive format boundaries", "attempts": [ { "duration": 3419 }, { "environmentIdx": 1, "duration": 4350 }, { "environmentIdx": 2, "duration": 3463 } ] } ] } ] }, { "title": "editor/various/rtl.spec.js", "type": "file", "suites": [ { "title": "RTL", "type": "suite", "tests": [ { "title": "should arrow navigate", "attempts": [ { "duration": 3220 } ] }, { "title": "should split", "attempts": [ { "duration": 3220 } ] }, { "title": "should merge backward", "attempts": [ { "duration": 3407 } ] }, { "title": "should merge forward", "attempts": [ { "duration": 3407 } ] }, { "title": "should arrow navigate between blocks", "attempts": [ { "duration": 3758 } ] }, { "title": "should navigate inline boundaries", "attempts": [ { "duration": 3566 } ] } ] } ] }, { "title": "editor/various/scheduling.spec.js", "type": "file", "suites": [ { "title": "Scheduling", "type": "suite", "suites": [ { "title": "Timezone Pacific/Honolulu", "type": "suite", "tests": [ { "title": "Should change publishing button text from \"Publish\" to \"Schedule\"", "attempts": [ { "duration": 3135 } ] } ] }, { "title": "Timezone UTC", "type": "suite", "tests": [ { "title": "Should change publishing button text from \"Publish\" to \"Schedule\"", "attempts": [ { "duration": 3135 } ] } ] }, { "title": "Timezone Australia/Sydney", "type": "suite", "tests": [ { "title": "Should change publishing button text from \"Publish\" to \"Schedule\"", "attempts": [ { "duration": 3135 } ] } ] } ], "tests": [ { "title": "should keep date time UI focused when the previous and next month buttons are clicked", "attempts": [ { "duration": 3220 } ] } ] } ] }, { "title": "editor/various/section-block-style-panels.spec.js", "type": "file", "suites": [ { "title": "Section block style panels", "type": "suite", "tests": [ { "title": "a section block exposes curated Typography (text color), Background (color/gradient, no image) and Elements panels, each once", "attempts": [ { "duration": 3781 } ] }, { "title": "a normal (non-section) block still shows the full Typography panel", "attempts": [ { "duration": 3419 } ] } ] } ] }, { "title": "editor/various/shortcut-focus-toolbar.spec.js", "type": "file", "suites": [ { "title": "Focus toolbar shortcut (alt + F10)", "type": "suite", "suites": [ { "title": "In Top Toolbar option:", "type": "suite", "tests": [ { "title": "Focuses the correct toolbar in edit mode", "attempts": [ { "duration": 4284 } ] }, { "title": "Focuses the correct toolbar in select mode", "attempts": [ { "duration": 4284 } ] } ] }, { "title": "Smaller than large viewports", "type": "suite", "tests": [ { "title": "Focuses the correct toolbar in edit mode", "attempts": [ { "duration": 3781 } ] }, { "title": "Focuses the correct toolbar in select mode", "attempts": [ { "duration": 4117 } ] } ] } ], "tests": [ { "title": "Focuses correct toolbar in default view options in edit mode", "attempts": [ { "duration": 5032 } ] } ] } ] }, { "title": "editor/various/shortcut-help.spec.js", "type": "file", "suites": [ { "title": "keyboard shortcut help modal", "type": "suite", "tests": [ { "title": "opens from the options menu, closes with its close button and returns focus", "attempts": [ { "duration": 3073 } ] }, { "title": "toggles open/closed using the keyboard shortcut (access+h)", "attempts": [ { "duration": 2854 } ] } ] } ] }, { "title": "editor/various/should-iframe.spec.js", "type": "file", "suites": [ { "title": "Should iframe", "type": "suite", "tests": [ { "title": "should remain iframed when a v1 block is added", "attempts": [ { "duration": 2854 } ] } ] } ] }, { "title": "editor/various/sidebar-permalink.spec.js", "type": "file", "suites": [ { "title": "Sidebar Permalink", "type": "suite", "tests": [ { "title": "should not render URL when post is publicly queryable but not public", "attempts": [ { "duration": 3419 } ] }, { "title": "should not render URL when post is public but not publicly queryable", "attempts": [ { "duration": 3419 } ] }, { "title": "should render URL when post is public and publicly queryable", "attempts": [ { "duration": 3419 } ] } ] } ] }, { "title": "editor/various/sidebar.spec.js", "type": "file", "suites": [ { "title": "Sidebar", "type": "suite", "tests": [ { "title": "should have sidebar visible at the start with document sidebar active on desktop", "attempts": [ { "duration": 3135 } ] }, { "title": "should have the sidebar closed by default on mobile", "attempts": [ { "duration": 2941 } ] }, { "title": "should close the sidebar when resizing from desktop to mobile", "attempts": [ { "duration": 3018 } ] }, { "title": "should reopen sidebar the sidebar when resizing from mobile to desktop if the sidebar was closed automatically", "attempts": [ { "duration": 3135 } ] }, { "title": "should preserve tab order while changing active tab", "attempts": [ { "duration": 3135 } ] }, { "title": "should focus the selected tab when tabbing into the sidebar", "attempts": [ { "duration": 3566 } ] }, { "title": "should be possible to programmatically remove Document Settings panels", "attempts": [ { "duration": 3135 } ] } ] } ] }, { "title": "editor/various/splitting-merging.spec.js", "type": "file", "suites": [ { "title": "splitting and merging blocks (@firefox, @webkit)", "type": "suite", "suites": [ { "title": "test restore selection when merge produces more than one block", "type": "suite", "tests": [ { "title": "on forward delete", "attempts": [ { "duration": 4117 }, { "environmentIdx": 1, "duration": 5318 }, { "environmentIdx": 2, "duration": 4146 } ] }, { "title": "on backspace", "attempts": [ { "duration": 4284 }, { "environmentIdx": 1, "duration": 5895 }, { "environmentIdx": 2, "duration": 4193 } ] } ] } ], "tests": [ { "title": "should split and merge paragraph blocks using Enter and Backspace", "attempts": [ { "duration": 4386 }, { "environmentIdx": 1, "duration": 8291 }, { "environmentIdx": 2, "duration": 5003 } ] }, { "title": "should merge into inline boundary position", "attempts": [ { "duration": 3781 }, { "environmentIdx": 1, "duration": 4801 }, { "environmentIdx": 2, "duration": 3807 } ] }, { "title": "should delete an empty first line", "attempts": [ { "duration": 3687 }, { "environmentIdx": 1, "duration": 4801 }, { "environmentIdx": 2, "duration": 4161 } ] }, { "title": "should not merge paragraphs if the selection is not collapsed", "attempts": [ { "duration": 3781 }, { "environmentIdx": 1, "duration": 4350 }, { "environmentIdx": 2, "duration": 3746 } ] }, { "title": "should gracefully handle if placing caret in empty container", "attempts": [ { "duration": 3781 }, { "environmentIdx": 1, "duration": 4372 }, { "environmentIdx": 2, "duration": 3807 } ] }, { "title": "should forward delete from an empty paragraph", "attempts": [ { "duration": 3687 }, { "environmentIdx": 1, "duration": 3933 }, { "environmentIdx": 2, "duration": 5550 } ] }, { "title": "should place the caret in the next block on forward delete from an empty paragraph", "attempts": [ { "duration": 4117 }, { "environmentIdx": 1, "duration": 4376 }, { "environmentIdx": 2, "duration": 4098 } ] }, { "title": "should forward delete an empty paragraph without breaking apart the next block", "attempts": [ { "duration": 3781 }, { "environmentIdx": 1, "duration": 4350 }, { "environmentIdx": 2, "duration": 3463 } ] }, { "title": "should remove empty paragraph block on backspace", "attempts": [ { "duration": 3407 }, { "environmentIdx": 1, "duration": 3234 }, { "environmentIdx": 2, "duration": 3142 } ] }, { "title": "should remove at most one paragraph in forward direction", "attempts": [ { "duration": 3781 }, { "environmentIdx": 1, "duration": 4801 }, { "environmentIdx": 2, "duration": 3807 } ] }, { "title": "should ensure always a default block", "attempts": [ { "duration": 3419 }, { "environmentIdx": 1, "duration": 3234 }, { "environmentIdx": 2, "duration": 3283 } ] }, { "title": "should undo split in one go", "attempts": [ { "duration": 3566 }, { "environmentIdx": 1, "duration": 3656 }, { "environmentIdx": 2, "duration": 3463 } ] }, { "title": "should not split with line break in front (-firefox)", "attempts": [ { "duration": 3419 }, { "environmentIdx": 1, "duration": 3933 }, { "environmentIdx": 2, "duration": 3419 } ] }, { "title": "should handle unwrapping and merging blocks with empty contents", "attempts": [ { "duration": 4284 }, { "environmentIdx": 1, "duration": 4350 }, { "environmentIdx": 2, "duration": 3807 } ] }, { "title": "should not split the parent block when the parent block type is not allowed at the grandparent level", "attempts": [ { "duration": 3781 }, { "environmentIdx": 1, "duration": 3933 }, { "environmentIdx": 2, "duration": 5550 } ] } ] } ] }, { "title": "editor/various/style-variation.spec.js", "type": "file", "suites": [ { "title": "adding blocks", "type": "suite", "tests": [ { "title": "Should switch to the plain style of the quote block", "attempts": [ { "duration": 3687 } ] } ] } ] }, { "title": "editor/various/styles.spec.js", "type": "file", "suites": [ { "title": "Styles", "type": "suite", "tests": [ { "title": "should override reset styles", "attempts": [ { "duration": 3135 } ] } ] } ] }, { "title": "editor/various/switch-to-draft.spec.js", "type": "file", "suites": [ { "title": "Clicking \"Switch to draft\" on a published/scheduled post/page", "type": "suite", "tests": [ { "title": "should switch a schedule-ed post to draft in a large viewport", "attempts": [ { "duration": 3419 } ] }, { "title": "should switch a schedule-ed page to draft in a large viewport", "attempts": [ { "duration": 3407 } ] }, { "title": "should switch a schedule-ed post to draft in a small viewport", "attempts": [ { "duration": 3419 } ] }, { "title": "should switch a schedule-ed page to draft in a small viewport", "attempts": [ { "duration": 3419 } ] }, { "title": "should switch a publish-ed post to draft in a large viewport", "attempts": [ { "duration": 3419 } ] }, { "title": "should switch a publish-ed page to draft in a large viewport", "attempts": [ { "duration": 3419 } ] }, { "title": "should switch a publish-ed post to draft in a small viewport", "attempts": [ { "duration": 3407 } ] }, { "title": "should switch a publish-ed page to draft in a small viewport", "attempts": [ { "duration": 3353 } ] } ] } ] }, { "title": "editor/various/taxonomies.spec.js", "type": "file", "suites": [ { "title": "Taxonomies", "type": "suite", "tests": [ { "title": "should be able to open the categories panel and create a new main category", "attempts": [ { "duration": 6963 } ] }, { "title": "should be able to open the tags panel and create a new tag", "attempts": [ { "duration": 6190 } ] }, { "title": "should be able to create a new tag with ' on the name", "attempts": [ { "duration": 6002 } ] } ] } ] }, { "title": "editor/various/template-resolution.spec.js", "type": "file", "suites": [ { "title": "Template resolution", "type": "suite", "suites": [ { "title": "`page_for_posts` setting", "type": "suite", "tests": [ { "title": "Post editor proper template resolution", "attempts": [ { "duration": 5249 } ] }, { "title": "Site editor proper template resolution", "attempts": [ { "duration": 3419 } ] } ] } ], "tests": [ { "title": "Site editor proper front page template resolution when we have only set posts page in settings", "attempts": [ { "duration": 3135 } ] } ] } ] }, { "title": "editor/various/toolbar-roving-tabindex.spec.js", "type": "file", "suites": [ { "title": "Toolbar roving tabindex", "type": "suite", "tests": [ { "title": "ensures base block toolbars use roving tabindex", "attempts": [ { "duration": 8192 } ] }, { "title": "ensures block toolbar remembers the last focused item", "attempts": [ { "duration": 3419 } ] }, { "title": "can reach toolbar items with arrow keys after pressing alt+F10", "attempts": [ { "duration": 3353 } ] } ] } ] }, { "title": "editor/various/typewriter.spec.js", "type": "file", "suites": [ { "title": "Typewriter", "type": "suite", "tests": [ { "title": "should maintain caret position", "attempts": [ { "duration": 3353 } ] }, { "title": "should maintain caret position after scroll", "attempts": [ { "duration": 3063 } ] }, { "title": "should maintain caret position after leaving last editable", "attempts": [ { "duration": 3135 } ] }, { "title": "should scroll caret into view from the top", "attempts": [ { "duration": 3781 } ] } ] } ] }, { "title": "editor/various/undo.spec.js", "type": "file", "suites": [ { "title": "undo", "type": "suite", "tests": [ { "title": "should undo typing after a pause", "attempts": [ { "duration": 4608 } ] }, { "title": "should undo typing after non input change", "attempts": [ { "duration": 3693 } ] }, { "title": "should undo bold", "attempts": [ { "duration": 5836 } ] }, { "title": "Should undo/redo to expected level intervals", "attempts": [ { "duration": 4674 } ] }, { "title": "should undo for explicit persistence editing post", "attempts": [ { "duration": 6485 } ] }, { "title": "should not create undo levels when saving", "attempts": [ { "duration": 3407 } ] }, { "title": "should not create undo levels when publishing", "attempts": [ { "duration": 3687 } ] }, { "title": "should immediately create an undo level on typing", "attempts": [ { "duration": 5612 } ] }, { "title": "should be able to undo and redo when transient changes have been made and we update/publish", "attempts": [ { "duration": 3781 } ] }, { "title": "should be able to undo and redo property cross property changes", "attempts": [ { "duration": 3135 } ] }, { "title": "should not be dirty after undoing all changes", "attempts": [ { "duration": 3758 } ] }, { "title": "should leave undo to the browser inside the link dialog", "attempts": [ { "duration": 3781 } ] }, { "title": "should leave undo to the browser when editing a block as HTML", "attempts": [ { "duration": 4203 } ] }, { "title": "should leave undo to the browser inside the Custom HTML dialog", "attempts": [ { "duration": 4117 } ] } ] } ] }, { "title": "editor/various/upload-progress-snackbar.spec.js", "type": "file", "suites": [ { "title": "Upload progress snackbar (server-side uploads)", "type": "suite", "tests": [ { "title": "completes and dismisses when uploading to an image block", "attempts": [ { "duration": 6246 } ] } ] } ] }, { "title": "editor/various/upload-save-lock.spec.js", "type": "file", "suites": [ { "title": "Upload save lock", "type": "suite", "tests": [ { "title": "should disable Save draft button during a single image upload", "attempts": [ { "duration": 3419 } ] }, { "title": "should disable Save draft button during a multi-file gallery upload", "attempts": [ { "duration": 3758 } ] }, { "title": "should disable Publish button during a single image upload", "attempts": [ { "duration": 3419 } ] }, { "title": "should prevent saving via keyboard shortcut during upload", "attempts": [ { "duration": 3758 } ] }, { "title": "should re-enable Save draft button after upload error", "attempts": [ { "duration": 3407 } ] } ] } ] }, { "title": "editor/various/validate-multiple-use.spec.js", "type": "file", "suites": [ { "title": "Validate multiple use", "type": "suite", "tests": [ { "title": "should display correct number of warning messages", "attempts": [ { "duration": 3419 } ] } ] } ] }, { "title": "editor/various/wasm-inlining.spec.js", "type": "file", "suites": [ { "title": "WASM Inlining (build verification)", "type": "suite", "tests": [ { "title": "should inline vips.wasm as a decoded Uint8Array, not a base64 data URL", "attempts": [ { "duration": 39 } ] }, { "title": "should have substantial inlined WASM data", "attempts": [ { "duration": 1 } ] } ] } ] }, { "title": "editor/various/welcome-guide.spec.js", "type": "file", "suites": [ { "title": "Welcome Guide", "type": "suite", "tests": [ { "title": "should show the guide to first-time users", "attempts": [ { "duration": 5249 } ] }, { "title": "should not show the welcome guide again if it is dismissed", "attempts": [ { "duration": 4703 } ] }, { "title": "should focus post title field after welcome guide is dismissed and post is empty", "attempts": [ { "duration": 2854 } ] }, { "title": "should show the welcome guide if it is manually opened", "attempts": [ { "duration": 2953 } ] } ] } ] }, { "title": "editor/various/write-design-mode.spec.js", "type": "file", "suites": [ { "title": "Write/Design mode", "type": "suite", "tests": [ { "title": "Should prevent selecting intermediary blocks", "attempts": [ {} ] }, { "title": "hides the blocks that cannot be interacted with in List View", "attempts": [ {} ] }, { "title": "prevents adding non-content blocks to content role containers", "attempts": [ {} ] }, { "title": "allows adding blocks to content role containers", "attempts": [ {} ] } ] } ] }, { "title": "editor/various/writing-flow.spec.js", "type": "file", "suites": [ { "title": "Writing Flow (@firefox, @webkit)", "type": "suite", "tests": [ { "title": "Should navigate inner blocks with arrow keys", "attempts": [ { "duration": 4703 }, { "environmentIdx": 1, "duration": 16095 }, { "environmentIdx": 2, "duration": 13932 } ] }, { "title": "should not select list wrapper when pressing arrow up from list", "attempts": [ { "duration": 3407 }, { "environmentIdx": 1, "duration": 4999 }, { "environmentIdx": 2, "duration": 3724 } ] }, { "title": "should navigate around inline boundaries", "attempts": [ { "duration": 4674 }, { "environmentIdx": 1, "duration": 13563 }, { "environmentIdx": 2, "duration": 5693 } ] }, { "title": "should navigate around nested inline boundaries", "attempts": [ { "duration": 3781 }, { "environmentIdx": 1, "duration": 7379 }, { "environmentIdx": 2, "duration": 4193 } ] }, { "title": "should insert line break at end", "attempts": [ { "duration": 3110 }, { "environmentIdx": 1, "duration": 4034 }, { "environmentIdx": 2, "duration": 3142 } ] }, { "title": "should insert line break at end and continue writing", "attempts": [ { "duration": 3110 }, { "environmentIdx": 1, "duration": 3794 }, { "environmentIdx": 2, "duration": 3352 } ] }, { "title": "should insert line break mid text", "attempts": [ { "duration": 3110 }, { "environmentIdx": 1, "duration": 4034 }, { "environmentIdx": 2, "duration": 3434 } ] }, { "title": "should insert line break at start", "attempts": [ { "duration": 3110 }, { "environmentIdx": 1, "duration": 3846 }, { "environmentIdx": 2, "duration": 3434 } ] }, { "title": "should insert line break in empty container", "attempts": [ { "duration": 3110 }, { "environmentIdx": 1, "duration": 3681 }, { "environmentIdx": 2, "duration": 3142 } ] }, { "title": "should not create extra line breaks in multiline value", "attempts": [ { "duration": 3135 }, { "environmentIdx": 1, "duration": 3794 }, { "environmentIdx": 2, "duration": 5550 } ] }, { "title": "should navigate native inputs vertically, not horizontally", "attempts": [ { "duration": 3220 }, { "environmentIdx": 1, "duration": 4479 }, { "environmentIdx": 2, "duration": 3616 } ] }, { "title": "should not delete surrounding space when deleting a word with Backspace", "attempts": [ { "duration": 3135 }, { "environmentIdx": 1, "duration": 4479 }, { "environmentIdx": 2, "duration": 3463 } ] }, { "title": "should not delete surrounding space when deleting a word with Alt+Backspace", "attempts": [ { "duration": 3407 }, { "environmentIdx": 1, "duration": 6381 }, { "environmentIdx": 2, "duration": 3807 } ] }, { "title": "should not delete surrounding space when deleting a selected word", "attempts": [ { "duration": 3419 }, { "environmentIdx": 1, "duration": 6381 }, { "environmentIdx": 2, "duration": 4098 } ] }, { "title": "should create valid paragraph blocks when rapidly pressing Enter", "attempts": [ { "duration": 3407 }, { "environmentIdx": 1, "duration": 5250 }, { "environmentIdx": 2, "duration": 3807 } ] }, { "title": "should navigate empty paragraphs", "attempts": [ { "duration": 3135 }, { "environmentIdx": 1, "duration": 4714 }, { "environmentIdx": 2, "duration": 3463 } ] }, { "title": "should navigate contenteditable with padding", "attempts": [ { "duration": 3135 }, { "environmentIdx": 1, "duration": 4479 }, { "environmentIdx": 2, "duration": 3689 } ] }, { "title": "should navigate contenteditable with normal line height", "attempts": [ { "duration": 3110 }, { "environmentIdx": 1, "duration": 4034 }, { "environmentIdx": 2, "duration": 3463 } ] }, { "title": "should navigate contenteditable with border radius", "attempts": [ { "duration": 3110 }, { "environmentIdx": 1, "duration": 4034 }, { "environmentIdx": 2, "duration": 3463 } ] }, { "title": "should not prematurely multi-select", "attempts": [ { "duration": 3419 }, { "environmentIdx": 1, "duration": 5465 }, { "environmentIdx": 2, "duration": 6081 } ] }, { "title": "should remove first empty paragraph on Backspace", "attempts": [ { "duration": 3135 }, { "environmentIdx": 1, "duration": 4210 }, { "environmentIdx": 2, "duration": 3397 } ] }, { "title": "should merge paragraphs", "attempts": [ { "duration": 3135 }, { "environmentIdx": 1, "duration": 4034 }, { "environmentIdx": 2, "duration": 3397 } ] }, { "title": "should merge and then split paragraphs", "attempts": [ { "duration": 3220 }, { "environmentIdx": 1, "duration": 4479 }, { "environmentIdx": 2, "duration": 3434 } ] }, { "title": "should merge and then soft line break", "attempts": [ { "duration": 3135 }, { "environmentIdx": 1, "duration": 4479 }, { "environmentIdx": 2, "duration": 3463 } ] }, { "title": "should merge forwards", "attempts": [ { "duration": 3135 }, { "environmentIdx": 1, "duration": 4210 }, { "environmentIdx": 2, "duration": 3434 } ] }, { "title": "should merge forwards properly on multiple triggers", "attempts": [ { "duration": 3407 }, { "environmentIdx": 1, "duration": 4714 }, { "environmentIdx": 2, "duration": 3463 } ] }, { "title": "should preserve horizontal position when navigating vertically between blocks (-webkit)", "attempts": [ { "duration": 3135 }, { "environmentIdx": 1, "duration": 3463 }, { "environmentIdx": 2, "duration": 3463 } ] }, { "title": "should remember initial vertical position", "attempts": [ { "duration": 3135 }, { "environmentIdx": 1, "duration": 4479 }, { "environmentIdx": 2, "duration": 3463 } ] }, { "title": "should navigate contenteditable with side padding", "attempts": [ { "duration": 3353 }, { "environmentIdx": 1, "duration": 4404 }, { "environmentIdx": 2, "duration": 3463 } ] }, { "title": "should extend selection into paragraph for list with longer last item", "attempts": [ { "duration": 3687 }, { "environmentIdx": 1, "duration": 5465 }, { "environmentIdx": 2, "duration": 5693 } ] }, { "title": "should place the caret at the click position when clicking a block that is not selected", "attempts": [ { "duration": 3407 }, { "environmentIdx": 1, "duration": 4999 }, { "environmentIdx": 2, "duration": 3783 } ] }, { "title": "should not have a dead zone between blocks (lower)", "attempts": [ { "duration": 3419 }, { "environmentIdx": 1, "duration": 4999 }, { "environmentIdx": 2, "duration": 3807 } ] }, { "title": "should not have a dead zone above an aligned block", "attempts": [ { "duration": 4117 }, { "environmentIdx": 1, "duration": 7379 }, { "environmentIdx": 2, "duration": 4636 } ] }, { "title": "should focus preceding tabbable using shift+tab from post title and writing flow container", "attempts": [ { "duration": 3110 }, { "environmentIdx": 1, "duration": 3619 }, { "environmentIdx": 2, "duration": 3142 } ] }, { "title": "should only consider the content as one tab stop", "attempts": [ { "duration": 3419 }, { "environmentIdx": 1, "duration": 5465 }, { "environmentIdx": 2, "duration": 4145 } ] }, { "title": "does not deselect the block when selecting text outside the editor canvas", "attempts": [ { "duration": 3687 }, { "environmentIdx": 1, "duration": 4999 }, { "environmentIdx": 2, "duration": 3807 } ] }, { "title": "should prevent browser default formatting on multi selection", "attempts": [ { "duration": 3419 }, { "environmentIdx": 1, "duration": 5465 }, { "environmentIdx": 2, "duration": 4161 } ] }, { "title": "should move to the start of the first line on ArrowUp (-firefox)", "attempts": [ { "duration": 5142 }, { "environmentIdx": 1, "duration": 10484 }, { "environmentIdx": 2, "duration": 10484 } ] }, { "title": "should not scroll the page when moving the caret within a block taller than the viewport", "attempts": [ { "duration": 4203 }, { "environmentIdx": 1, "duration": 4999 }, { "environmentIdx": 2, "duration": 4193 } ] }, { "title": "should vertically move the caret from corner to corner (-webkit)", "attempts": [ { "duration": 5142 }, { "environmentIdx": 1, "duration": 5964 }, { "environmentIdx": 2, "duration": 5964 } ] }, { "title": "should vertically move the caret when pressing Alt", "attempts": [ { "duration": 5612 }, { "environmentIdx": 1, "duration": 10484 }, { "environmentIdx": 2, "duration": 7957 } ] }, { "title": "should select synced pattern", "attempts": [ { "duration": 4117 }, { "environmentIdx": 1, "duration": 6381 }, { "environmentIdx": 2, "duration": 4465 } ] }, { "title": "should select non-contenteditable block via click after partial selection", "attempts": [ { "duration": 3353 }, { "environmentIdx": 1, "duration": 5125 }, { "environmentIdx": 2, "duration": 3689 } ] }, { "title": "should show format toolbar when selecting text from the left edge of a block", "attempts": [ { "duration": 3407 }, { "environmentIdx": 1, "duration": 4210 }, { "environmentIdx": 2, "duration": 3463 } ] }, { "title": "should not skip paragraph with link when navigating down with ArrowDown", "attempts": [ { "duration": 3419 }, { "environmentIdx": 1, "duration": 4556 }, { "environmentIdx": 2, "duration": 3807 } ] } ] } ] }, { "title": "interactivity/async-actions.spec.ts", "type": "file", "suites": [ { "title": "async actions", "type": "suite", "tests": [ { "title": "Promise generator callbacks should restore scope on resolve and reject", "attempts": [ { "duration": 421 } ] }, { "title": "Promise generator callbacks should yield the correct value after captured errors", "attempts": [ { "duration": 320 } ] }, { "title": "Promise generator callbacks should be able to throw errors", "attempts": [ { "duration": 298 } ] }, { "title": "Promise generator callbacks should throw when rejected promises are returned", "attempts": [ { "duration": 289 } ] } ] } ] }, { "title": "interactivity/deferred-store.spec.ts", "type": "file", "suites": [ { "title": "deferred store", "type": "suite", "tests": [ { "title": "Ensure that a store can be subscribed to before it is initialized", "attempts": [ { "duration": 263 } ] }, { "title": "Ensure that a state getter can be subscribed to before it is initialized", "attempts": [ { "duration": 252 } ] }, { "title": "Ensure that a state getter can access the returned state even when directives already subscribed to it", "attempts": [ { "duration": 289 } ] }, { "title": "Ensure wp-bind keeps the value of a derived state props from deferred store", "attempts": [ { "duration": 461 } ] }, { "title": "Ensure wp-class keeps the value of a derived state props from deferred store", "attempts": [ { "duration": 440 } ] }, { "title": "Ensure wp-style keeps the value of a derived state props from deferred store", "attempts": [ { "duration": 435 } ] }, { "title": "Ensure wp-text keeps the value of a derived state props from deferred store", "attempts": [ { "duration": 440 } ] }, { "title": "Ensure wp-each keeps server-rendered children until the list is ready", "attempts": [ { "duration": 440 } ] } ] } ] }, { "title": "interactivity/directive-bind.spec.ts", "type": "file", "suites": [ { "title": "data-wp-bind", "type": "suite", "suites": [ { "title": "attribute hydration", "type": "suite", "tests": [ { "title": "width is correctly hydrated for different values", "attempts": [ { "duration": 1214 } ] }, { "title": "name is correctly hydrated for different values", "attempts": [ { "duration": 1214 } ] }, { "title": "value is correctly hydrated for different values", "attempts": [ { "duration": 1214 } ] }, { "title": "disabled is correctly hydrated for different values", "attempts": [ { "duration": 1214 } ] }, { "title": "aria-disabled is correctly hydrated for different values", "attempts": [ { "duration": 1214 } ] }, { "title": "popover is correctly hydrated for different values", "attempts": [ { "duration": 1673 } ] } ] } ], "tests": [ { "title": "add missing href at hydration", "attempts": [ { "duration": 252 } ] }, { "title": "change href at hydration", "attempts": [ { "duration": 260 } ] }, { "title": "update missing href at hydration", "attempts": [ { "duration": 321 } ] }, { "title": "add missing checked at hydration", "attempts": [ { "duration": 252 } ] }, { "title": "remove existing checked at hydration", "attempts": [ { "duration": 260 } ] }, { "title": "update existing checked", "attempts": [ { "duration": 361 } ] }, { "title": "nested binds", "attempts": [ { "duration": 321 } ] }, { "title": "check enumerated attributes with true/false values", "attempts": [ { "duration": 361 } ] }, { "title": "should ignore unique ids", "attempts": [ { "duration": 321 } ] } ] } ] }, { "title": "interactivity/directive-class.spec.ts", "type": "file", "suites": [ { "title": "data-wp-class", "type": "suite", "tests": [ { "title": "remove class if callback returns falsy value", "attempts": [ { "duration": 384 } ] }, { "title": "add class if callback returns truthy value", "attempts": [ { "duration": 381 } ] }, { "title": "handles multiple classes and callbacks", "attempts": [ { "duration": 444 } ] }, { "title": "handles class names that are contained inside other class names", "attempts": [ { "duration": 381 } ] }, { "title": "can toggle class in the middle", "attempts": [ { "duration": 352 } ] }, { "title": "can toggle class when class attribute is missing", "attempts": [ { "duration": 345 } ] }, { "title": "can use context values", "attempts": [ { "duration": 371 } ] }, { "title": "can use BEM notation classes", "attempts": [ { "duration": 239 } ] }, { "title": "can use classes with several dashes", "attempts": [ { "duration": 273 } ] }, { "title": "can use \"default\" as a class name", "attempts": [ { "duration": 333 } ] } ] } ] }, { "title": "interactivity/directive-context.spec.ts", "type": "file", "suites": [ { "title": "data-wp-context", "type": "suite", "tests": [ { "title": "is correctly initialized", "attempts": [ { "duration": 260 } ] }, { "title": "is correctly extended (shallow)", "attempts": [ { "duration": 246 } ] }, { "title": "changes in inherited properties are reflected and don't leak down (child)", "attempts": [ { "duration": 361 } ] }, { "title": "changes in inherited properties are reflected and don't leak up (parent)", "attempts": [ { "duration": 361 } ] }, { "title": "changes in shadowed properties do not leak (child)", "attempts": [ { "duration": 361 } ] }, { "title": "changes in shadowed properties do not leak (parent)", "attempts": [ { "duration": 361 } ] }, { "title": "new inherited properties update child contexts", "attempts": [ { "duration": 321 } ] }, { "title": "Array properties are shadowed", "attempts": [ { "duration": 260 } ] }, { "title": "overwritten objects don't inherit values (shallow)", "attempts": [ { "duration": 321 } ] }, { "title": "overwritten objects do not inherit values", "attempts": [ { "duration": 321 } ] }, { "title": "can be accessed in other directives on the same element", "attempts": [ { "duration": 397 } ] }, { "title": "should preserve values on navigation", "attempts": [ { "duration": 361 } ] }, { "title": "should preserve the previous context values", "attempts": [ { "duration": 361 } ] }, { "title": "should preserve values when navigating back or forward", "attempts": [ { "duration": 406 } ] }, { "title": "should inherit values on navigation", "attempts": [ { "duration": 585 } ] }, { "title": "should maintain the same context reference on async actions", "attempts": [ { "duration": 345 } ] }, { "title": "should bail out if the context is not a default directive", "attempts": [ { "duration": 260 } ] }, { "title": "references to objects are kept", "attempts": [ { "duration": 336 } ] }, { "title": "should not subscribe to parent context props if those also exist in child", "attempts": [ { "duration": 422 } ] }, { "title": "references to the same context object should be preserved", "attempts": [ { "duration": 239 } ] }, { "title": "references to copied context objects should be preserved", "attempts": [ { "duration": 289 } ] }, { "title": "objects referenced from the context inherit properties where they are originally defined", "attempts": [ { "duration": 361 } ] }, { "title": "properties from other namespaces defined in a parent context are inherited", "attempts": [ { "duration": 260 } ] }, { "title": "should support multiple context directives in the same element", "attempts": [ { "duration": 285 } ] } ] } ] }, { "title": "interactivity/directive-each.spec.ts", "type": "file", "suites": [ { "title": "data-wp-each", "type": "suite", "suites": [ { "title": "without `wp-each-key`", "type": "suite", "tests": [ { "title": "should preserve elements on deletion", "attempts": [ { "duration": 397 } ] }, { "title": "should preserve elements on reordering", "attempts": [ { "duration": 361 } ] }, { "title": "should preserve elements on addition", "attempts": [ { "duration": 371 } ] }, { "title": "should preserve elements on replacement", "attempts": [ { "duration": 361 } ] } ] }, { "title": "with `wp-each-key`", "type": "suite", "tests": [ { "title": "should preserve elements on deletion", "attempts": [ { "duration": 384 } ] }, { "title": "should preserve elements on reordering", "attempts": [ { "duration": 397 } ] }, { "title": "should preserve elements on addition", "attempts": [ { "duration": 371 } ] }, { "title": "should preserve elements on replacement", "attempts": [ { "duration": 361 } ] }, { "title": "should preserve elements on modification", "attempts": [ { "duration": 397 } ] } ] }, { "title": "with item from derived state and the whole list replaced", "type": "suite", "tests": [ { "title": "should preserve elements on deletion", "attempts": [ { "duration": 405 } ] }, { "title": "should preserve elements on reordering", "attempts": [ { "duration": 422 } ] }, { "title": "should preserve elements on addition", "attempts": [ { "duration": 440 } ] }, { "title": "should preserve elements on replacement", "attempts": [ { "duration": 417 } ] }, { "title": "should preserve elements on modification", "attempts": [ { "duration": 397 } ] } ] } ], "tests": [ { "title": "should use `item` as the default item name in the context", "attempts": [ { "duration": 263 } ] }, { "title": "should use the specified item name in the context", "attempts": [ { "duration": 260 } ] }, { "title": "should convert from kebab-case to camelCase the specified item name in the context", "attempts": [ { "duration": 260 } ] }, { "title": "should respect elements after", "attempts": [ { "duration": 388 } ] }, { "title": "should support initial empty lists", "attempts": [ { "duration": 321 } ] }, { "title": "should support multiple siblings inside the template", "attempts": [ { "duration": 321 } ] }, { "title": "should work on navigation", "attempts": [ { "duration": 440 } ] }, { "title": "should work with nested lists", "attempts": [ { "duration": 660 } ] }, { "title": "should support nested lists with the same item key", "attempts": [ { "duration": 260 } ] }, { "title": "should do nothing when used on non-template elements", "attempts": [ { "duration": 273 } ] }, { "title": "should work with derived state as keys", "attempts": [ { "duration": 371 } ] }, { "title": "directives inside elements with `wp-each-child` should not run", "attempts": [ { "duration": 260 } ] }, { "title": "does not error with non-iterable values: each-with-unset", "attempts": [ { "duration": 246 } ] }, { "title": "does not error with non-iterable values: each-with-null", "attempts": [ { "duration": 274 } ] }, { "title": "does not error with non-iterable values: each-with-undefined", "attempts": [ { "duration": 260 } ] }, { "title": "support different each iterable values: each-with-array", "attempts": [ { "duration": 285 } ] }, { "title": "support different each iterable values: each-with-set", "attempts": [ { "duration": 263 } ] }, { "title": "support different each iterable values: each-with-string", "attempts": [ { "duration": 285 } ] }, { "title": "support different each iterable values: each-with-generator", "attempts": [ { "duration": 260 } ] }, { "title": "does not support multiple directives", "attempts": [ { "duration": 260 } ] } ] } ] }, { "title": "interactivity/directive-init.spec.ts", "type": "file", "suites": [ { "title": "data-wp-init", "type": "suite", "tests": [ { "title": "should run when the block renders", "attempts": [ { "duration": 297 } ] }, { "title": "should not run again if accessed signals change", "attempts": [ { "duration": 293 } ] }, { "title": "should run multiple inits if defined", "attempts": [ { "duration": 263 } ] }, { "title": "should run the init callback when the element is unmounted", "attempts": [ { "duration": 297 } ] }, { "title": "should run init when the element is mounted", "attempts": [ { "duration": 329 } ] } ] } ] }, { "title": "interactivity/directive-key.spec.ts", "type": "file", "suites": [ { "title": "data-wp-key", "type": "suite", "tests": [ { "title": "should keep the elements when adding items to the start of the array", "attempts": [ { "duration": 318 } ] } ] } ] }, { "title": "interactivity/directive-on-document.spec.ts", "type": "file", "suites": [ { "title": "data-wp-on-document", "type": "suite", "tests": [ { "title": "the event listener is attached when the element is added", "attempts": [ { "duration": 365 } ] }, { "title": "should work with multiple event handlers on the same event type", "attempts": [ { "duration": 268 } ] } ] } ] }, { "title": "interactivity/directive-on-window.spec.ts", "type": "file", "suites": [ { "title": "data-wp-on-window", "type": "suite", "tests": [ { "title": "the event listener is attached when the element is added", "attempts": [ { "duration": 415 } ] }, { "title": "should work with multiple event handlers on the same event type", "attempts": [ { "duration": 268 } ] } ] } ] }, { "title": "interactivity/directive-on.spec.ts", "type": "file", "suites": [ { "title": "data-wp-on", "type": "suite", "tests": [ { "title": "callbacks should run whenever the specified event is dispatched", "attempts": [ { "duration": 783 } ] }, { "title": "callbacks should receive the dispatched event", "attempts": [ { "duration": 231 } ] }, { "title": "callbacks should be able to access the context", "attempts": [ { "duration": 231 } ] }, { "title": "should work with custom events", "attempts": [ { "duration": 783 } ] }, { "title": "should work with multiple event handlers on the same event type", "attempts": [ { "duration": 365 } ] } ] } ] }, { "title": "interactivity/directive-priorities.spec.ts", "type": "file", "suites": [ { "title": "Directives (w/ priority)", "type": "suite", "tests": [ { "title": "should run in priority order", "attempts": [ { "duration": 208 } ] }, { "title": "should wrap those with less priority", "attempts": [ { "duration": 231 } ] }, { "title": "should propagate element modifications top-down", "attempts": [ { "duration": 318 } ] }, { "title": "should not create a Directives component if none of the directives are registered", "attempts": [ { "duration": 231 } ] } ] } ] }, { "title": "interactivity/directive-run.spec.ts", "type": "file", "suites": [ { "title": "data-wp-run", "type": "suite", "tests": [ { "title": "should execute each element render", "attempts": [ { "duration": 393 } ] }, { "title": "should execute when an element is mounted", "attempts": [ { "duration": 303 } ] }, { "title": "should work with client-side navigation", "attempts": [ { "duration": 399 } ] }, { "title": "should allow executing hooks", "attempts": [ { "duration": 464 } ] } ] } ] }, { "title": "interactivity/directive-style.spec.ts", "type": "file", "suites": [ { "title": "data-wp-style", "type": "suite", "tests": [ { "title": "dont change style if callback returns same value on hydration", "attempts": [ { "duration": 231 } ] }, { "title": "remove style if callback returns falsy value on hydration", "attempts": [ { "duration": 247 } ] }, { "title": "change style if callback returns a new value on hydration", "attempts": [ { "duration": 223 } ] }, { "title": "handles multiple styles and callbacks on hydration", "attempts": [ { "duration": 231 } ] }, { "title": "can add style when style attribute is missing on hydration", "attempts": [ { "duration": 231 } ] }, { "title": "can toggle style", "attempts": [ { "duration": 268 } ] }, { "title": "can remove style", "attempts": [ { "duration": 263 } ] }, { "title": "can toggle style in the middle", "attempts": [ { "duration": 268 } ] }, { "title": "handles styles names with hyphens", "attempts": [ { "duration": 619 } ] }, { "title": "can use context values", "attempts": [ { "duration": 293 } ] }, { "title": "can use CSS variables", "attempts": [ { "duration": 293 } ] }, { "title": "ignores unique-ids", "attempts": [ { "duration": 231 } ] } ] } ] }, { "title": "interactivity/directive-text.spec.ts", "type": "file", "suites": [ { "title": "data-wp-text", "type": "suite", "tests": [ { "title": "show proper text reading from state", "attempts": [ { "duration": 329 } ] }, { "title": "show proper text reading from context", "attempts": [ { "duration": 365 } ] }, { "title": "Transforms results into strings", "attempts": [ { "duration": 259 } ] }, { "title": "should ignore suffixes and unique-ids in text directive", "attempts": [ { "duration": 223 } ] } ] } ] }, { "title": "interactivity/directive-watch.spec.ts", "type": "file", "suites": [ { "title": "data-wp-watch", "type": "suite", "tests": [ { "title": "check that watch runs when it is added", "attempts": [ { "duration": 259 } ] }, { "title": "check that watch runs when it is removed", "attempts": [ { "duration": 263 } ] }, { "title": "change focus after DOM changes", "attempts": [ { "duration": 364 } ] }, { "title": "short-circuit infinite loops", "attempts": [ { "duration": 293 } ] }, { "title": "multiple watches", "attempts": [ { "duration": 260 } ] } ] } ] }, { "title": "interactivity/get-sever-context.spec.ts", "type": "file", "suites": [ { "title": "getServerContext()", "type": "suite", "tests": [ { "title": "should update modified props on navigation", "attempts": [ { "duration": 514 } ] }, { "title": "should add new props on navigation", "attempts": [ { "duration": 415 } ] }, { "title": "should keep new props on navigation", "attempts": [ { "duration": 416 } ] }, { "title": "should prevent any manual modifications", "attempts": [ { "duration": 284 } ] }, { "title": "should overwrite non-changing props on navigation", "attempts": [ { "duration": 508 } ] }, { "title": "should handle props only existing in some pages", "attempts": [ { "duration": 564 } ] }, { "title": "should reset server context when navigating to a page without context", "attempts": [ { "duration": 437 } ] }, { "title": "should get server context using derived state getters", "attempts": [ { "duration": 415 } ] } ] } ] }, { "title": "interactivity/get-sever-state.spec.ts", "type": "file", "suites": [ { "title": "getServerState()", "type": "suite", "tests": [ { "title": "should update existing state props on navigation", "attempts": [ { "duration": 713 } ] }, { "title": "should add new state props and keep them on navigation", "attempts": [ { "duration": 626 } ] }, { "title": "should prevent any manual modifications", "attempts": [ { "duration": 293 } ] }, { "title": "should overwrite non-changing props on navigation", "attempts": [ { "duration": 514 } ] }, { "title": "should handle props only existing in some pages", "attempts": [ { "duration": 564 } ] }, { "title": "should reset server state when navigating to a page without state", "attempts": [ { "duration": 415 } ] } ] } ] }, { "title": "interactivity/hydration-timing.spec.ts", "type": "file", "suites": [ { "title": "hydration timing", "type": "suite", "tests": [ { "title": "should wait for all static imports before hydrating even with delayed module loading", "attempts": [ { "duration": 3221 } ] }, { "title": "should hydrate when the Interactivity API is loaded asynchronously after DOMContentLoaded", "attempts": [ { "duration": 259 } ] } ] } ] }, { "title": "interactivity/interactivity-data.spec.ts", "type": "file", "suites": [ { "title": "store tag", "type": "suite", "tests": [ { "title": "hydrates when it is well defined", "attempts": [ { "duration": 293 } ] }, { "title": "does not break the page when missing", "attempts": [ { "duration": 268 } ] }, { "title": "does not break the page when corrupted", "attempts": [ { "duration": 263 } ] }, { "title": "does not break the page when it contains an invalid state", "attempts": [ { "duration": 268 } ] } ] } ] }, { "title": "interactivity/namespace.spec.ts", "type": "file", "suites": [ { "title": "Namespaces", "type": "suite", "tests": [ { "title": "Empty string as namespace should not work", "attempts": [ { "duration": 231 } ] }, { "title": "A string as namespace should work", "attempts": [ { "duration": 208 } ] }, { "title": "An empty object as namespace should not work", "attempts": [ { "duration": 208 } ] }, { "title": "A wrong namespace should not break the runtime", "attempts": [ { "duration": 229 } ] }, { "title": "A different store namespace should work", "attempts": [ { "duration": 208 } ] }, { "title": "A number as a string as namespace should work", "attempts": [ { "duration": 208 } ] }, { "title": "A null as a string as namespace should work", "attempts": [ { "duration": 208 } ] }, { "title": "A true as a string as namespace should work", "attempts": [ { "duration": 208 } ] }, { "title": "A false as a string as namespace should work", "attempts": [ { "duration": 208 } ] }, { "title": "A [] as a string as namespace should work", "attempts": [ { "duration": 229 } ] }, { "title": "A \"quoted string\" as a string as namespace should work", "attempts": [ { "duration": 208 } ] } ] } ] }, { "title": "interactivity/negation-operator.spec.ts", "type": "file", "suites": [ { "title": "negation-operator", "type": "suite", "tests": [ { "title": "add hidden attribute when !state.active", "attempts": [ { "duration": 318 } ] }, { "title": "add hidden attribute when !selectors.active", "attempts": [ { "duration": 297 } ] } ] } ] }, { "title": "interactivity/router-navigate.spec.ts", "type": "file", "suites": [ { "title": "Router navigate", "type": "suite", "tests": [ { "title": "should update the HTML only for the latest navigation", "attempts": [ { "duration": 564 } ] }, { "title": "should update the URL from the last navigation if only varies in the URL fragment", "attempts": [ { "duration": 562 } ] }, { "title": "should reload the next page when the timeout ends", "attempts": [ { "duration": 508 } ] }, { "title": "should force a page reload when the `clientNavigationDisabled` config is set to true", "attempts": [ { "duration": 458 } ] }, { "title": "should merge the state with the one serialized in the new page", "attempts": [ { "duration": 451 } ] }, { "title": "should not try to overwrite getters with values from the initial data", "attempts": [ { "duration": 458 } ] }, { "title": "should force a page reload when navigating to a page with `clientNavigationDisabled`", "attempts": [ { "duration": 634 } ] }, { "title": "should support derived state closures", "attempts": [ { "duration": 437 } ] } ] } ] }, { "title": "interactivity/router-race-condition.spec.ts", "type": "file", "suites": [ { "title": "Router hydration race condition (@webkit, @firefox)", "type": "suite", "tests": [ { "title": "should hydrate context-bound directives when router loads statically", "attempts": [ { "duration": 365 }, { "environmentIdx": 1, "duration": 1260 }, { "environmentIdx": 2, "duration": 1697 } ] }, { "title": "should hydrate state-bound directives when router loads statically", "attempts": [ { "duration": 357 }, { "environmentIdx": 1, "duration": 1023 }, { "environmentIdx": 2, "duration": 610 } ] } ] } ] }, { "title": "interactivity/router-regions.spec.ts", "type": "file", "suites": [ { "title": "Router regions", "type": "suite", "tests": [ { "title": "should be the only part hydrated", "attempts": [ { "duration": 247 } ] }, { "title": "should update after navigation", "attempts": [ { "duration": 496 } ] }, { "title": "should preserve state across pages", "attempts": [ { "duration": 1228 } ] }, { "title": "should preserve context across pages", "attempts": [ { "duration": 1273 } ] }, { "title": "can be nested", "attempts": [ { "duration": 514 } ] }, { "title": "Page title is updated 2", "attempts": [ { "duration": 451 } ] }, { "title": "should be updated when placed inside a `data-wp-interactive` element.", "attempts": [ { "duration": 754 } ] }, { "title": "should support router regions with the `attachTo` property.", "attempts": [ { "duration": 5467 } ] }, { "title": "should support multiple regions with the `attachTo` property added at different times", "attempts": [ { "duration": 1459 } ] }, { "title": "should be preserved on first navigation without `data-wp-key`", "attempts": [ { "duration": 435 } ] }, { "title": "should be preserved on first navigation with `data-wp-key` and other directives", "attempts": [ { "duration": 458 } ] }, { "title": "should be preserved on first navigation with `data-wp-key` and `attachTo`", "attempts": [ { "duration": 562 } ] }, { "title": "should not be duplicated after `navigate()` when they use `attachTo` and appeared in the initial page", "attempts": [ { "duration": 5966 } ] }, { "title": "should not reload the page when clicking a hash anchor link", "attempts": [ { "duration": 1556 } ] }, { "title": "should update content on back/forward navigation after a page reload", "attempts": [ { "duration": 871 } ] } ] } ] }, { "title": "interactivity/router-script-modules.spec.ts", "type": "file", "suites": [ { "title": "Router script modules", "type": "suite", "tests": [ { "title": "should handle static modules from new blocks", "attempts": [ { "duration": 1225 } ] }, { "title": "should handle dynamic modules from new blocks", "attempts": [ { "duration": 1370 } ] }, { "title": "should handle static modules from initial page", "attempts": [ { "duration": 1225 } ] }, { "title": "should handle dynamic modules from initial page", "attempts": [ { "duration": 1225 } ] } ] } ] }, { "title": "interactivity/router-styles.spec.ts", "type": "file", "suites": [ { "title": "Router styles", "type": "suite", "tests": [ { "title": "should add and remove styles from style tags", "attempts": [ { "duration": 938 } ] }, { "title": "should add and remove styles from referenced style sheets", "attempts": [ { "duration": 906 } ] }, { "title": "should support relative URLs in referenced style sheets", "attempts": [ { "duration": 1225 } ] }, { "title": "should update style tags with modified content", "attempts": [ { "duration": 906 } ] }, { "title": "should preserve rule order from referenced style sheets", "attempts": [ { "duration": 897 } ] }, { "title": "should refresh the page when stylesheet loading fails", "attempts": [ { "duration": 514 } ] }, { "title": "should not apply preloaded styles in current page", "attempts": [ { "duration": 416 } ] }, { "title": "should not cause race conditions during render", "attempts": [ { "duration": 634 } ] }, { "title": "should respect the original media attribute on initial style sheets", "attempts": [ { "duration": 458 } ] }, { "title": "should update styles when navigating to a cached page with force", "attempts": [ { "duration": 754 } ] }, { "title": "should ignore styles inside noscript elements during navigation", "attempts": [ { "duration": 564 } ] } ] } ] }, { "title": "interactivity/store.spec.ts", "type": "file", "suites": [ { "title": "store", "type": "suite", "tests": [ { "title": "non-plain objects are not proxified", "attempts": [ { "duration": 208 } ] }, { "title": "Ensures that state cannot be set to a non-object", "attempts": [ { "duration": 208 } ] } ] } ] }, { "title": "interactivity/tovdom-islands.spec.ts", "type": "file", "suites": [ { "title": "toVdom - islands", "type": "suite", "tests": [ { "title": "directives that are not inside islands should not be hydrated", "attempts": [ { "duration": 231 } ] }, { "title": "directives that are inside islands with json objects should be hydrated", "attempts": [ { "duration": 208 } ] }, { "title": "directives that are inside islands with strings should be hydrated", "attempts": [ { "duration": 229 } ] }, { "title": "directives that are inside inner blocks of isolated islands should not be hydrated", "attempts": [ { "duration": 231 } ] }, { "title": "directives inside islands should not be hydrated twice", "attempts": [ { "duration": 208 } ] }, { "title": "islands inside inner blocks of isolated islands should be hydrated", "attempts": [ { "duration": 208 } ] }, { "title": "islands should recover their namespace if an inner island has changed it", "attempts": [ { "duration": 208 } ] } ] } ] }, { "title": "interactivity/tovdom.spec.ts", "type": "file", "suites": [ { "title": "toVdom", "type": "suite", "tests": [ { "title": "it should delete comments", "attempts": [ { "duration": 231 } ] }, { "title": "it should delete processing instructions", "attempts": [ { "duration": 231 } ] }, { "title": "it should replace CDATA with text nodes", "attempts": [ { "duration": 218 } ] } ] } ] }, { "title": "interactivity/with-scope.spec.ts", "type": "file", "suites": [ { "title": "withScope", "type": "suite", "tests": [ { "title": "directives using withScope should work with async and sync functions", "attempts": [ { "duration": 259 } ] } ] } ] }, { "title": "preload/post-editor.spec.js", "type": "file", "suites": [ { "title": "Preload", "type": "suite", "tests": [ { "title": "Should fetch a known set of routes during startup", "attempts": [ { "duration": 4083 } ] } ] }, { "title": "Preload with the DataForm inspector experiment", "type": "suite", "tests": [ { "title": "Should serve the view config form request from the preload cache", "attempts": [ { "duration": 4210 } ] } ] } ] }, { "title": "preload/site-editor.spec.js", "type": "file", "suites": [ { "title": "Preload", "type": "suite", "tests": [ { "title": "Site editor root should fetch a known set of routes during startup", "attempts": [ { "duration": 4509 } ] }, { "title": "Editing a page should fetch a known set of routes during startup", "attempts": [ { "duration": 5102 } ] } ] } ] }, { "title": "site-editor/activate-theme.spec.js", "type": "file", "suites": [ { "title": "Activate theme", "type": "suite", "tests": [ { "title": "activate block theme when live previewing from sidebar save button", "attempts": [ { "duration": 5856 } ] }, { "title": "activate block theme when live previewing in edit mode", "attempts": [ { "duration": 5792 } ] } ] } ] }, { "title": "site-editor/block-removal.spec.js", "type": "file", "suites": [ { "title": "Site editor block removal prompt", "type": "suite", "tests": [ { "title": "should appear when attempting to remove Query Block", "attempts": [ { "duration": 3834 } ] }, { "title": "should appear when attempting to remove Post Template Block", "attempts": [ { "duration": 4022 } ] }, { "title": "should show confirmation checkbox and disabled Delete button when removing Post Content block", "attempts": [ { "duration": 6002 } ] }, { "title": "should not appear when attempting to remove something else", "attempts": [ { "duration": 4225 } ] } ] } ] }, { "title": "site-editor/block-style-variations.spec.js", "type": "file", "suites": [ { "title": "Block Style Variations", "type": "suite", "tests": [ { "title": "apply block styles variations to nested blocks", "attempts": [ { "duration": 9295 } ] }, { "title": "update block style variations in global styles and check revisions match styles", "attempts": [ { "duration": 10394 } ] } ] } ] }, { "title": "site-editor/browser-history.spec.js", "type": "file", "suites": [ { "title": "Site editor browser history", "type": "suite", "tests": [ { "title": "Back button works properly", "attempts": [ { "duration": 6520 } ] } ] } ] }, { "title": "site-editor/command-center.spec.js", "type": "file", "suites": [ { "title": "Site editor command palette", "type": "suite", "tests": [ { "title": "Open the command palette and navigate to the page create page", "attempts": [ { "duration": 5792 } ] }, { "title": "Open the command palette and navigate to a template", "attempts": [ { "duration": 3492 } ] }, { "title": "Open the command palette and navigate to Customize CSS", "attempts": [ { "duration": 3492 } ] }, { "title": "Suggestions section shows contextual commands on open", "attempts": [ { "duration": 3101 } ] }, { "title": "Results section appears during search", "attempts": [ { "duration": 3492 } ] }, { "title": "Recent commands show after using a command", "attempts": [ { "duration": 5856 } ] } ] } ] }, { "title": "site-editor/dataviews-list-layout-keyboard.spec.js", "type": "file", "suites": [ { "title": "Dataviews List Layout", "type": "suite", "tests": [ { "title": "Items list is reachable via TAB", "attempts": [ { "duration": 3670 } ] }, { "title": "Navigates from items list to preview via TAB, and vice versa", "attempts": [ { "duration": 3834 } ] }, { "title": "Navigates the items list via UP/DOWN arrow keys", "attempts": [ { "duration": 3706 } ] }, { "title": "Actions are reachable via RIGHT/LEFT arrow keys", "attempts": [ { "duration": 3834 } ] }, { "title": "Search input retains focus while typing", "attempts": [ { "duration": 4225 } ] }, { "title": "Navigates the list via UP/DOWN arrow keys from action buttons", "attempts": [ { "duration": 3834 } ] } ] } ] }, { "title": "site-editor/dataviews-pagination.spec.js", "type": "file", "suites": [ { "title": "DataViews Pagination", "type": "suite", "tests": [ { "title": "navigates forward, backward, and forward again correctly", "attempts": [ { "duration": 4225 } ] } ] } ] }, { "title": "site-editor/font-library.spec.js", "type": "file", "suites": [ { "title": "Font Library", "type": "suite", "suites": [ { "title": "When a blank theme is active", "type": "suite", "tests": [ { "title": "should display the \"no font installed.\" message", "attempts": [ { "duration": 5102 } ] }, { "title": "should display the \"Manage fonts\" icon", "attempts": [ { "duration": 3706 } ] } ] }, { "title": "When a theme with bundled fonts is active", "type": "suite", "tests": [ { "title": "should display the \"Manage fonts\" icon", "attempts": [ { "duration": 4225 } ] }, { "title": "should open the \"Manage fonts\" modal when clicking the \"Manage fonts\" icon", "attempts": [ { "duration": 4225 } ] }, { "title": "should show font variant panel when clicking on a font family", "attempts": [ { "duration": 4225 } ] } ] }, { "title": "When switching Theme Style variations", "type": "suite", "tests": [ { "title": "clicking on a font in the global styles sidebar should activate the font in the overlay when switching Theme Style variation", "attempts": [ { "duration": 6520 } ] } ] } ] } ] }, { "title": "site-editor/global-styles-button-states.spec.js", "type": "file", "suites": [ { "title": "Global Styles - Button States", "type": "suite", "tests": [ { "title": "As a user I want to set button hover background color and see it applied on the frontend", "attempts": [ { "duration": 8283 } ] } ] } ] }, { "title": "site-editor/global-styles-sidebar.spec.js", "type": "file", "suites": [ { "title": "Global styles sidebar", "type": "suite", "tests": [ { "title": "should filter blocks list results", "attempts": [ { "duration": 3834 } ] } ] } ] }, { "title": "site-editor/homepage-settings.spec.js", "type": "file", "suites": [ { "title": "Homepage Settings via Editor", "type": "suite", "tests": [ { "title": "should not show \"Set as homepage\" and \"Set as posts page\" action on pages with `draft` status", "attempts": [ { "duration": 3834 } ] }, { "title": "should show correct homepage actions based on current homepage or posts page", "attempts": [ { "duration": 5171 } ] } ] } ] }, { "title": "site-editor/hybrid-theme.spec.js", "type": "file", "suites": [ { "title": "Hybrid theme", "type": "suite", "tests": [ { "title": "can access Patterns page", "attempts": [ { "duration": 2734 } ] }, { "title": "should redirect to Patterns page when accessing template parts list page", "attempts": [ { "duration": 3098 } ] }, { "title": "can view a template part list", "attempts": [ { "duration": 3725 } ] }, { "title": "can not export Site Editor Templates", "attempts": [ { "duration": 3155 } ] } ] } ] }, { "title": "site-editor/iframe-rendering.spec.js", "type": "file", "suites": [ { "title": "Site editor iframe rendering mode", "type": "suite", "tests": [ { "title": "Should render editor in standards mode.", "attempts": [ { "duration": 3337 } ] } ] } ] }, { "title": "site-editor/list-view.spec.js", "type": "file", "suites": [ { "title": "Site Editor List View", "type": "suite", "tests": [ { "title": "should open by default when preference is enabled", "attempts": [ { "duration": 5792 } ] }, { "title": "ensures List View global shortcut works properly", "attempts": [ { "duration": 3834 } ] } ] } ] }, { "title": "site-editor/multi-entity-saving.spec.js", "type": "file", "suites": [ { "title": "Site Editor - Multi-entity save flow", "type": "suite", "tests": [ { "title": "save flow should work as expected", "attempts": [ { "duration": 3834 } ] }, { "title": "save flow should allow re-saving after changing the same block attribute", "attempts": [ { "duration": 3868 } ] } ] } ] }, { "title": "site-editor/navigation-editor.spec.js", "type": "file", "suites": [ { "title": "Editing Navigation Menus", "type": "suite", "tests": [ { "title": "it should lock the root Navigation block in the editor", "attempts": [ { "duration": 3834 } ] } ] } ] }, { "title": "site-editor/navigation-overlay-template-part.spec.js", "type": "file", "suites": [ { "title": "Navigation Overlay Template Part", "type": "suite", "suites": [ { "title": "Creation", "type": "suite", "tests": [ { "title": "As a user I want to be able to create a navigation overlay for a specific navigation block", "attempts": [ { "duration": 5792 } ] } ] }, { "title": "Customization", "type": "suite", "tests": [ { "title": "As a user I want to be able to customize the navigation overlay with styled content", "attempts": [ { "duration": 5792 } ] }, { "title": "As a user I want to be able to add multiple close buttons so that users can close the overlay from different positions", "attempts": [ { "duration": 5792 } ] }, { "title": "As a site builder, I want to insert a core navigation overlay pattern with CTA and see it on the frontend", "attempts": [ { "duration": 7120 } ] } ] } ] } ] }, { "title": "site-editor/navigation-sidebar-list-view.spec.js", "type": "file", "suites": [ { "title": "Navigation sidebar - list view editing", "type": "suite", "tests": [ { "title": "can use appender in site editor sidebar list view", "attempts": [ { "duration": 6002 } ] } ] } ] }, { "title": "site-editor/navigation.spec.js", "type": "file", "suites": [ { "title": "Site editor navigation", "type": "suite", "tests": [ { "title": "Can use keyboard to navigate the site editor", "attempts": [ { "duration": 5120 } ] }, { "title": "Should show 404 page when navigating to non-existent template", "attempts": [ { "duration": 2396 } ] } ] } ] }, { "title": "site-editor/new-templates-list.spec.js", "type": "file", "suites": [ { "title": "Templates", "type": "suite", "tests": [ { "title": "Sorting", "attempts": [ { "duration": 4225 } ] }, { "title": "Filtering", "attempts": [ { "duration": 6207 } ] }, { "title": "Field visibility", "attempts": [ { "duration": 3834 } ] } ] } ] }, { "title": "site-editor/page-list.spec.js", "type": "file", "suites": [ { "title": "Page List", "type": "suite", "suites": [ { "title": "Quick Edit Mode", "type": "suite", "tests": [ { "title": "should initialize, edit, and update featuredImage field correctly", "attempts": [ { "duration": 7120 } ] }, { "title": "should initialize, edit, and update statusVisibility field correctly", "attempts": [ { "duration": 7120 } ] }, { "title": "should initialize, edit, and update author field correctly", "attempts": [ { "duration": 6727 } ] }, { "title": "should initialize, edit, and update date field correctly", "attempts": [ { "duration": 6727 } ] }, { "title": "should initialize, edit, and update slug field correctly", "attempts": [ { "duration": 6520 } ] }, { "title": "should initialize, edit, and update parent field correctly", "attempts": [ { "duration": 6520 } ] }, { "title": "should initialize, edit, and update discussion field correctly", "attempts": [ { "duration": 6520 } ] }, { "title": "should save multiple field changes and update Data Views UI", "attempts": [ { "duration": 8141 } ] } ] }, { "title": "Quick Edit Date Timezone Consistency", "type": "suite", "tests": [ { "title": "should display and edit dates in the WP timezone", "attempts": [ { "duration": 6520 } ] } ] } ], "tests": [ { "title": "Persists filter/search when switching layout", "attempts": [ { "duration": 3834 } ] } ] } ] }, { "title": "site-editor/pages-view-persistence.spec.js", "type": "file", "suites": [ { "title": "Pages View Persistence", "type": "suite", "tests": [ { "title": "persists table layout across all tabs with unified view persistence", "attempts": [ { "duration": 4255 } ] } ] } ] }, { "title": "site-editor/pages.spec.js", "type": "file", "suites": [ { "title": "Pages", "type": "suite", "tests": [ { "title": "create a new page, edit template and toggle page template preview", "attempts": [ {} ] }, { "title": "the writing prompt in an empty content block responds to the first click", "attempts": [ { "duration": 5120 } ] }, { "title": "swap template and reset to default", "attempts": [ { "duration": 9943 } ] }, { "title": "change template options should respect the declared `postTypes`", "attempts": [ { "duration": 4225 } ] }, { "title": "should allow setting page order to zero and negative values", "attempts": [ { "duration": 9943 } ] } ] } ] }, { "title": "site-editor/patterns.spec.js", "type": "file", "suites": [ { "title": "Patterns", "type": "suite", "tests": [ { "title": "create a new pattern", "attempts": [ { "duration": 4682 } ] }, { "title": "search and filter patterns", "attempts": [ { "duration": 5306 } ] }, { "title": "sort patterns", "attempts": [ { "duration": 4062 } ] } ] } ] }, { "title": "site-editor/push-to-global-styles.spec.js", "type": "file", "suites": [ { "title": "Push to Global Styles button", "type": "suite", "tests": [ { "title": "should apply Heading block styles to all Heading blocks", "attempts": [ { "duration": 5558 } ] }, { "title": "should push only the selected subset of styles", "attempts": [ { "duration": 5120 } ] }, { "title": "should disable Apply when no styles are selected", "attempts": [ { "duration": 4509 } ] }, { "title": "should make no changes when the modal is dismissed", "attempts": [ { "duration": 4509 } ] } ] } ] }, { "title": "site-editor/save-entity-record-template-compat.spec.js", "type": "file", "suites": [ { "title": "calling saveEntityRecord with a theme template ID", "type": "suite", "tests": [ { "title": "should work as expected", "attempts": [ { "duration": 6002 } ] }, { "title": "should work as expected for different theme by calling the API directly", "attempts": [ { "duration": 5792 } ] }, { "title": "getEntityRecord should work as expected", "attempts": [ { "duration": 3300 } ] }, { "title": "getEditedEntityRecord should work as expected", "attempts": [ { "duration": 3300 } ] } ] } ] }, { "title": "site-editor/settings-sidebar.spec.js", "type": "file", "suites": [ { "title": "Settings sidebar", "type": "suite", "suites": [ { "title": "Template tab", "type": "suite", "tests": [ { "title": "should open template tab by default if no block is selected", "attempts": [ { "duration": 3410 } ] }, { "title": "should show the currently selected template's title and description", "attempts": [ { "duration": 5792 } ] } ] }, { "title": "Block tab", "type": "suite", "tests": [ { "title": "should open block tab by default if a block is selected", "attempts": [ { "duration": 3492 } ] } ] }, { "title": "Tab switch based on selection", "type": "suite", "tests": [ { "title": "should switch to block tab if we select a block, when Template is selected", "attempts": [ { "duration": 3492 } ] }, { "title": "should switch to Template tab when a block was selected and we select the Template", "attempts": [ { "duration": 3492 } ] } ] } ] } ] }, { "title": "site-editor/site-editor-dark-background.spec.js", "type": "file", "suites": [ { "title": "Site editor with dark background theme", "type": "suite", "suites": [ { "title": "Site editor iframe body", "type": "suite", "tests": [ { "title": "Should have the is-dark-theme CSS class", "attempts": [ { "duration": 3101 } ] } ] } ] }, { "title": "Site editor with light background theme and theme variations", "type": "suite", "suites": [ { "title": "Site editor iframe body", "type": "suite", "tests": [ { "title": "Should not have the is-dark-theme CSS class", "attempts": [ { "duration": 4225 } ] }, { "title": "Should add and remove the is-dark-theme CSS class with dark and light theme variation", "attempts": [ { "duration": 5792 } ] } ] } ] } ] }, { "title": "site-editor/site-editor-export.spec.js", "type": "file", "suites": [ { "title": "Site Editor Templates Export", "type": "suite", "tests": [ { "title": "clicking export should download emptytheme.zip file", "attempts": [ { "duration": 3492 } ] } ] } ] }, { "title": "site-editor/site-editor-inserter.spec.js", "type": "file", "suites": [ { "title": "Site Editor Inserter", "type": "suite", "suites": [ { "title": "Inserter Zoom Level UX", "type": "suite", "tests": [ { "title": "should intialize correct active tab based on zoom level", "attempts": [ { "duration": 5982 } ] }, { "title": "should set the correct zoom level when changing tabs", "attempts": [ { "duration": 6520 } ] }, { "title": "should reset the zoom level when closing the inserter if we most recently changed the zoom level", "attempts": [ { "duration": 10124 } ] }, { "title": "should keep the zoom level manually set by the user if the user most recently set the zoom level", "attempts": [ { "duration": 8833 } ] } ] } ], "tests": [ { "title": "inserter toggle button should toggle global inserter", "attempts": [ { "duration": 7378 } ] } ] } ] }, { "title": "site-editor/site-editor-url-navigation.spec.js", "type": "file", "suites": [ { "title": "Site editor url navigation", "type": "suite", "tests": [ { "title": "Redirection after template creation", "attempts": [ { "duration": 4225 } ] }, { "title": "Redirection after template part creation", "attempts": [ { "duration": 3492 } ] }, { "title": "The Patterns page should keep the previously selected template part category", "attempts": [ { "duration": 3492 } ] } ] } ] }, { "title": "site-editor/site-preview.spec.js", "type": "file", "suites": [ { "title": "Site preview", "type": "suite", "tests": [ { "title": "makes interactive elements inside the preview non-interactive", "attempts": [ { "duration": 2244 } ] } ] } ] }, { "title": "site-editor/style-book.spec.js", "type": "file", "suites": [ { "title": "Style Book", "type": "suite", "tests": [ { "title": "should disable toolbar buttons when open", "attempts": [ { "duration": 3868 } ] }, { "title": "should have tabs containing block examples", "attempts": [ { "duration": 4255 } ] }, { "title": "should open correct Global Styles panel when example is clicked", "attempts": [ { "duration": 4225 } ] }, { "title": "should allow to return Global Styles root when example is clicked", "attempts": [ { "duration": 5171 } ] }, { "title": "should disappear when closed via click event or Escape key", "attempts": [ { "duration": 4561 } ] }, { "title": "should persist when navigating the global styles sidebar", "attempts": [ { "duration": 4225 } ] }, { "title": "should reflect unsaved global styles edits", "attempts": [ { "duration": 3868 } ] }, { "title": "should allow opening the command menu from the header when open", "attempts": [ { "duration": 4078 } ] } ] }, { "title": "Style Book for classic themes", "type": "suite", "tests": [ { "title": "Should show Style Book for a theme that supports it", "attempts": [ { "duration": 3492 } ] } ] } ] }, { "title": "site-editor/style-variations.spec.js", "type": "file", "suites": [ { "title": "Global styles variations", "type": "suite", "tests": [ { "title": "should have three variations available with the first one being active", "attempts": [ { "duration": 3492 } ] }, { "title": "should apply preset colors and font sizes in a variation", "attempts": [ { "duration": 4225 } ] }, { "title": "should apply custom colors and font sizes in a variation", "attempts": [ { "duration": 4225 } ] }, { "title": "should apply a color palette in a variation", "attempts": [ { "duration": 4078 } ] }, { "title": "should reflect style variations in the styles applied to the editor", "attempts": [ { "duration": 3834 } ] } ] } ] }, { "title": "site-editor/styles.spec.js", "type": "file", "suites": [ { "title": "Styles", "type": "suite", "tests": [ { "title": "should override reset styles and library styles", "attempts": [ { "duration": 4772 } ] } ] } ] }, { "title": "site-editor/template-activate.spec.js", "type": "file", "suites": [ { "title": "Template Activate", "type": "suite", "tests": [ { "title": "should duplicate and activate", "attempts": [ { "duration": 9077 } ] }, { "title": "should deactivate after theme change", "attempts": [ { "duration": 8153 } ] } ] } ] }, { "title": "site-editor/template-hierarchy.spec.js", "type": "file", "suites": [ { "title": "Template hierarchy", "type": "suite", "tests": [ { "title": "shows correct template with page on front option", "attempts": [ { "duration": 3725 } ] } ] } ] }, { "title": "site-editor/template-id-format.spec.js", "type": "file", "suites": [ { "title": "Template ID Format", "type": "suite", "tests": [ { "title": "should open and edit templates correctly when active_templates experiment is enabled", "attempts": [ { "duration": 12790 } ] }, { "title": "should open and edit templates correctly when active_templates experiment is disabled", "attempts": [ { "duration": 12790 } ] } ] } ] }, { "title": "site-editor/template-part-focus-mode.spec.js", "type": "file", "suites": [ { "title": "Template Part Focus mode", "type": "suite", "tests": [ { "title": "Should navigate to template part and back.", "attempts": [ { "duration": 5792 } ] } ] } ] }, { "title": "site-editor/template-part.spec.js", "type": "file", "suites": [ { "title": "Template Part", "type": "suite", "tests": [ { "title": "can create template parts via the block placeholder start blank option", "attempts": [ { "duration": 3866 } ] }, { "title": "can create template parts via the block placeholder choose existing option", "attempts": [ { "duration": 3866 } ] }, { "title": "can convert a single block to a template part", "attempts": [ { "duration": 4225 } ] }, { "title": "can convert multiple blocks to a template part", "attempts": [ { "duration": 4682 } ] }, { "title": "can detach blocks from a template part", "attempts": [ { "duration": 7120 } ] }, { "title": "shows the source block for a pattern wrapper in focus mode", "attempts": [ { "duration": 3834 } ] }, { "title": "shows changes in a template when a template part it contains is modified", "attempts": [ { "duration": 6520 } ] }, { "title": "doesn't throw a block error when clicking on a link", "attempts": [ { "duration": 4225 } ] }, { "title": "can import a widget area into an empty template part", "attempts": [ {} ] }, { "title": "can not import a widget area into a non-empty template part", "attempts": [ { "duration": 3834 } ] }, { "title": "Keeps focus in place on undo in template parts", "attempts": [ { "duration": 4561 } ] } ] } ] }, { "title": "site-editor/template-registration-activation.spec.js", "type": "file", "suites": [ { "title": "Block template registration", "type": "suite", "tests": [ { "title": "templates can be registered and edited", "attempts": [ { "duration": 9295 } ] }, { "title": "registered templates are available in the Change template screen", "attempts": [ { "duration": 4682 } ] }, { "title": "themes can override registered templates", "attempts": [ { "duration": 8283 } ] }, { "title": "templates can be deleted if the registered plugin is deactivated", "attempts": [ { "duration": 8283 } ] }, { "title": "registered templates can be unregistered", "attempts": [ { "duration": 3834 } ] }, { "title": "WP default templates can be overridden by plugins", "attempts": [ { "duration": 397 } ] }, { "title": "user-customized templates cannot be overridden by plugins", "attempts": [ { "duration": 12866 } ] } ] } ] }, { "title": "site-editor/template-registration.spec.js", "type": "file", "suites": [ { "title": "Block template registration", "type": "suite", "tests": [ { "title": "templates can be registered and edited", "attempts": [ { "duration": 10394 } ] }, { "title": "registered templates are available in the Change template screen", "attempts": [ { "duration": 5035 } ] }, { "title": "themes can override registered templates", "attempts": [ { "duration": 8283 } ] }, { "title": "templates can be deleted if the registered plugin is deactivated", "attempts": [ { "duration": 8833 } ] }, { "title": "registered templates can be unregistered", "attempts": [ { "duration": 4225 } ] }, { "title": "WP default templates can be overridden by plugins", "attempts": [ { "duration": 416 } ] }, { "title": "user-customized templates cannot be overridden by plugins", "attempts": [ { "duration": 10790 } ] } ] } ] }, { "title": "site-editor/template-revert.spec.js", "type": "file", "suites": [ { "title": "Template Revert", "type": "suite", "tests": [ { "title": "should delete the template after saving the reverted template", "attempts": [ { "duration": 3819 } ] }, { "title": "should show the original content after revert", "attempts": [ { "duration": 3868 } ] }, { "title": "should show the original content after revert and page reload", "attempts": [ { "duration": 6002 } ] }, { "title": "should show the edited content after revert and clicking undo in the header toolbar", "attempts": [ { "duration": 3868 } ] }, { "title": "should show the original content after revert, clicking undo then redo in the header toolbar", "attempts": [ { "duration": 4083 } ] }, { "title": "should show the edited content after revert, clicking undo in the header toolbar, save and reload", "attempts": [ { "duration": 6310 } ] } ] } ] }, { "title": "site-editor/templates.spec.js", "type": "file", "suites": [ { "title": "Templates", "type": "suite", "tests": [ { "title": "Create a custom template", "attempts": [ { "duration": 5171 } ] }, { "title": "Persists filter/search when switching layout", "attempts": [ { "duration": 4078 } ] } ] } ] }, { "title": "site-editor/title.spec.js", "type": "file", "suites": [ { "title": "Site editor title", "type": "suite", "tests": [ { "title": "displays the selected template name in the title for the index template", "attempts": [ { "duration": 3337 } ] }, { "title": "displays the selected template name in the title for the header template", "attempts": [ { "duration": 3192 } ] } ] } ] }, { "title": "site-editor/undo.spec.js", "type": "file", "suites": [ { "title": "undo", "type": "suite", "tests": [ { "title": "does not empty header", "attempts": [ { "duration": 3492 } ] } ] } ] }, { "title": "site-editor/user-global-styles-revisions.spec.js", "type": "file", "suites": [ { "title": "Style Revisions", "type": "suite", "tests": [ { "title": "should display revisions UI when there is 1 revision", "attempts": [ { "duration": 4255 } ] }, { "title": "should warn of unsaved changes before loading reset revision", "attempts": [ { "duration": 4764 } ] }, { "title": "should have a reset to defaults button", "attempts": [ { "duration": 3868 } ] }, { "title": "should access from the site editor sidebar", "attempts": [ { "duration": 3866 } ] }, { "title": "should allow switching to style book view", "attempts": [ { "duration": 4561 } ] }, { "title": "should close revisions panel and leave style book open if activated", "attempts": [ { "duration": 4561 } ] }, { "title": "should allow opening the command menu from the header when open", "attempts": [ { "duration": 3868 } ] }, { "title": "should paginate", "attempts": [ { "duration": 7146 } ] } ] } ] }, { "title": "site-editor/view-config-extensibility.spec.js", "type": "file", "suites": [ { "title": "View config extensibility", "type": "suite", "tests": [ { "title": "applies the filtered configuration throughout the Pages UI", "attempts": [ { "duration": 3725 } ] } ] } ] }, { "title": "site-editor/writing-flow.spec.js", "type": "file", "suites": [ { "title": "Site editor writing flow", "type": "suite", "tests": [ { "title": "allows shift tabbing to the block toolbar from the first block", "attempts": [ { "duration": 3492 } ] }, { "title": "allows tabbing to the inspector from the last block", "attempts": [ { "duration": 3492 } ] } ] } ] }, { "title": "site-editor/zoom-out.spec.js", "type": "file", "suites": [ { "title": "Zoom Out", "type": "suite", "tests": [ { "title": "Entering zoomed out mode zooms the canvas", "attempts": [ { "duration": 4210 } ] }, { "title": "Toggling zoom state should keep content centered", "attempts": [ { "duration": 7547 } ] }, { "title": "Zoom out selected section has four items in options menu", "attempts": [ { "duration": 5570 } ] }, { "title": "Zoom Out cannot be activated when the section root is missing", "attempts": [ { "duration": 4225 } ] } ] } ] }, { "title": "widgets/customizing-widgets.spec.js", "type": "file", "suites": [ { "title": "Widgets Customizer", "type": "suite", "tests": [ { "title": "should add blocks", "attempts": [ { "duration": 6531 } ] }, { "title": "should open the inspector panel", "attempts": [ { "duration": 4561 } ] }, { "title": "should handle the inserter outer section", "attempts": [ { "duration": 4772 } ] }, { "title": "should move focus to the block", "attempts": [ { "duration": 4255 } ] }, { "title": "should clear block selection", "attempts": [ { "duration": 4225 } ] }, { "title": "should handle legacy widgets", "attempts": [ { "duration": 7141 } ] }, { "title": "should handle esc key events", "attempts": [ { "duration": 3866 } ] }, { "title": "should move (inner) blocks to another sidebar", "attempts": [ { "duration": 4772 } ] }, { "title": "should not render Block Settings sections", "attempts": [ { "duration": 2530 } ] }, { "title": "should stay in block settings after making a change in that area", "attempts": [ { "duration": 4772 } ] }, { "title": "preserves content in the Custom HTML block", "attempts": [ { "duration": 7141 } ] } ] } ] }, { "title": "widgets/editing-widgets.spec.js", "type": "file", "suites": [ { "title": "Widgets screen", "type": "suite", "suites": [ { "title": "Function widgets", "type": "suite", "tests": [ { "title": "Should add and save the marquee widget", "attempts": [ {} ] } ] } ], "tests": [ { "title": "Should insert content using the global inserter", "attempts": [ { "duration": 6007 } ] }, { "title": "Should insert content using the inline inserter", "attempts": [ { "duration": 3868 } ] }, { "title": "Should duplicate the widgets", "attempts": [ { "duration": 2868 } ] }, { "title": "Should display legacy widgets", "attempts": [ { "duration": 4612 } ] }, { "title": "allows widgets to be moved between widget areas using the dropdown in the block toolbar", "attempts": [ { "duration": 2868 } ] }, { "title": "Allows widget deletion to be undone", "attempts": [ { "duration": 4772 } ] }, { "title": "can toggle sidebar list view", "attempts": [ { "duration": 2431 } ] }, { "title": "allows blocks to be added on mobile viewports", "attempts": [ { "duration": 3137 } ] } ] } ] } ] }