| 
									
										
										
										
											2016-11-28 12:59:41 -07:00
										 |  |  | 'use strict'; | 
					
						
							| 
									
										
										
										
											2017-02-17 21:55:19 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-28 12:59:41 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | var assert = require('assert'); | 
					
						
							| 
									
										
										
										
											2016-12-05 17:55:04 -07:00
										 |  |  | var search = require('../src/admin/search'); | 
					
						
							| 
									
										
										
										
											2016-11-28 12:59:41 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | describe('admin search', function () { | 
					
						
							| 
									
										
										
										
											2017-02-18 02:38:03 -07:00
										 |  |  | 	describe('filterDirectories', function () { | 
					
						
							|  |  |  | 		it('should resolve all paths to relative paths', function (done) { | 
					
						
							|  |  |  | 			assert.deepEqual(search.filterDirectories([ | 
					
						
							|  |  |  | 				'hfjksfd/fdsgagag/admin/gdhgfsdg/sggag.tpl', | 
					
						
							|  |  |  | 			]), [ | 
					
						
							|  |  |  | 				'admin/gdhgfsdg/sggag', | 
					
						
							|  |  |  | 			]); | 
					
						
							|  |  |  | 			done(); | 
					
						
							|  |  |  | 		}); | 
					
						
							| 
									
										
										
										
											2017-09-23 12:51:20 -06:00
										 |  |  | 		it('should exclude .js files', function (done) { | 
					
						
							| 
									
										
										
										
											2017-08-24 17:26:50 -06:00
										 |  |  | 			assert.deepEqual(search.filterDirectories([ | 
					
						
							|  |  |  | 				'hfjksfd/fdsgagag/admin/gdhgfsdg/sggag.tpl', | 
					
						
							| 
									
										
										
										
											2017-09-23 12:51:20 -06:00
										 |  |  | 				'dfahdfsgf/admin/hgkfds/fdhsdfh.js', | 
					
						
							| 
									
										
										
										
											2017-08-24 17:26:50 -06:00
										 |  |  | 			]), [ | 
					
						
							|  |  |  | 				'admin/gdhgfsdg/sggag', | 
					
						
							|  |  |  | 			]); | 
					
						
							|  |  |  | 			done(); | 
					
						
							|  |  |  | 		}); | 
					
						
							| 
									
										
										
										
											2017-02-18 02:38:03 -07:00
										 |  |  | 		it('should exclude partials', function (done) { | 
					
						
							|  |  |  | 			assert.deepEqual(search.filterDirectories([ | 
					
						
							|  |  |  | 				'hfjksfd/fdsgagag/admin/gdhgfsdg/sggag.tpl', | 
					
						
							|  |  |  | 				'dfahdfsgf/admin/partials/hgkfds/fdhsdfh.tpl', | 
					
						
							|  |  |  | 			]), [ | 
					
						
							|  |  |  | 				'admin/gdhgfsdg/sggag', | 
					
						
							|  |  |  | 			]); | 
					
						
							|  |  |  | 			done(); | 
					
						
							|  |  |  | 		}); | 
					
						
							|  |  |  | 		it('should exclude files in the admin directory', function (done) { | 
					
						
							|  |  |  | 			assert.deepEqual(search.filterDirectories([ | 
					
						
							|  |  |  | 				'hfjksfd/fdsgagag/admin/gdhgfsdg/sggag.tpl', | 
					
						
							|  |  |  | 				'dfdasg/admin/hjkdfsk.tpl', | 
					
						
							|  |  |  | 			]), [ | 
					
						
							|  |  |  | 				'admin/gdhgfsdg/sggag', | 
					
						
							|  |  |  | 			]); | 
					
						
							|  |  |  | 			done(); | 
					
						
							|  |  |  | 		}); | 
					
						
							|  |  |  | 	}); | 
					
						
							| 
									
										
										
										
											2016-11-28 12:59:41 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-02-18 02:38:03 -07:00
										 |  |  | 	describe('sanitize', function () { | 
					
						
							|  |  |  | 		it('should strip out scripts', function (done) { | 
					
						
							|  |  |  | 			assert.equal( | 
					
						
							| 
									
										
										
										
											2018-11-28 20:29:43 -07:00
										 |  |  | 				search.sanitize('Pellentesque tristique senectus' + | 
					
						
							|  |  |  | 					'<script>alert("nope");</script> habitant morbi'), | 
					
						
							|  |  |  | 				'Pellentesque tristique senectus' + | 
					
						
							|  |  |  | 					' habitant morbi' | 
					
						
							| 
									
										
										
										
											2017-10-01 16:19:10 -06:00
										 |  |  | 			); | 
					
						
							| 
									
										
										
										
											2017-02-18 02:38:03 -07:00
										 |  |  | 			done(); | 
					
						
							|  |  |  | 		}); | 
					
						
							|  |  |  | 		it('should remove all tags', function (done) { | 
					
						
							|  |  |  | 			assert.equal( | 
					
						
							| 
									
										
										
										
											2018-11-28 20:29:43 -07:00
										 |  |  | 				search.sanitize('<p>Pellentesque <b>habitant morbi</b> tristique senectus' + | 
					
						
							|  |  |  | 					'Aenean <i>vitae</i> est.Mauris <a href="placerat">eleifend</a> leo.</p>'), | 
					
						
							|  |  |  | 				'Pellentesque habitant morbi tristique senectus' + | 
					
						
							|  |  |  | 					'Aenean vitae est.Mauris eleifend leo.' | 
					
						
							| 
									
										
										
										
											2017-10-01 16:19:10 -06:00
										 |  |  | 			); | 
					
						
							| 
									
										
										
										
											2017-02-18 02:38:03 -07:00
										 |  |  | 			done(); | 
					
						
							|  |  |  | 		}); | 
					
						
							|  |  |  | 	}); | 
					
						
							| 
									
										
										
										
											2016-11-28 12:59:41 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-02-18 02:38:03 -07:00
										 |  |  | 	describe('simplify', function () { | 
					
						
							|  |  |  | 		it('should remove all mustaches', function (done) { | 
					
						
							|  |  |  | 			assert.equal( | 
					
						
							| 
									
										
										
										
											2018-11-28 20:29:43 -07:00
										 |  |  | 				search.simplify('Pellentesque tristique {{senectus}}habitant morbi' + | 
					
						
							|  |  |  | 					'liquam tincidunt {mauris.eu}risus'), | 
					
						
							|  |  |  | 				'Pellentesque tristique habitant morbi' + | 
					
						
							|  |  |  | 					'liquam tincidunt risus' | 
					
						
							| 
									
										
										
										
											2017-10-01 16:19:10 -06:00
										 |  |  | 			); | 
					
						
							| 
									
										
										
										
											2017-02-18 02:38:03 -07:00
										 |  |  | 			done(); | 
					
						
							|  |  |  | 		}); | 
					
						
							|  |  |  | 		it('should collapse all whitespace', function (done) { | 
					
						
							|  |  |  | 			assert.equal( | 
					
						
							| 
									
										
										
										
											2018-11-28 20:29:43 -07:00
										 |  |  | 				search.simplify('Pellentesque tristique   habitant morbi' + | 
					
						
							|  |  |  | 					'  \n\n    liquam tincidunt mauris eu risus.'), | 
					
						
							|  |  |  | 				'Pellentesque tristique habitant morbi' + | 
					
						
							|  |  |  | 					'\nliquam tincidunt mauris eu risus.' | 
					
						
							| 
									
										
										
										
											2017-10-01 16:19:10 -06:00
										 |  |  | 			); | 
					
						
							| 
									
										
										
										
											2017-02-18 02:38:03 -07:00
										 |  |  | 			done(); | 
					
						
							|  |  |  | 		}); | 
					
						
							|  |  |  | 	}); | 
					
						
							| 
									
										
										
										
											2017-02-18 02:30:48 -07:00
										 |  |  | }); |