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('([{...}])');
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								});
							 |