Testing SVG URL Parsing Implementation in Parcel Bundler
This test suite validates the parseFuncIRI function’s ability to handle URL parsing in SVG transformations within Parcel bundler. It focuses on testing both quoted and unquoted URL formats, ensuring robust handling of various edge cases and special characters.
Test Coverage Overview
Implementation Analysis
Technical Details
Best Practices Demonstrated
parcel-bundler/parcel
packages/transformers/svg/test/parseFuncIRI.test.js
import {parseFuncIRI} from '../src/dependencies';
import assert from 'assert';
describe('parseFuncIRI', () => {
it('should parse unquoted url()', () => {
assert.deepEqual(parseFuncIRI('url(test)'), ['test', '']);
assert.deepEqual(parseFuncIRI('url(test hi)'), null);
assert.deepEqual(parseFuncIRI('url(test"hi)'), null);
assert.deepEqual(parseFuncIRI('url(test\\ hi)'), ['test hi', '']);
assert.deepEqual(parseFuncIRI('url(test\\"hi)'), ['test"hi', '']);
assert.deepEqual(parseFuncIRI('url(test\nhi)'), null);
assert.deepEqual(parseFuncIRI('url(test\\\nhi)'), ['test\nhi', '']);
});
it('should parse quoted url()', () => {
assert.deepEqual(parseFuncIRI('url("test")'), ['test', '']);
assert.deepEqual(parseFuncIRI("url('test')"), ['test', '']);
assert.deepEqual(parseFuncIRI('url(\'test")'), null);
assert.deepEqual(parseFuncIRI('url("test\')'), null);
assert.deepEqual(parseFuncIRI('url("test)'), null);
assert.deepEqual(parseFuncIRI('url("test" hi)'), ['test', ' hi']);
assert.deepEqual(parseFuncIRI('url("te\\"st" hi)'), ['te"st', ' hi']);
});
});