diff --git a/src/selector_manager/index.js b/src/selector_manager/index.js index 8dee87338..91ce882a4 100644 --- a/src/selector_manager/index.js +++ b/src/selector_manager/index.js @@ -271,16 +271,17 @@ export default () => { }, /** - * Get the selector by its name - * @param {String|Array} name Selector name - * @param {String} type Selector type - * @return {Model|Array} + * Get the selector by its name/type + * @param {String} name Selector name + * @param {Number} [type=1] Selector type, default is class + * @return {[Selector]|null} * @example - * const selector = selectorManager.get('selectorName'); - * // or get an array - * const selectors = selectorManager.get(['class1', 'class2']); + * const selector = selectorManager.get('my-class'); + * // Get Id + * const selectorId = selectorManager.get('my-id', 2); * */ get(name, type) { + // Keep support for arrays but avoid it in docs if (isArray(name)) { const result = []; const selectors = name @@ -291,7 +292,7 @@ export default () => { ); return result; } else { - return this.getSelector(name, type); + return this.getSelector(name, type) || null; } }, diff --git a/test/specs/selector_manager/index.js b/test/specs/selector_manager/index.js index 86c92c832..45439fbf5 100644 --- a/test/specs/selector_manager/index.js +++ b/test/specs/selector_manager/index.js @@ -140,7 +140,15 @@ describe('SelectorManager', () => { }); test('Get empty class', () => { - expect(obj.get('test')).toEqual(undefined); + expect(obj.get('test')).toEqual(null); + }); + + test('Get id selector', () => { + const name = 'my-id'; + const type = Selector.TYPE_ID; + const added = obj.add({ name, type }); + expect(obj.get(name)).toEqual(null); + expect(obj.get(name, type)).toBe(added); }); test('addClass single class string', () => {