fix data url regexp
This commit is contained in:
@@ -53,7 +53,7 @@ function extractOrigin(url: string): string {
|
|||||||
|
|
||||||
const URL_IN_CSS_REF = /url\((?:'([^']*)'|"([^"]*)"|([^)]*))\)/gm;
|
const URL_IN_CSS_REF = /url\((?:'([^']*)'|"([^"]*)"|([^)]*))\)/gm;
|
||||||
const RELATIVE_PATH = /^(?!www\.|(?:http|ftp)s?:\/\/|[A-Za-z]:\\|\/\/).*/;
|
const RELATIVE_PATH = /^(?!www\.|(?:http|ftp)s?:\/\/|[A-Za-z]:\\|\/\/).*/;
|
||||||
const DATA_URI = /^(data:)([\w\/\+]+);(charset=[\w-]+|base64).*,(.*)/gi;
|
const DATA_URI = /^(data:)([\w\/\+\-]+);(charset=[\w-]+|base64).*,(.*)/i;
|
||||||
export function absoluteToStylesheet(cssText: string, href: string): string {
|
export function absoluteToStylesheet(cssText: string, href: string): string {
|
||||||
return cssText.replace(URL_IN_CSS_REF, (origin, path1, path2, path3) => {
|
return cssText.replace(URL_IN_CSS_REF, (origin, path1, path2, path3) => {
|
||||||
const filePath = path1 || path2 || path3;
|
const filePath = path1 || path2 || path3;
|
||||||
|
|||||||
@@ -63,6 +63,12 @@ describe('absolute url to stylesheet', () => {
|
|||||||
expect(
|
expect(
|
||||||
absoluteToStylesheet('url(data:image/gif;base64,ABC)', href),
|
absoluteToStylesheet('url(data:image/gif;base64,ABC)', href),
|
||||||
).to.equal('url(data:image/gif;base64,ABC)');
|
).to.equal('url(data:image/gif;base64,ABC)');
|
||||||
|
expect(
|
||||||
|
absoluteToStylesheet(
|
||||||
|
'url(data:application/font-woff;base64,d09GMgABAAAAAAm)',
|
||||||
|
href,
|
||||||
|
),
|
||||||
|
).to.equal('url(data:application/font-woff;base64,d09GMgABAAAAAAm)');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('can handle empty path', () => {
|
it('can handle empty path', () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user