@@ -177,7 +177,7 @@ function expectAlignmentState(
177177
178178async function getHeadingMenuItem (
179179 screen : Awaited < ReturnType < typeof render > > ,
180- name : "Heading 1" | "Heading 2" | "Heading 3" ,
180+ name : "Heading 1" | "Heading 2" | "Heading 3" | "Heading 4" | "Heading 5" | "Heading 6" ,
181181) {
182182 const trigger = getToolbarButton ( screen , "Headings" ) ;
183183 trigger . element ( ) . click ( ) ;
@@ -224,6 +224,9 @@ describe("Toolbar Presence and Structure", () => {
224224 await expect . element ( screen . getByRole ( "menuitem" , { name : "Heading 1" } ) ) . toBeVisible ( ) ;
225225 await expect . element ( screen . getByRole ( "menuitem" , { name : "Heading 2" } ) ) . toBeVisible ( ) ;
226226 await expect . element ( screen . getByRole ( "menuitem" , { name : "Heading 3" } ) ) . toBeVisible ( ) ;
227+ await expect . element ( screen . getByRole ( "menuitem" , { name : "Heading 4" } ) ) . toBeVisible ( ) ;
228+ await expect . element ( screen . getByRole ( "menuitem" , { name : "Heading 5" } ) ) . toBeVisible ( ) ;
229+ await expect . element ( screen . getByRole ( "menuitem" , { name : "Heading 6" } ) ) . toBeVisible ( ) ;
227230 expect (
228231 screen
229232 . getByRole ( "menuitem" , { name : "Heading 1" } )
@@ -235,7 +238,16 @@ describe("Toolbar Presence and Structure", () => {
235238 document . querySelectorAll < HTMLElement > ( '[role="menuitem"]' ) ,
236239 ( item ) => item . textContent ?. trim ( ) ,
237240 ) ;
238- expect ( headingLabels ) . not . toContain ( "Heading 4" ) ;
241+ expect ( headingLabels ) . toEqual (
242+ expect . arrayContaining ( [
243+ "Heading 1" ,
244+ "Heading 2" ,
245+ "Heading 3" ,
246+ "Heading 4" ,
247+ "Heading 5" ,
248+ "Heading 6" ,
249+ ] ) ,
250+ ) ;
239251 } ) ;
240252
241253 it ( "has all list buttons" , async ( ) => {
@@ -499,6 +511,19 @@ describe("Formatting Button Toggle States", () => {
499511 } ) ;
500512 } ) ;
501513
514+ it ( "Heading 6: click changes to h6" , async ( ) => {
515+ const { screen, editor } = await renderEditor ( ) ;
516+ editor . commands . focus ( ) ;
517+
518+ const { trigger, item } = await getHeadingMenuItem ( screen , "Heading 6" ) ;
519+ item . element ( ) . click ( ) ;
520+
521+ await vi . waitFor ( ( ) => {
522+ expect ( trigger . element ( ) . hasAttribute ( "aria-pressed" ) ) . toBe ( false ) ;
523+ expect ( editor . isActive ( "heading" , { level : 6 } ) ) . toBe ( true ) ;
524+ } ) ;
525+ } ) ;
526+
502527 it ( "Bullet List: click toggles aria-pressed to true" , async ( ) => {
503528 const { screen, editor } = await renderEditor ( ) ;
504529 editor . commands . focus ( ) ;
0 commit comments