35 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			35 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | var factory = require('./truncateCode'); | ||
|  | 
 | ||
|  | describe('truncateCode filter', function() { | ||
|  |   var filter; | ||
|  | 
 | ||
|  |   beforeEach(function() { filter = factory(); }); | ||
|  | 
 | ||
|  |   it('should be called "truncateCode"', | ||
|  |      function() { expect(filter.name).toEqual('truncateCode'); }); | ||
|  | 
 | ||
|  |   it('should return the whole string given lines is undefined', function() { | ||
|  |     expect(filter.process('some text\n  \nmore text\n  \n')) | ||
|  |       .toEqual('some text\n  \nmore text\n  \n'); | ||
|  |   }); | ||
|  | 
 | ||
|  |   it('should return the whole string if less than the given number of lines', function() { | ||
|  |     expect(filter.process('this is a pretty long string that only exists on one line', 1)) | ||
|  |       .toEqual('this is a pretty long string that only exists on one line'); | ||
|  | 
 | ||
|  |     expect(filter.process('this is a pretty long string\nthat exists on two lines', 2)) | ||
|  |       .toEqual('this is a pretty long string\nthat exists on two lines'); | ||
|  |   }); | ||
|  | 
 | ||
|  |   it('should return the specified number of lines and an ellipsis if there are more lines', function() { | ||
|  |     expect(filter.process('some text\n  \nmore text\n  \n', 1)).toEqual('some text...'); | ||
|  |   }); | ||
|  | 
 | ||
|  |   it('should add closing brackets for all the unclosed opening brackets after truncating', function() { | ||
|  |     expect(filter.process('()[]{}\nsecond line', 1)).toEqual('()[]{}...'); | ||
|  |     expect(filter.process('([]{}\nsecond line', 1)).toEqual('([]{}...)'); | ||
|  |     expect(filter.process('()[{}\nsecond line', 1)).toEqual('()[{}...]'); | ||
|  |     expect(filter.process('()[]{\nsecond line', 1)).toEqual('()[]{...}'); | ||
|  |     expect(filter.process('([{\nsecond line', 1)).toEqual('([{...}])'); | ||
|  |   }); | ||
|  | }); |