52 lines
1.2 KiB
JavaScript
52 lines
1.2 KiB
JavaScript
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)']
|
|
);
|
|
});
|
|
});
|
|
});
|