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

4 years ago
var assert = require('assert');
var rgbaRegex = require('..');
var rgbaStrings = [
'rgba(12,34,56, 1)',
'rgba(255, 255, 255, .9)',
'rgba(1, 1,1, 0.2)'
];
var inexactRgbaStrings = [
'rgba(,,,)',
'rGba(12,34,56,1)',
'rgba(12, 34, 200,1) ',
' rgba(12,34,56,1)',
'rgba(1,2,,)'
];
describe('rgba-regex', function() {
describe('exact: true', function() {
it('should return a regex that matches exact rgba strings', function() {
rgbaStrings.forEach(function(rgba) {
assert.ok(rgbaRegex({ exact: true }).test(rgba));
});
});
it('should return a regex that does not match invalid rgba strings', function() {
inexactRgbaStrings.forEach(function(invalidRgba) {
assert.ok(!rgbaRegex({ exact: true }).test(invalidRgba));
});
});
});
describe('g', function() {
it('should match rgba strings', function() {
assert.deepEqual(
rgbaStrings.join('foobar').match(rgbaRegex()),
rgbaStrings
)
});
it('should not match non rgba strings', function() {
assert.deepEqual(
inexactRgbaStrings.join('foobar').match(rgbaRegex()),
['rGba(12,34,56,1)', 'rgba(12, 34, 200,1)', 'rgba(12,34,56,1)']
);
});
});
});