@@ -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,13 @@ describe("Toolbar Class", () => {
385385 } ) ;
386386
387387 test ( "renderThemeSelectIcon sets onclick and updates theme selection" , ( ) => {
388- const themeSelectIcon = { onclick : null } ;
388+ const themeSelectIcon = { onclick : null , textContent : "" , childNodes : [ ] , appendChild : jest . fn ( ) , cloneNode : jest . fn ( ) } ;
389389 const themes = [ "light" , "dark" ] ;
390390 const themeBox = { setAttribute : jest . fn ( ) } ;
391- global . docById . mockReturnValue ( themeSelectIcon ) ;
391+ global . docById . mockImplementation ( id => {
392+ if ( id === "themeSelectIcon" ) return themeSelectIcon ;
393+ return { childNodes : [ ] , cloneNode : jest . fn ( ) } ;
394+ } ) ;
392395 global . localStorage . themePreference = "light" ;
393396 toolbar . renderThemeSelectIcon ( themeBox , themes ) ;
394397 expect ( themeSelectIcon . onclick ) . toBeInstanceOf ( Function ) ;
@@ -576,7 +579,9 @@ describe("Toolbar Class", () => {
576579 const recordButton = {
577580 classList : { add : jest . fn ( ) } ,
578581 style : { display : "" } ,
579- innerHTML : ""
582+ innerHTML : "" ,
583+ textContent : "" ,
584+ appendChild : jest . fn ( )
580585 } ;
581586 global . docById . mockReturnValue ( recordButton ) ;
582587 global . fnBrowserDetect = jest . fn ( ( ) => "firefox" ) ;
@@ -592,13 +597,17 @@ describe("Toolbar Class", () => {
592597 classList : { add : jest . fn ( ) , remove : jest . fn ( ) } ,
593598 style : { display : "" } ,
594599 innerHTML : "" ,
600+ textContent : "" ,
601+ appendChild : jest . fn ( ) ,
595602 onclick : null
596603 } ;
597604
598605 const recordDropdownArrow = {
599606 classList : { add : jest . fn ( ) , remove : jest . fn ( ) } ,
600607 style : { display : "" } ,
601608 innerHTML : "" ,
609+ textContent : "" ,
610+ appendChild : jest . fn ( ) ,
602611 addEventListener : jest . fn ( ) ,
603612 removeEventListener : jest . fn ( ) ,
604613 querySelector : jest . fn ( ( ) => ( { textContent : "arrow_drop_down" } ) ) ,
@@ -728,7 +737,7 @@ describe("Toolbar Class", () => {
728737 clickHandler ( ) ;
729738
730739 expect ( mockOnClick ) . toHaveBeenCalledWith ( toolbar . activity , false ) ;
731- expect ( elements . menu . innerHTML ) . toBe ( "more_vert" ) ;
740+ expect ( elements . menu . textContent ) . toBe ( "more_vert" ) ;
732741 expect ( elements . toggleAuxBtn . classList . add ) . toHaveBeenCalledWith ( "blue" , "darken-1" ) ;
733742 expect ( elements . search . classList . toggle ) . toHaveBeenCalledWith ( "open" ) ;
734743
@@ -737,7 +746,7 @@ describe("Toolbar Class", () => {
737746
738747 expect ( mockOnClick ) . toHaveBeenCalledWith ( toolbar . activity , true ) ;
739748 expect ( elements [ "aux-toolbar" ] . style . display ) . toBe ( "none" ) ;
740- expect ( elements . menu . innerHTML ) . toBe ( "menu" ) ;
749+ expect ( elements . menu . textContent ) . toBe ( "menu" ) ;
741750 expect ( elements . toggleAuxBtn . classList . remove ) . toHaveBeenCalledWith ( "blue" , "darken-1" ) ;
742751 expect ( elements . toggleAuxBtn . className ) . toBe ( "tooltipped aux-toggle" ) ;
743752 expect ( elements . chooseKeyDiv . style . display ) . toBe ( "none" ) ;
@@ -1062,7 +1071,7 @@ describe("Toolbar Class", () => {
10621071 test ( "closeAuxToolbar hides auxiliary toolbar if visible" , ( ) => {
10631072 const elements = {
10641073 "aux-toolbar" : { style : { display : "block" } } ,
1065- "menu" : { innerHTML : "" } ,
1074+ "menu" : { innerHTML : "" , textContent : "" , appendChild : jest . fn ( ) } ,
10661075 "toggleAuxBtn" : {
10671076 className : "some-class blue darken-1" ,
10681077 classList : {
@@ -1077,7 +1086,7 @@ describe("Toolbar Class", () => {
10771086 toolbar . activity = { } ;
10781087 toolbar . closeAuxToolbar ( mockOnClick ) ;
10791088 expect ( elements [ "aux-toolbar" ] . style . display ) . toBe ( "none" ) ;
1080- expect ( elements . menu . innerHTML ) . toBe ( "menu" ) ;
1089+ expect ( elements . menu . textContent ) . toBe ( "menu" ) ;
10811090 expect ( mockOnClick ) . toHaveBeenCalledWith ( toolbar . activity , false ) ;
10821091 expect ( elements . toggleAuxBtn . classList . remove ) . toHaveBeenCalledWith ( "blue" , "darken-1" ) ;
10831092 } ) ;
@@ -1283,6 +1292,8 @@ describe("Toolbar Class", () => {
12831292 classList : { add : jest . fn ( ) , remove : jest . fn ( ) , contains : jest . fn ( ( ) => false ) } ,
12841293 style : { display : "block" } ,
12851294 innerHTML : "" ,
1295+ textContent : "" ,
1296+ appendChild : jest . fn ( ) ,
12861297 addEventListener : jest . fn ( ) ,
12871298 querySelector : jest . fn ( ( ) => ( { textContent : "" } ) ) ,
12881299 contains : jest . fn ( ( ) => false )
0 commit comments