@ -248,5 +248,38 @@ describe('Helpers', function () {
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					                expect ( KeyboardUtil . getKeysym ( { code :  'NumpadDecimal' ,  key :  ',' ,  location :  3 } ) ) . to . be . equal ( 0xFFAC ) ; 
 
					 
					 
					 
					                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 ) ; 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					                } ) ; 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					            } 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					        } ) ; 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    } ) ; 
 
					 
					 
					 
					    } ) ; 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					} ) ; 
 
					 
					 
					 
					} ) ;