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