@@ -182,7 +182,8 @@ describe("Toolbar Class", () => {
182182 test ( "renderLogoIcon sets up logo with correct interactions" , ( ) => {
183183 const elements = {
184184 "mb-logo" : {
185- innerHTML : "" ,
185+ textContent : "" ,
186+ appendChild : jest . fn ( ) ,
186187 onmouseenter : null ,
187188 onmouseleave : null ,
188189 onclick : null ,
@@ -208,7 +209,7 @@ describe("Toolbar Class", () => {
208209
209210 //Non-Japanese language
210211 toolbar . renderLogoIcon ( mockOnClick ) ;
211- expect ( elements [ "mb-logo" ] . innerHTML ) . toBe ( "" ) ;
212+ expect ( elements [ "mb-logo" ] . textContent ) . toBe ( "" ) ;
212213 expect ( typeof elements [ "mb-logo" ] . onmouseenter ) . toBe ( "function" ) ;
213214 expect ( typeof elements [ "mb-logo" ] . onmouseleave ) . toBe ( "function" ) ;
214215 expect ( typeof elements [ "mb-logo" ] . onclick ) . toBe ( "function" ) ;
@@ -225,8 +226,7 @@ describe("Toolbar Class", () => {
225226 // Japanese language
226227 toolbar . language = "ja" ;
227228 toolbar . renderLogoIcon ( mockOnClick ) ;
228- expect ( elements [ "mb-logo" ] . innerHTML ) . toContain ( "logo-ja.svg" ) ;
229- expect ( elements [ "mb-logo" ] . innerHTML ) . toContain ( "transform: scale(0.85)" ) ;
229+ expect ( elements [ "mb-logo" ] . appendChild ) . toHaveBeenCalled ( ) ;
230230 elements [ "mb-logo" ] . onclick ( ) ;
231231 expect ( mockOnClick ) . toHaveBeenCalledTimes ( 2 ) ;
232232 } ) ;
@@ -385,10 +385,19 @@ describe("Toolbar Class", () => {
385385 } ) ;
386386
387387 test ( "renderThemeSelectIcon sets onclick and updates theme selection" , ( ) => {
388- const themeSelectIcon = { onclick : null } ;
388+ const themeSelectIcon = {
389+ onclick : null ,
390+ textContent : "" ,
391+ childNodes : [ ] ,
392+ appendChild : jest . fn ( ) ,
393+ cloneNode : jest . fn ( )
394+ } ;
389395 const themes = [ "light" , "dark" ] ;
390396 const themeBox = { setAttribute : jest . fn ( ) } ;
391- global . docById . mockReturnValue ( themeSelectIcon ) ;
397+ global . docById . mockImplementation ( id => {
398+ if ( id === "themeSelectIcon" ) return themeSelectIcon ;
399+ return { childNodes : [ ] , cloneNode : jest . fn ( ) } ;
400+ } ) ;
392401 global . localStorage . themePreference = "light" ;
393402 toolbar . renderThemeSelectIcon ( themeBox , themes ) ;
394403 expect ( themeSelectIcon . onclick ) . toBeInstanceOf ( Function ) ;
@@ -576,7 +585,9 @@ describe("Toolbar Class", () => {
576585 const recordButton = {
577586 classList : { add : jest . fn ( ) } ,
578587 style : { display : "" } ,
579- innerHTML : ""
588+ innerHTML : "" ,
589+ textContent : "" ,
590+ appendChild : jest . fn ( )
580591 } ;
581592 global . docById . mockReturnValue ( recordButton ) ;
582593 global . fnBrowserDetect = jest . fn ( ( ) => "firefox" ) ;
@@ -592,13 +603,17 @@ describe("Toolbar Class", () => {
592603 classList : { add : jest . fn ( ) , remove : jest . fn ( ) } ,
593604 style : { display : "" } ,
594605 innerHTML : "" ,
606+ textContent : "" ,
607+ appendChild : jest . fn ( ) ,
595608 onclick : null
596609 } ;
597610
598611 const recordDropdownArrow = {
599612 classList : { add : jest . fn ( ) , remove : jest . fn ( ) } ,
600613 style : { display : "" } ,
601614 innerHTML : "" ,
615+ textContent : "" ,
616+ appendChild : jest . fn ( ) ,
602617 addEventListener : jest . fn ( ) ,
603618 removeEventListener : jest . fn ( ) ,
604619 querySelector : jest . fn ( ( ) => ( { textContent : "arrow_drop_down" } ) ) ,
@@ -728,7 +743,7 @@ describe("Toolbar Class", () => {
728743 clickHandler ( ) ;
729744
730745 expect ( mockOnClick ) . toHaveBeenCalledWith ( toolbar . activity , false ) ;
731- expect ( elements . menu . innerHTML ) . toBe ( "more_vert" ) ;
746+ expect ( elements . menu . textContent ) . toBe ( "more_vert" ) ;
732747 expect ( elements . toggleAuxBtn . classList . add ) . toHaveBeenCalledWith ( "blue" , "darken-1" ) ;
733748 expect ( elements . search . classList . toggle ) . toHaveBeenCalledWith ( "open" ) ;
734749
@@ -737,7 +752,7 @@ describe("Toolbar Class", () => {
737752
738753 expect ( mockOnClick ) . toHaveBeenCalledWith ( toolbar . activity , true ) ;
739754 expect ( elements [ "aux-toolbar" ] . style . display ) . toBe ( "none" ) ;
740- expect ( elements . menu . innerHTML ) . toBe ( "menu" ) ;
755+ expect ( elements . menu . textContent ) . toBe ( "menu" ) ;
741756 expect ( elements . toggleAuxBtn . classList . remove ) . toHaveBeenCalledWith ( "blue" , "darken-1" ) ;
742757 expect ( elements . toggleAuxBtn . className ) . toBe ( "tooltipped aux-toggle" ) ;
743758 expect ( elements . chooseKeyDiv . style . display ) . toBe ( "none" ) ;
@@ -1062,7 +1077,7 @@ describe("Toolbar Class", () => {
10621077 test ( "closeAuxToolbar hides auxiliary toolbar if visible" , ( ) => {
10631078 const elements = {
10641079 "aux-toolbar" : { style : { display : "block" } } ,
1065- "menu" : { innerHTML : "" } ,
1080+ "menu" : { innerHTML : "" , textContent : "" , appendChild : jest . fn ( ) } ,
10661081 "toggleAuxBtn" : {
10671082 className : "some-class blue darken-1" ,
10681083 classList : {
@@ -1077,7 +1092,7 @@ describe("Toolbar Class", () => {
10771092 toolbar . activity = { } ;
10781093 toolbar . closeAuxToolbar ( mockOnClick ) ;
10791094 expect ( elements [ "aux-toolbar" ] . style . display ) . toBe ( "none" ) ;
1080- expect ( elements . menu . innerHTML ) . toBe ( "menu" ) ;
1095+ expect ( elements . menu . textContent ) . toBe ( "menu" ) ;
10811096 expect ( mockOnClick ) . toHaveBeenCalledWith ( toolbar . activity , false ) ;
10821097 expect ( elements . toggleAuxBtn . classList . remove ) . toHaveBeenCalledWith ( "blue" , "darken-1" ) ;
10831098 } ) ;
@@ -1283,6 +1298,8 @@ describe("Toolbar Class", () => {
12831298 classList : { add : jest . fn ( ) , remove : jest . fn ( ) , contains : jest . fn ( ( ) => false ) } ,
12841299 style : { display : "block" } ,
12851300 innerHTML : "" ,
1301+ textContent : "" ,
1302+ appendChild : jest . fn ( ) ,
12861303 addEventListener : jest . fn ( ) ,
12871304 querySelector : jest . fn ( ( ) => ( { textContent : "" } ) ) ,
12881305 contains : jest . fn ( ( ) => false )
0 commit comments