Browse Source

Add `@` to `Selector.escapeName`. Closes #4865

pull/4877/head
Artur Arseniev 3 years ago
parent
commit
437dcae4ea
  1. 2
      src/selector_manager/model/Selector.ts
  2. 20
      test/specs/selector_manager/model/SelectorModels.ts

2
src/selector_manager/model/Selector.ts

@ -179,7 +179,7 @@ export default class Selector extends Model {
* @private * @private
*/ */
static escapeName(name: string) { static escapeName(name: string) {
return `${name}`.trim().replace(/([^a-z0-9\w-\:]+)/gi, '-'); return `${name}`.trim().replace(/([^a-z0-9\w-\:@]+)/gi, '-');
} }
} }

20
test/specs/selector_manager/model/SelectorModels.js → test/specs/selector_manager/model/SelectorModels.ts

@ -1,15 +1,13 @@
import Selector from 'selector_manager/model/Selector'; import Selector from '../../../../src/selector_manager/model/Selector';
import Selectors from 'selector_manager/model/Selectors'; import Selectors from '../../../../src/selector_manager/model/Selectors';
describe('Selector', () => { describe('Selector', () => {
var obj; let obj: Selector;
const nameToEscape = '@Te s:T*';
const nameEscaped = '@Te-s:T-';
beforeEach(() => { beforeEach(() => {
obj = new Selector(); obj = new Selector({});
});
afterEach(() => {
obj = null;
}); });
test('Has name property', () => { test('Has name property', () => {
@ -25,12 +23,12 @@ describe('Selector', () => {
}); });
test('escapeName test', () => { test('escapeName test', () => {
expect(Selector.escapeName('@Te sT*')).toEqual('-Te-sT-'); expect(Selector.escapeName(nameToEscape)).toEqual(nameEscaped);
}); });
test('Name is corrected at instantiation', () => { test('Name is corrected at instantiation', () => {
obj = new Selector({ name: '@Te sT*' }); obj = new Selector({ name: nameToEscape });
expect(obj.get('name')).toEqual('-Te-sT-'); expect(obj.get('name')).toEqual(nameEscaped);
}); });
}); });
Loading…
Cancel
Save