2017-02-03 11:39:31 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								'use strict' ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-05-21 18:20:01 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								var  string  =  require ( 'string' ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								var  path  =  require ( 'path' ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								var  fs  =  require ( 'fs' ) ;  
						 
					
						
							
								
									
										
										
										
											2017-02-03 11:39:31 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								var  assert  =  require ( 'assert' ) ;  
						 
					
						
							
								
									
										
										
										
											2017-05-21 18:20:01 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								var  mkdirp  =  require ( 'mkdirp' ) ;  
						 
					
						
							
								
									
										
										
										
											2017-05-21 19:01:41 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								var  rimraf  =  require ( 'rimraf' ) ;  
						 
					
						
							
								
									
										
										
										
											2017-05-23 18:00:52 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								var  async  =  require ( 'async' ) ;  
						 
					
						
							
								
									
										
										
										
											2017-02-03 11:39:31 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								var  db  =  require ( './mocks/databasemock' ) ;  
						 
					
						
							
								
									
										
										
										
											2017-05-21 18:20:01 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								var  file  =  require ( '../src/file' ) ;  
						 
					
						
							
								
									
										
										
										
											2017-02-03 11:39:31 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-05-21 18:20:01 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								describe ( 'minifier' ,  function  ( )  {  
						 
					
						
							
								
									
										
										
										
											2017-05-18 01:32:20 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									before ( function  ( done )  { 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-21 18:20:01 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										mkdirp ( path . join ( _ _dirname ,  '../build/test' ) ,  done ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-18 01:32:20 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-05-21 18:20:01 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									var  minifier  =  require ( '../src/meta/minifier' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									var  scripts  =  [ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										path . resolve ( _ _dirname ,  './files/1.js' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										path . resolve ( _ _dirname ,  './files/2.js' ) , 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-25 01:33:04 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									] . map ( function  ( script )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											srcPath :  script , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											destPath :  path . resolve ( _ _dirname ,  '../build/test' ,  path . basename ( script ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											filename :  path . basename ( script ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-05-21 18:20:01 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									it ( '.js.bundle() should concat scripts' ,  function  ( done )  { 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-25 01:33:04 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										var  destPath  =  path . resolve ( _ _dirname ,  '../build/test/concatenated.js' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										minifier . js . bundle ( { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											files :  scripts , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											destPath :  destPath , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											filename :  'concatenated.js' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ,  false ,  false ,  function  ( err )  { 
							 
						 
					
						
							
								
									
										
										
										
											2017-02-03 11:39:31 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											assert . ifError ( err ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-25 01:33:04 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert ( file . existsSync ( destPath ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-05-21 18:20:01 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											assert . strictEqual ( 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-25 01:33:04 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												fs . readFileSync ( destPath ) . toString ( ) , 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-26 12:49:38 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												'(function (window, document) {'  + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												'\n\twindow.doStuff = function () {'  + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												'\n\t\tdocument.body.innerHTML = \'Stuff has been done\';'  + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												'\n\t};'  + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												'\n})(window, document);'  + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												'\n'  + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												'\n;function foo(name, age) {'  + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												'\n\treturn \'The person known as "\' + name + \'" is \' + age + \' years old\';'  + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												'\n}'  + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												'\n' 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-21 18:20:01 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											done ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									it ( '.js.bundle() should minify scripts' ,  function  ( done )  { 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-25 01:33:04 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										var  destPath  =  path . resolve ( _ _dirname ,  '../build/test/minified.js' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										minifier . js . bundle ( { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											files :  scripts , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											destPath :  destPath , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											filename :  'minified.js' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ,  true ,  false ,  function  ( err )  { 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-21 18:20:01 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											assert . ifError ( err ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-25 01:33:04 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert ( file . existsSync ( destPath ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-05-21 18:20:01 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											assert . strictEqual ( 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-25 01:33:04 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												fs . readFileSync ( destPath ) . toString ( ) , 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-25 11:37:58 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												'(function(n,o){n.doStuff=function(){o.body.innerHTML="Stuff has been done"}})(window,document);function foo(n,o){return\'The person known as "\'+n+\'" is \'+o+" years old"}'  + 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-25 01:33:04 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												'\n//# sourceMappingURL=minified.js.map' 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-21 18:20:01 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											done ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									it ( '.js.minifyBatch() should minify each script' ,  function  ( done )  { 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-25 01:33:04 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										minifier . js . minifyBatch ( scripts ,  false ,  function  ( err )  { 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-21 18:20:01 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											assert . ifError ( err ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-05-25 01:33:04 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											assert ( file . existsSync ( scripts [ 0 ] . destPath ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert ( file . existsSync ( scripts [ 1 ] . destPath ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-21 18:20:01 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-05-25 01:33:04 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											fs . readFile ( scripts [ 0 ] . destPath ,  function  ( err ,  buffer )  { 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-21 18:20:01 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												assert . ifError ( err ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												assert . strictEqual ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													buffer . toString ( ) , 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-25 11:37:58 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
													'(function(n,o){n.doStuff=function(){o.body.innerHTML="Stuff has been done"}})(window,document);'  + 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-25 01:33:04 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
													'\n//# sourceMappingURL=1.js.map' 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-21 18:20:01 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												done ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									var  styles  =  [ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'@import (inline) "./1.css";' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										'@import "./2.less";' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									] . join ( '\n' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									var  paths  =  [ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										path . resolve ( _ _dirname ,  './files' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									it ( '.css.bundle() should concat styles' ,  function  ( done )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										minifier . css . bundle ( styles ,  paths ,  false ,  false ,  function  ( err ,  bundle )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert . ifError ( err ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert . strictEqual ( bundle . code ,  '.help { margin: 10px; } .yellow { background: yellow; }\n.help {\n  display: block;\n}\n.help .blue {\n  background: blue;\n}\n' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											done ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									it ( '.css.bundle() should minify styles' ,  function  ( done )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										minifier . css . bundle ( styles ,  paths ,  true ,  false ,  function  ( err ,  bundle )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert . ifError ( err ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert . strictEqual ( bundle . code ,  '.help{margin:10px;display:block}.yellow{background:#ff0}.help .blue{background:#00f}' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											done ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ) ;  
						 
					
						
							
								
									
										
										
										
											2017-02-03 11:39:31 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-05-21 19:01:41 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								describe ( 'Build' ,  function  ( done )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									var  build  =  require ( '../src/meta/build' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									before ( function  ( done )  { 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-24 17:19:04 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										async . series ( [ 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-23 18:00:52 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											async . apply ( rimraf ,  path . join ( _ _dirname ,  '../build/public' ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											db . setupMockDefaults , 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-23 21:55:23 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											async . apply ( db . activatePlugin ,  'nodebb-plugin-markdown' ) , 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-23 18:00:52 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										] ,  done ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-21 19:01:41 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									it ( 'should build plugin static dirs' ,  function  ( done )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										build . build ( [ 'plugin static dirs' ] ,  function  ( err )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert . ifError ( err ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert ( file . existsSync ( path . join ( _ _dirname ,  '../build/public/plugins/nodebb-plugin-dbsearch/dbsearch' ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											done ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									it ( 'should build requirejs modules' ,  function  ( done )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										build . build ( [ 'requirejs modules' ] ,  function  ( err )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert . ifError ( err ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											var  filename  =  path . join ( _ _dirname ,  '../build/public/src/modules/Chart.js' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert ( file . existsSync ( filename ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert ( fs . readFileSync ( filename ) . toString ( ) . startsWith ( '/*!\n * Chart.js' ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											done ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									it ( 'should build client js bundle' ,  function  ( done )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										build . build ( [ 'client js bundle' ] ,  function  ( err )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert . ifError ( err ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											var  filename  =  path . join ( _ _dirname ,  '../build/public/nodebb.min.js' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert ( file . existsSync ( filename ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert ( fs . readFileSync ( filename ) . length  >  1000 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											done ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									it ( 'should build admin js bundle' ,  function  ( done )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										build . build ( [ 'admin js bundle' ] ,  function  ( err )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert . ifError ( err ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											var  filename  =  path . join ( _ _dirname ,  '../build/public/acp.min.js' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert ( file . existsSync ( filename ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert ( fs . readFileSync ( filename ) . length  >  1000 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											done ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									it ( 'should build client side styles' ,  function  ( done )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										build . build ( [ 'client side styles' ] ,  function  ( err )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert . ifError ( err ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											var  filename  =  path . join ( _ _dirname ,  '../build/public/stylesheet.css' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert ( file . existsSync ( filename ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert ( fs . readFileSync ( filename ) . toString ( ) . startsWith ( '/*! normalize.css' ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											done ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									it ( 'should build admin control panel styles' ,  function  ( done )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										build . build ( [ 'admin control panel styles' ] ,  function  ( err )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert . ifError ( err ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											var  filename  =  path . join ( _ _dirname ,  '../build/public/admin.css' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert ( file . existsSync ( filename ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert ( fs . readFileSync ( filename ) . toString ( ) . startsWith ( '@charset "UTF-8";' ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											done ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									it ( 'should build templates' ,  function  ( done )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										build . build ( [ 'templates' ] ,  function  ( err )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert . ifError ( err ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											var  filename  =  path . join ( _ _dirname ,  '../build/public/templates/admin/header.tpl' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert ( file . existsSync ( filename ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert ( fs . readFileSync ( filename ) . toString ( ) . startsWith ( '<!DOCTYPE html>' ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											done ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									it ( 'should build languages' ,  function  ( done )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										build . build ( [ 'languages' ] ,  function  ( err )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert . ifError ( err ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-23 21:55:23 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											var  globalFile  =  path . join ( _ _dirname ,  '../build/public/language/en-GB/global.json' ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-24 17:19:04 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											assert ( file . existsSync ( globalFile ) ,  'global.json exists' ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-23 21:55:23 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											var  global  =  fs . readFileSync ( globalFile ) . toString ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-24 17:19:04 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											assert . strictEqual ( JSON . parse ( global ) . home ,  'Home' ,  'global.json contains correct translations' ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-23 21:55:23 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											var  mdFile  =  path . join ( _ _dirname ,  '../build/public/language/en-GB/markdown.json' ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-24 17:19:04 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											assert ( file . existsSync ( mdFile ) ,  'markdown.json exists' ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-23 21:55:23 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											var  md  =  fs . readFileSync ( mdFile ) . toString ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-24 17:19:04 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											assert . strictEqual ( JSON . parse ( md ) . bold ,  'bolded text' ,  'markdown.json contains correct translations' ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-23 21:55:23 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-05-21 19:01:41 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											done ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									it ( 'should build sounds' ,  function  ( done )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										build . build ( [ 'sounds' ] ,  function  ( err )  { 
							 
						 
					
						
							
								
									
										
										
										
											2017-02-03 11:39:31 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											assert . ifError ( err ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-23 21:55:23 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											var  mapFile  =  path . join ( _ _dirname ,  '../build/public/sounds/fileMap.json' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert ( file . existsSync ( mapFile ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											var  fileMap  =  JSON . parse ( fs . readFileSync ( mapFile ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert . strictEqual ( fileMap [ 'Default | Deedle-dum' ] ,  'nodebb-plugin-soundpack-default/notification.mp3' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											var  deebleDumFile  =  path . join ( _ _dirname ,  '../build/public/sounds/nodebb-plugin-soundpack-default/notification.mp3' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											assert ( file . existsSync ( deebleDumFile ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-02-03 11:39:31 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											done ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-18 01:32:20 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									after ( function  ( done )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										db . emptydb ( done ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-02-03 11:39:31 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								} ) ;