2013-10-30 19:26:07 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								/* vim: set ts=2: */  
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								var  X ;  
						 
					
						
							
								
									
										
										
										
											2013-10-30 19:26:07 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								var  fs  =  require ( 'fs' ) ,  assert  =  require ( 'assert' ) ;  
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								describe ( 'source' , function ( ) { it ( 'should load' , function ( ) { X = require ( './' ) ; } ) ; } ) ;  
						 
					
						
							
								
									
										
										
										
											2014-02-15 05:08:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								var  opts  =  { } ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if ( process . env . WTF )  opts . WTF  =  true ;  
						 
					
						
							
								
									
										
										
										
											2014-01-28 16:38:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								var  ex  =  [ ".xlsb" ,  ".xlsm" ,  ".xlsx" ] ;  
						 
					
						
							
								
									
										
										
										
											2014-02-13 06:22:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if ( process . env . FMTS )  ex = process . env . FMTS . split ( ":" ) . map ( function ( x ) { return  x [ 0 ] === "." ? x : "." + x ; } ) ;  
						 
					
						
							
								
									
										
										
										
											2014-02-12 06:09:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								var  exp  =  ex . map ( function ( x ) {  return  x  +  ".pending" ;  } ) ;  
						 
					
						
							
								
									
										
										
										
											2014-01-28 16:38:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								function  test _file ( x ) { return  ex . indexOf ( x . substr ( - 5 ) ) >= 0 || exp . indexOf ( x . substr ( - 13 ) ) >= 0 ; }  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								var  files  =  ( fs . existsSync ( 'tests.lst' )  ?  fs . readFileSync ( 'tests.lst' ,  'utf-8' ) . split ( "\n" )  :  fs . readdirSync ( 'test_files' ) ) . filter ( test _file ) ;  
						 
					
						
							
								
									
										
										
										
											2014-04-03 22:51:54 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								var  fileA  =  ( fs . existsSync ( 'testA.lst' )  ?  fs . readFileSync ( 'testA.lst' ,  'utf-8' ) . split ( "\n" )  :  [ ] ) . filter ( test _file ) ;  
						 
					
						
							
								
									
										
										
										
											2013-10-30 19:26:07 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-01-23 06:20:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/* Excel enforces 31 character sheet limit, although technical file limit is 255 */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								function  fixsheetname ( x )  {  return  x . substr ( 0 , 31 ) ;  }  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-12-27 03:15:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								function  normalizecsv ( x )  {  return  x . replace ( /\t/g , "," ) . replace ( /#{255}/g , "" ) . replace ( /"/g , "" ) . replace ( /[\n\r]+/g , "\n" ) . replace ( /\n*$/ , "" ) ;  }  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-02-15 05:08:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								var  dir  =  "./test_files/" ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								var  paths  =  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									cp1 :   dir  +  'custom_properties.xlsx' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									cp2 :   dir  +  'custom_properties.xlsb' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									cst1 :  dir  +  'comments_stress_test.xlsx' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									cst2 :  dir  +  'comments_stress_test.xlsb' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									fst1 :  dir  +  'formula_stress_test.xlsx' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									fst2 :  dir  +  'formula_stress_test.xlsb' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									fstb :  dir  +  'formula_stress_test.xlsb' , 
							 
						 
					
						
							
								
									
										
										
										
											2014-04-15 09:04:03 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									hl1 :   dir  +  'hyperlink_stress_test_2011.xlsx' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									hl2 :   dir  +  'hyperlink_stress_test_2011.xlsb' , 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									lon1 :  dir  +  'LONumbers.xlsx' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									mc1 :   dir  +  'merge_cells.xlsx' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									mc2 :   dir  +  'merge_cells.xlsb' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									nf1 :   dir  +  'number_format.xlsm' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									nf2 :   dir  +  'number_format.xlsb' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									swc1 :  dir  +  'apachepoi_SimpleWithComments.xlsx' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									swc2 :  dir  +  '2013/apachepoi_SimpleWithComments.xlsx.xlsb' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								var  N1  =  'XLSX' ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								var  N2  =  'XLSB' ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-04-03 22:51:54 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								function  parsetest ( x ,  wb ,  full )  {  
						 
					
						
							
								
									
										
										
										
											2013-10-30 19:26:07 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									describe ( x  +  ' should have all bits' ,  function ( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-15 05:08:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										var  sname  =  dir  +  '2011/'  +  x  +  '.sheetnames' ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-10-30 19:26:07 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										it ( 'should have all sheets' ,  function ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											wb . SheetNames . forEach ( function ( y )  {  assert ( wb . Sheets [ y ] ,  'bad sheet '  +  y ) ;  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										it ( 'should have the right sheet names' ,  fs . existsSync ( sname )  ?  function ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											var  file  =  fs . readFileSync ( sname ,  'utf-8' ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-01-23 06:20:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											var  names  =  wb . SheetNames . map ( fixsheetname ) . join ( "\n" )  +  "\n" ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-12-27 03:15:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											assert . equal ( names ,  file ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-10-30 19:26:07 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										}  :  null ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-01-23 06:20:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									describe ( x  +  ' should generate CSV' ,  function ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										wb . SheetNames . forEach ( function ( ws ,  i )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											it ( '#'  +  i  +  ' ('  +  ws  +  ')' ,  function ( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												var  csv  =  X . utils . make _csv ( wb . Sheets [ ws ] ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-01-23 06:20:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-01-23 15:55:07 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									describe ( x  +  ' should generate JSON' ,  function ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										wb . SheetNames . forEach ( function ( ws ,  i )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											it ( '#'  +  i  +  ' ('  +  ws  +  ')' ,  function ( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												var  json  =  X . utils . sheet _to _row _object _array ( wb . Sheets [ ws ] ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-01-23 15:55:07 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									describe ( x  +  ' should generate formulae' ,  function ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										wb . SheetNames . forEach ( function ( ws ,  i )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											it ( '#'  +  i  +  ' ('  +  ws  +  ')' ,  function ( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												var  json  =  X . utils . get _formulae ( wb . Sheets [ ws ] ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-01-23 15:55:07 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-04-15 09:04:03 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									if ( ! full )  return ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-10-30 19:26:07 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									describe ( x  +  ' should generate correct output' ,  function ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										wb . SheetNames . forEach ( function ( ws ,  i )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-15 05:08:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											var  name  =  ( dir  +  x  +  '.'  +  i  +  '.csv' ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-22 21:36:28 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											if ( x . substr ( - 5 )  ===  ".xlsb" )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												root  =  x . slice ( 0 , - 5 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-26 19:30:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												if ( ! fs . existsSync ( name ) )  name = ( dir  +  root  +  '.xlsx.' + i + '.csv' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												if ( ! fs . existsSync ( name ) )  name = ( dir  +  root  +  '.xlsm.' + i + '.csv' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												if ( ! fs . existsSync ( name ) )  name = ( dir  +  root  +  '.xls.' + i + '.csv' ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-22 21:36:28 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
									
										
										
										
											2013-10-30 19:26:07 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											it ( '#'  +  i  +  ' ('  +  ws  +  ')' ,  fs . existsSync ( name )  ?  function ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												var  file  =  fs . readFileSync ( name ,  'utf-8' ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												var  csv  =  X . utils . make _csv ( wb . Sheets [ ws ] ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-12-27 03:15:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												assert . equal ( normalizecsv ( csv ) ,  normalizecsv ( file ) ,  "CSV badness" ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-10-30 19:26:07 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											}  :  null ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-17 08:44:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									if ( ! fs . existsSync ( dir  +  '2013/'  +  x  +  '.xlsb' ) )  return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									describe ( x  +  '.xlsb from 2013' ,  function ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										it ( 'should parse' ,  function ( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											var  wb  =  X . readFile ( dir  +  '2013/'  +  x  +  '.xlsb' ,  opts ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-17 08:44:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-10-30 19:26:07 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								describe ( 'should parse test files' ,  function ( )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									files . forEach ( function ( x )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										it ( x ,  x . substr ( - 8 )  ==  ".pending"  ?  null  :  function ( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											var  wb  =  X . readFile ( dir  +  x ,  opts ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-04-03 22:51:54 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											parsetest ( x ,  wb ,  true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-04-15 09:04:03 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									fileA . forEach ( function ( x )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-04-03 22:51:54 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										it ( x ,  x . substr ( - 8 )  ==  ".pending"  ?  null  :  function ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											var  wb  =  X . readFile ( dir  +  x ,  { WTF : opts . wtf ,  sheetRows : 10 } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											parsetest ( x ,  wb ,  false ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-10-30 19:26:07 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ) ;  
						 
					
						
							
								
									
										
										
										
											2014-01-15 07:26:00 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-02-12 06:09:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								describe ( 'options' ,  function ( )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									var  html _cell _types  =  [ 's' ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									before ( function ( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										X  =  require ( './' ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-12 06:09:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-15 05:08:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									describe ( 'cell' ,  function ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										it ( 'should generate HTML by default' ,  function ( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											var  wb  =  X . readFile ( paths . cst1 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-15 05:08:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											var  ws  =  wb . Sheets . Sheet1 ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-13 06:22:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											Object . keys ( ws ) . forEach ( function ( addr )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												if ( addr [ 0 ]  ===  "!"  ||  ! ws . hasOwnProperty ( addr ) )  return ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-15 05:08:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												assert ( html _cell _types . indexOf ( ws [ addr ] . t )  ===  - 1  ||  ws [ addr ] . h ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-13 06:22:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-15 05:08:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										it ( 'should not generate HTML when requested' ,  function ( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											var  wb  =  X . readFile ( paths . cst1 ,  { cellHTML : false } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-15 05:08:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											var  ws  =  wb . Sheets . Sheet1 ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-13 06:22:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											Object . keys ( ws ) . forEach ( function ( addr )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												if ( addr [ 0 ]  ===  "!"  ||  ! ws . hasOwnProperty ( addr ) )  return ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-15 05:08:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												assert ( typeof  ws [ addr ] . h  ===  'undefined' ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-13 06:22:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-15 05:08:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										it ( 'should generate formulae by default' ,  function ( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											var  wb  =  X . readFile ( paths . fstb ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-15 05:08:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											var  found  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											wb . SheetNames . forEach ( function ( s )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												var  ws  =  wb . Sheets [ s ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Object . keys ( ws ) . forEach ( function ( addr )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													if ( addr [ 0 ]  ===  "!"  ||  ! ws . hasOwnProperty ( addr ) )  return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													if ( typeof  ws [ addr ] . f  !==  'undefined' )  return  found  =  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												} ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-13 08:48:41 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											} ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-15 05:08:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											assert ( found ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-13 08:48:41 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-15 05:08:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										it ( 'should not generate formulae when requested' ,  function ( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											var  wb  = X . readFile ( paths . fstb , { cellFormula : false } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-15 05:08:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											wb . SheetNames . forEach ( function ( s )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												var  ws  =  wb . Sheets [ s ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Object . keys ( ws ) . forEach ( function ( addr )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													if ( addr [ 0 ]  ===  "!"  ||  ! ws . hasOwnProperty ( addr ) )  return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													assert ( typeof  ws [ addr ] . f  ===  'undefined' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										it ( 'should not generate number formats by default' ,  function ( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											var  wb  =  X . readFile ( paths . nf1 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-15 05:08:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											wb . SheetNames . forEach ( function ( s )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												var  ws  =  wb . Sheets [ s ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Object . keys ( ws ) . forEach ( function ( addr )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													if ( addr [ 0 ]  ===  "!"  ||  ! ws . hasOwnProperty ( addr ) )  return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													assert ( typeof  ws [ addr ] . z  ===  'undefined' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												} ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-13 08:48:41 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-15 05:08:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										it ( 'should generate number formats when requested' ,  function ( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											var  wb  =  X . readFile ( paths . nf1 ,  { cellNF :  true } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-15 05:08:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											wb . SheetNames . forEach ( function ( s )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												var  ws  =  wb . Sheets [ s ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Object . keys ( ws ) . forEach ( function ( addr )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													if ( addr [ 0 ]  ===  "!"  ||  ! ws . hasOwnProperty ( addr ) )  return ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-26 19:30:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
													assert ( ws [ addr ] . t !==  'n'  ||  typeof  ws [ addr ] . z  !==  'undefined' ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-15 05:08:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									describe ( 'sheet' ,  function ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										it ( 'should not generate sheet stubs by default' ,  function ( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											var  wb  =  X . readFile ( paths . mc1 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-15 05:08:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											assert . throws ( function ( )  {  wb . Sheets . Merge . A2 . v ;  } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											wb  =  X . readFile ( paths . mc2 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 02:05:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											assert . throws ( function ( )  {  wb . Sheets . Merge . A2 . v ;  } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-15 05:08:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										it ( 'should generate sheet stubs when requested' ,  function ( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											var  wb  =  X . readFile ( paths . mc1 ,  { sheetStubs : true } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert ( typeof  wb . Sheets . Merge . A2 . t  !==  'undefined' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											wb  =  X . readFile ( paths . mc2 ,  { sheetStubs : true } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-15 05:08:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											assert ( typeof  wb . Sheets . Merge . A2 . t  !==  'undefined' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 02:05:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										function  checkcells ( wb ,  A46 ,  B26 ,  C16 ,  D2 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert ( ( typeof  wb . Sheets . Text . A46  !==  'undefined' )  ==  A46 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert ( ( typeof  wb . Sheets . Text . B26  !==  'undefined' )  ==  B26 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert ( ( typeof  wb . Sheets . Text . C16  !==  'undefined' )  ==  C16 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert ( ( typeof  wb . Sheets . Text . D2   !==  'undefined' )  ==  D2 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-19 03:03:28 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										it ( 'should read all cells by default' ,  function ( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											var  wb  =  X . readFile ( paths . fst1 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 02:05:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											checkcells ( wb ,  true ,  true ,  true ,  true ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											wb  =  X . readFile ( paths . fst2 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 02:05:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											checkcells ( wb ,  true ,  true ,  true ,  true ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-19 03:03:28 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										it ( 'sheetRows n=20' ,  function ( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											var  wb  =  X . readFile ( paths . fst1 ,  { sheetRows : 20 } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 02:05:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											checkcells ( wb ,  false ,  false ,  true ,  true ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											wb  =  X . readFile ( paths . fst2 ,  { sheetRows : 20 } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 02:05:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											checkcells ( wb ,  false ,  false ,  true ,  true ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-19 03:03:28 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										it ( 'sheetRows n=10' ,  function ( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											var  wb  =  X . readFile ( paths . fst1 ,  { sheetRows : 10 } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 02:05:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											checkcells ( wb ,  false ,  false ,  false ,  true ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											wb  =  X . readFile ( paths . fst2 ,  { sheetRows : 10 } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 02:05:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											checkcells ( wb ,  false ,  false ,  false ,  true ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-19 03:03:28 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-13 08:48:41 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-14 06:25:46 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									describe ( 'book' ,  function ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										it ( 'bookSheets should not generate sheets' ,  function ( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											var  wb  =  X . readFile ( paths . mc1 ,  { bookSheets : true } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert ( typeof  wb . Sheets  ===  'undefined' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											var  wb  =  X . readFile ( paths . mc2 ,  { bookSheets : true } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-14 06:25:46 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											assert ( typeof  wb . Sheets  ===  'undefined' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										it ( 'bookProps should not generate sheets' ,  function ( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											var  wb  =  X . readFile ( paths . nf1 ,  { bookProps : true } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert ( typeof  wb . Sheets  ===  'undefined' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											wb  =  X . readFile ( paths . nf2 ,  { bookProps : true } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-14 06:25:46 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											assert ( typeof  wb . Sheets  ===  'undefined' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										it ( 'bookProps && bookSheets should not generate sheets' ,  function ( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											var  wb  =  X . readFile ( paths . lon1 ,  { bookProps : true ,  bookSheets : true } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-14 06:25:46 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											assert ( typeof  wb . Sheets  ===  'undefined' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-15 05:08:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										it ( 'should not generate deps by default' ,  function ( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											var  wb  =  X . readFile ( paths . fst1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert ( typeof  wb . Deps  ===  'undefined'  ||  ! ( wb . Deps . length > 0 ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											wb  =  X . readFile ( paths . fst2 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-17 08:44:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											assert ( typeof  wb . Deps  ===  'undefined'  ||  ! ( wb . Deps . length > 0 ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										it ( 'bookDeps should generate deps' ,  function ( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											var  wb  =  X . readFile ( paths . fst1 ,  { bookDeps : true } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert ( typeof  wb . Deps  !==  'undefined'  &&  wb . Deps . length  >  0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											wb  =  X . readFile ( paths . fst2 ,  { bookDeps : true } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-15 05:08:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											assert ( typeof  wb . Deps  !==  'undefined'  &&  wb . Deps . length  >  0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										var  ckf  =  function ( wb ,  fields ,  exists )  {  fields . forEach ( function ( f )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert ( ( typeof  wb [ f ]  !==  'undefined' )  ==  exists ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) ;  } ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										it ( 'should not generate book files by default' ,  function ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											var  wb  =  X . readFile ( paths . fst1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ckf ( wb ,  [ 'files' ,  'keys' ] ,  false ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											wb  =  X . readFile ( paths . fst2 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ckf ( wb ,  [ 'files' ,  'keys' ] ,  false ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										it ( 'bookFiles should generate book files' ,  function ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											var  wb  =  X . readFile ( paths . fst1 ,  { bookFiles : true } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ckf ( wb ,  [ 'files' ,  'keys' ] ,  true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											wb  =  X . readFile ( paths . fst2 ,  { bookFiles : true } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ckf ( wb ,  [ 'files' ,  'keys' ] ,  true ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-15 05:08:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-04-03 22:51:54 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										it ( 'should not generate VBA by default' ,  function ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											var  wb  =  X . readFile ( paths . nf1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert ( typeof  wb . vbaraw  ===  'undefined' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											wb  =  X . readFile ( paths . nf2 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert ( typeof  wb . vbaraw  ===  'undefined' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										it ( 'bookVBA should generate vbaraw' ,  function ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											var  wb  =  X . readFile ( paths . nf1 , { bookVBA : true } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert ( typeof  wb . vbaraw  !==  'undefined' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											wb  =  X . readFile ( paths . nf2 , { bookVBA : true } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert ( typeof  wb . vbaraw  !==  'undefined' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-14 06:25:46 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								describe ( 'input formats' ,  function ( )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									it ( 'should read binary strings' ,  function ( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										X . read ( fs . readFileSync ( paths . cst1 ,  'binary' ) ,  { type :  'binary' } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										X . read ( fs . readFileSync ( paths . cst2 ,  'binary' ) ,  { type :  'binary' } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-14 06:25:46 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									it ( 'should read base64 strings' ,  function ( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										X . read ( fs . readFileSync ( paths . cst1 ,  'base64' ) ,  { type :  'base64' } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										X . read ( fs . readFileSync ( paths . cst2 ,  'base64' ) ,  { type :  'base64' } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-14 06:25:46 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-12 06:09:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								} ) ;  
						 
					
						
							
								
									
										
										
										
											2014-02-14 03:39:03 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-02-15 05:08:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								describe ( 'features' ,  function ( )  {  
						 
					
						
							
								
									
										
										
										
											2014-03-29 02:05:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									it ( 'should have comment as part of cell properties' ,  function ( ) { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										var  X  =  require ( './' ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 02:05:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										var  sheet  =  'Sheet1' ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										var  wb1 = X . readFile ( paths . swc1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										var  wb2 = X . readFile ( paths . swc2 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 02:05:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										[ wb1 , wb2 ] . map ( function ( wb )  {  return  wb . Sheets [ sheet ] ;  } ) . forEach ( function ( ws ,  i )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-15 05:08:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											assert . equal ( ws . B1 . c . length ,  1 , "must have 1 comment" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert . equal ( ws . B1 . c [ 0 ] . a ,  "Yegor Kozlov" , "must have the same author" ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-04-23 01:37:08 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											assert . equal ( ws . B1 . c [ 0 ] . t . replace ( /\r\n/g , "\n" ) . replace ( /\r/g , "\n" ) ,  "Yegor Kozlov:\nfirst cell" ,  "must have the concatenated texts" ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											if ( i  >  0 )  return ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 02:05:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											assert . equal ( ws . B1 . c [ 0 ] . r ,  '<r><rPr><b/><sz val="8"/><color indexed="81"/><rFont val="Tahoma"/></rPr><t>Yegor Kozlov:</t></r><r><rPr><sz val="8"/><color indexed="81"/><rFont val="Tahoma"/></rPr><t xml:space="preserve">\r\nfirst cell</t></r>' ,  "must have the rich text representation" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert . equal ( ws . B1 . c [ 0 ] . h ,  '<span style="font-weight: bold;">Yegor Kozlov:</span><span style=""><br/>first cell</span>' ,  "must have the html representation" ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-15 05:08:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-14 03:39:03 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-15 03:15:10 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-02-19 03:03:28 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									describe ( 'should parse core properties and custom properties' ,  function ( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										var  wb1 ,  wb2 ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-15 05:08:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										before ( function ( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											X  =  require ( './' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											wb1  =  X . readFile ( paths . cp1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											wb2  =  X . readFile ( paths . cp2 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-15 05:08:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 02:05:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										function  coreprop ( wb )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-15 05:08:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											assert . equal ( wb . Props . Company ,  'Vector Inc' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert . equal ( wb . Props . Creator ,  'Pony Foo' ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 02:05:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										function  custprop ( wb )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-15 05:08:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											assert . equal ( wb . Custprops [ 'I am a boolean' ] ,  true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert . equal ( wb . Custprops [ 'Date completed' ] ,  '1967-03-09T16:30:00Z' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert . equal ( wb . Custprops . Status ,  2 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert . equal ( wb . Custprops . Counter ,  - 3.14 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 02:05:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										it ( N1  +  ' should parse core properties' ,  function ( )  {  coreprop ( wb1 ) ;  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										it ( N2  +  ' should parse core properties' ,  function ( )  {  coreprop ( wb2 ) ;  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										it ( N1  +  ' should parse custom properties' ,  function ( )  {  custprop ( wb1 ) ;  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										it ( N2  +  ' should parse custom properties' ,  function ( )  {  custprop ( wb2 ) ;  } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-15 03:15:10 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-19 03:03:28 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									describe ( 'sheetRows' ,  function ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										it ( 'should use original range if not set' ,  function ( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 02:05:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											var  opts  =  { } ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											var  wb1  =  X . readFile ( paths . fst1 ,  opts ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											var  wb2  =  X . readFile ( paths . fst2 ,  opts ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											[ wb1 ,  wb2 ] . forEach ( function ( wb )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 02:05:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												assert . equal ( wb . Sheets . Text [ "!ref" ] , "A1:F49" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-19 03:03:28 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										it ( 'should adjust range if set' ,  function ( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 02:05:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											var  opts  =  { sheetRows : 10 } ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											var  wb1  =  X . readFile ( paths . fst1 ,  opts ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											var  wb2  =  X . readFile ( paths . fst2 ,  opts ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											[ wb1 ,  wb2 ] . forEach ( function ( wb )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 02:05:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												assert . equal ( wb . Sheets . Text [ "!fullref" ] , "A1:F49" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												assert . equal ( wb . Sheets . Text [ "!ref" ] , "A1:F10" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-19 03:03:28 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										it ( 'should not generate comment cells' ,  function ( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 02:05:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											var  opts  =  { sheetRows : 10 } ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											var  wb1  =  X . readFile ( paths . cst1 ,  opts ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											var  wb2  =  X . readFile ( paths . cst2 ,  opts ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											[ wb1 ,  wb2 ] . forEach ( function ( wb )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 02:05:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												assert . equal ( wb . Sheets . Sheet7 [ "!fullref" ] , "A1:N34" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												assert . equal ( wb . Sheets . Sheet7 [ "!ref" ] , "A1:A1" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-19 03:03:28 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-23 21:30:00 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									describe ( 'merge cells' , function ( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										var  wb1 ,  wb2 ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-23 21:30:00 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										before ( function ( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											X  =  require ( './' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											wb1  =  X . readFile ( paths . mc1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											wb2  =  X . readFile ( paths . mc2 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-23 21:30:00 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										it ( 'should have !merges' ,  function ( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											assert ( wb1 . Sheets . Merge [ '!merges' ] ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert ( wb2 . Sheets . Merge [ '!merges' ] ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											var  m  =  [ wb1 ,  wb2 ] . map ( function ( x )  {  return  x . Sheets . Merge [ '!merges' ] . map ( function ( y )  {  return  X . utils . encode _range ( y ) ;  } ) ; } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-23 21:30:00 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											assert . deepEqual ( m [ 0 ] . sort ( ) , m [ 1 ] . sort ( ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-04-15 09:04:03 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									describe ( 'should find hyperlinks' ,  function ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										var  wb1 ,  wb2 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										before ( function ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											X  =  require ( './' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											wb1  =  X . readFile ( paths . hl1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											wb2  =  X . readFile ( paths . hl2 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										function  hlink ( wb )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											var  ws  =  wb . Sheets . Sheet1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert . equal ( ws . A1 . l . Target ,  "http://www.sheetjs.com" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert . equal ( ws . A2 . l . Target ,  "http://oss.sheetjs.com" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert . equal ( ws . A3 . l . Target ,  "http://oss.sheetjs.com#foo" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert . equal ( ws . A4 . l . Target ,  "mailto:dev@sheetjs.com" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert . equal ( ws . A5 . l . Target ,  "mailto:dev@sheetjs.com?subject=hyperlink" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert . equal ( ws . A6 . l . Target ,  "../../sheetjs/Documents/Test.xlsx" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert . equal ( ws . A7 . l . Target ,  "http://sheetjs.com" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										it ( N1 ,  function ( )  {  hlink ( wb1 ) ;  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										it ( N2 ,  function ( )  {  hlink ( wb2 ) ;  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									describe ( 'should parse cells with date type (XLSX/XLSM)' ,  function ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										var  wb ,  ws ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										before ( function ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											X  =  require ( './' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											wb  =  X . readFile ( dir + 'xlsx-stream-d-date-cell.xlsx' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											var  sheetName  =  'Sheet1' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ws  =  wb . Sheets [ sheetName ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										it ( 'Must have read the date' ,  function ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											var  sheet  =  X . utils . sheet _to _row _object _array ( ws ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert . equal ( sheet [ 3 ] [ 'てすと' ] ,  '2/14/14' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-02-15 03:15:10 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								} ) ;  
						 
					
						
							
								
									
										
										
										
											2014-03-29 02:05:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								describe ( 'invalid files' ,  function ( )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									it ( 'should fail on passwords' ,  function ( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										assert . throws ( function ( )  {  X . readFile ( dir  +  'excel-reader-xlsx_error03.xlsx' ) ;  } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 02:05:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									it ( 'should fail on XLS files' ,  function ( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										assert . throws ( function ( )  {  X . readFile ( dir  +  'roo_type_excel.xlsx' ) ;  } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 02:05:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									it ( 'should fail on ODS files' ,  function ( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										assert . throws ( function ( )  {  X . readFile ( dir  +  'roo_type_openoffice.xlsx' ) ; } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 02:05:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									it ( 'should fail on DOC files' ,  function ( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:53:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										assert . throws ( function ( )  {  X . readFile ( dir  +  'word_doc.doc' ) ; } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 02:05:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ) ;