mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2026-03-13 10:22:08 +08:00
feat(all): add ability to eject from Ionic sanitizer (#20457)
resolves #18277
This commit is contained in:
@@ -1,6 +1,16 @@
|
||||
import { sanitizeDOMString } from "..";
|
||||
import { IonicSafeString, sanitizeDOMString } from "..";
|
||||
|
||||
describe('sanitizeDOMString', () => {
|
||||
it('disable sanitizer', () => {
|
||||
enableSanitizer(false);
|
||||
expect(sanitizeDOMString('<img src="x" onerror="alert(document.cookie);">'))
|
||||
.toEqual('<img src="x" onerror="alert(document.cookie);">');
|
||||
})
|
||||
|
||||
it('bypass sanitizer', () => {
|
||||
expect(sanitizeDOMString(new IonicSafeString('<img src="x" onerror="alert(document.cookie);">')))
|
||||
.toEqual('<img src="x" onerror="alert(document.cookie);">');
|
||||
});
|
||||
|
||||
it('filter onerror', () => {
|
||||
expect(sanitizeDOMString('<img src="x" onerror="alert(document.cookie);">'))
|
||||
@@ -41,4 +51,10 @@ describe('sanitizeDOMString', () => {
|
||||
expect(sanitizeDOMString('<ion-item><ion-label>Hello!</ion-label><ion-button onclick="alert(document.cookie);">Click me</ion-button>'))
|
||||
.toEqual('<ion-item><ion-label>Hello!</ion-label><ion-button>Click me</ion-button></ion-item>');
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
const enableSanitizer = (enable: boolean = true) => {
|
||||
window.Ionic = {};
|
||||
window.Ionic.config = {};
|
||||
window.Ionic.config.sanitizerEnabled = enable;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user