@ -248,5 +248,38 @@ describe('Helpers', function () {
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                expect ( KeyboardUtil . getKeysym ( { code :  'NumpadDecimal' ,  key :  ',' ,  location :  3 } ) ) . to . be . equal ( 0xFFAC ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            } ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        } ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        describe ( 'Japanese IM keys on Windows' ,  function  ( )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            let  origNavigator ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            beforeEach ( function  ( )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                // window.navigator is a protected read-only property in many
 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                // environments, so we need to redefine it whilst running these
 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                // tests.
 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                origNavigator  =  Object . getOwnPropertyDescriptor ( window ,  "navigator" ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                Object . defineProperty ( window ,  "navigator" ,  { value :  { } } ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                if  ( window . navigator . platform  !==  undefined )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                    // Object.defineProperty() doesn't work properly in old
 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                    // versions of Chrome
 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                    this . skip ( ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                } 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                window . navigator . platform  =  "Windows" ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            } ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            afterEach ( function  ( )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                if  ( origNavigator  !==  undefined )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                    Object . defineProperty ( window ,  "navigator" ,  origNavigator ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                } 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            } ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            const  keys  =  {  'Zenkaku' :  0xff2a ,  'Hankaku' :  0xff2a , 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                           'Romaji' :  0xff24 ,  'KanaMode' :  0xff24  } ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            for  ( let  [ key ,  keysym ]  of  Object . entries ( keys ) )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                it ( ` should fake combined key for  ${ key }  on Windows ` ,  function  ( )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                    expect ( KeyboardUtil . getKeysym ( { code :  'FakeIM' ,  key :  key } ) ) . to . be . equal ( keysym ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				                } ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				            } 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        } ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    } ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				} ) ;