32 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			32 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								var assert = require('assert');
							 | 
						||
| 
								 | 
							
								var wordwrap = require('wordwrap');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var fs = require('fs');
							 | 
						||
| 
								 | 
							
								var idleness = fs.readFileSync(__dirname + '/idleness.txt', 'utf8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								exports.stop80 = function () {
							 | 
						||
| 
								 | 
							
								    var lines = wordwrap(80)(idleness).split(/\n/);
							 | 
						||
| 
								 | 
							
								    var words = idleness.split(/\s+/);
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								    lines.forEach(function (line) {
							 | 
						||
| 
								 | 
							
								        assert.ok(line.length <= 80, 'line > 80 columns');
							 | 
						||
| 
								 | 
							
								        var chunks = line.match(/\S/) ? line.split(/\s+/) : [];
							 | 
						||
| 
								 | 
							
								        assert.deepEqual(chunks, words.splice(0, chunks.length));
							 | 
						||
| 
								 | 
							
								    });
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								exports.start20stop60 = function () {
							 | 
						||
| 
								 | 
							
								    var lines = wordwrap(20, 100)(idleness).split(/\n/);
							 | 
						||
| 
								 | 
							
								    var words = idleness.split(/\s+/);
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								    lines.forEach(function (line) {
							 | 
						||
| 
								 | 
							
								        assert.ok(line.length <= 100, 'line > 100 columns');
							 | 
						||
| 
								 | 
							
								        var chunks = line
							 | 
						||
| 
								 | 
							
								            .split(/\s+/)
							 | 
						||
| 
								 | 
							
								            .filter(function (x) { return x.match(/\S/) })
							 | 
						||
| 
								 | 
							
								        ;
							 | 
						||
| 
								 | 
							
								        assert.deepEqual(chunks, words.splice(0, chunks.length));
							 | 
						||
| 
								 | 
							
								        assert.deepEqual(line.slice(0, 20), new Array(20 + 1).join(' '));
							 | 
						||
| 
								 | 
							
								    });
							 | 
						||
| 
								 | 
							
								};
							 |