diff --git a/src/selector_manager/model/Selector.ts b/src/selector_manager/model/Selector.ts index 4f4fe36fc..aefea687b 100644 --- a/src/selector_manager/model/Selector.ts +++ b/src/selector_manager/model/Selector.ts @@ -179,7 +179,7 @@ export default class Selector extends Model { * @private */ static escapeName(name: string) { - return `${name}`.trim().replace(/([^a-z0-9\w-\:]+)/gi, '-'); + return `${name}`.trim().replace(/([^a-z0-9\w-\:@]+)/gi, '-'); } } diff --git a/test/specs/selector_manager/model/SelectorModels.js b/test/specs/selector_manager/model/SelectorModels.ts similarity index 84% rename from test/specs/selector_manager/model/SelectorModels.js rename to test/specs/selector_manager/model/SelectorModels.ts index b81f29979..829b59bcd 100644 --- a/test/specs/selector_manager/model/SelectorModels.js +++ b/test/specs/selector_manager/model/SelectorModels.ts @@ -1,15 +1,13 @@ -import Selector from 'selector_manager/model/Selector'; -import Selectors from 'selector_manager/model/Selectors'; +import Selector from '../../../../src/selector_manager/model/Selector'; +import Selectors from '../../../../src/selector_manager/model/Selectors'; describe('Selector', () => { - var obj; + let obj: Selector; + const nameToEscape = '@Te s:T*'; + const nameEscaped = '@Te-s:T-'; beforeEach(() => { - obj = new Selector(); - }); - - afterEach(() => { - obj = null; + obj = new Selector({}); }); test('Has name property', () => { @@ -25,12 +23,12 @@ describe('Selector', () => { }); test('escapeName test', () => { - expect(Selector.escapeName('@Te sT*')).toEqual('-Te-sT-'); + expect(Selector.escapeName(nameToEscape)).toEqual(nameEscaped); }); test('Name is corrected at instantiation', () => { - obj = new Selector({ name: '@Te sT*' }); - expect(obj.get('name')).toEqual('-Te-sT-'); + obj = new Selector({ name: nameToEscape }); + expect(obj.get('name')).toEqual(nameEscaped); }); });