openreplay/frontend/tests/unit/urlResolve.test.ts
Andrey Babushkin 09c98b5bde
E2e tests frontend (#3471)
* add playwright

* add e2e test

* add test

* add e2e test

* add e2e tests
2025-06-03 12:09:10 +02:00

38 lines
1.6 KiB
TypeScript

import { test, describe, expect } from '@jest/globals';
import { resolveCSS } from '../../app/player/web/messages/rewriter/urlResolve';
const strings = [
`@import "custom.css";`,
`@import url("chrome://communicator/skin/");`,
`@import '../../app/custom.css';`,
`@import "styles/common.css";`,
`@import "/css/commonheader.css";`,
`@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;700;900&display=swap');`,
`@import '../css/onboardcustom.css';
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;700;900&display=swap');
#login-required {
color: #fff;
};`,
`@import url("style.css") screen and (max-width: 600px);`,
];
const testStrings = [
`@import url("https://example.com/custom.css");`,
`@import url("chrome://communicator/skin/");`,
`@import url('https://example.com/app/custom.css');`,
`@import url("https://example.com/styles/common.css");`,
`@import url("https://example.com/css/commonheader.css");`,
`@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;700;900&display=swap');`,
`@import url('https://example.com/css/onboardcustom.css');
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;700;900&display=swap');
#login-required {
color: #fff;
};`,
`@import url("https://example.com/style.css") screen and (max-width: 600px);`,
];
describe('resolveCSS', () => {
test('should rewrite the CSS with the correct URLs', () => {
strings.forEach((string, i) => {
expect(resolveCSS('https://example.com', string)).toBe(testStrings[i]);
});
});
});