Fix domain lock to be case-insensitive by normalizing domain values to lowercase (#1400)

This commit is contained in:
Timofey Kachalov
2026-03-22 16:43:41 +04:00
committed by GitHub
parent fb74744555
commit 459fb31c12
4 changed files with 46 additions and 1 deletions
@@ -0,0 +1 @@
var result = 42;
@@ -0,0 +1,43 @@
import { assert } from 'chai';
import { DomainLockRule } from '../../../src/options/normalizer-rules/DomainLockRule';
import { IOptions } from '../../../src/interfaces/options/IOptions';
//
// https://github.com/javascript-obfuscator/javascript-obfuscator/issues/1182
//
describe('Issue #1182', () => {
describe('domainLock should be case-insensitive', () => {
it('should normalize mixed-case domain to lowercase', () => {
const options = DomainLockRule({
domainLock: ['Example.COM']
} as IOptions);
assert.deepEqual(options.domainLock, ['example.com']);
});
it('should normalize domain with subdomain to lowercase', () => {
const options = DomainLockRule({
domainLock: ['.Example.COM']
} as IOptions);
assert.deepEqual(options.domainLock, ['.example.com']);
});
it('should normalize multiple mixed-case domains', () => {
const options = DomainLockRule({
domainLock: ['Foo.Bar.COM', 'EXAMPLE.ORG']
} as IOptions);
assert.deepEqual(options.domainLock, ['foo.bar.com', 'example.org']);
});
it('should not change already-lowercase domains', () => {
const options = DomainLockRule({
domainLock: ['example.com']
} as IOptions);
assert.deepEqual(options.domainLock, ['example.com']);
});
});
});