You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					52 lines
				
				1.2 KiB
			
		
		
			
		
	
	
					52 lines
				
				1.2 KiB
			| 
								 
											4 years ago
										 
									 | 
							
								var assert = require('assert');
							 | 
						||
| 
								 | 
							
								var rgbRegex = require('..');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var rgbStrings = [
							 | 
						||
| 
								 | 
							
								  'rgb(12,34,56)',
							 | 
						||
| 
								 | 
							
								  'rgb(255, 255,      255)',
							 | 
						||
| 
								 | 
							
								  'rgb(1,   1,1)'
							 | 
						||
| 
								 | 
							
								];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var inexactRgbStrings = [
							 | 
						||
| 
								 | 
							
								  'rgb(,,)',
							 | 
						||
| 
								 | 
							
								  'rGb(12,34,56)',
							 | 
						||
| 
								 | 
							
								  'rgb(12, 34, 200) ',
							 | 
						||
| 
								 | 
							
								  '   rgb(12,34,56)',
							 | 
						||
| 
								 | 
							
								  'rgb(1,2,)'
							 | 
						||
| 
								 | 
							
								];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								describe('rgb-regex', function() {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  describe('exact: true', function() {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    it('should return a regex that matches exact rgb strings', function() {
							 | 
						||
| 
								 | 
							
								      rgbStrings.forEach(function(rgb) {
							 | 
						||
| 
								 | 
							
								        assert.ok(rgbRegex({ exact: true }).test(rgb));
							 | 
						||
| 
								 | 
							
								      });
							 | 
						||
| 
								 | 
							
								    });
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    it('should return a regex that does not match invalid rgb strings', function() {
							 | 
						||
| 
								 | 
							
								      inexactRgbStrings.forEach(function(invalidRgb) {
							 | 
						||
| 
								 | 
							
								        assert.ok(!rgbRegex({ exact: true }).test(invalidRgb));
							 | 
						||
| 
								 | 
							
								      });
							 | 
						||
| 
								 | 
							
								    });
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  describe('g', function() {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    it('should match rgb strings', function() {
							 | 
						||
| 
								 | 
							
								      assert.deepEqual(
							 | 
						||
| 
								 | 
							
								        rgbStrings.join('foobar').match(rgbRegex()),
							 | 
						||
| 
								 | 
							
								        rgbStrings
							 | 
						||
| 
								 | 
							
								      )
							 | 
						||
| 
								 | 
							
								    });
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    it('should not match non rgb strings', function() {
							 | 
						||
| 
								 | 
							
								      assert.deepEqual(
							 | 
						||
| 
								 | 
							
								        inexactRgbStrings.join('foobar').match(rgbRegex()),
							 | 
						||
| 
								 | 
							
								        ['rGb(12,34,56)', 'rgb(12, 34, 200)', 'rgb(12,34,56)']
							 | 
						||
| 
								 | 
							
								      );
							 | 
						||
| 
								 | 
							
								    });
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								});
							 |