From 9d6d5ce121032a87542f04966c1cd77cd59ef60e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotrek=20Koszuli=C5=84ski?= Date: Thu, 8 Mar 2018 16:54:47 +0100 Subject: [PATCH] Made ComponentFactory.names() return original componenent name. --- src/componentfactory.js | 8 +++++--- tests/componentfactory.js | 8 +++++++- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/componentfactory.js b/src/componentfactory.js index 7b98ec30..41cf245b 100644 --- a/src/componentfactory.js +++ b/src/componentfactory.js @@ -62,7 +62,9 @@ export default class ComponentFactory { * @returns {Iterable.} */ * names() { - yield* this._components.keys(); + for ( const value of this._components.values() ) { + yield value.originalName; + } } /** @@ -87,7 +89,7 @@ export default class ComponentFactory { ); } - this._components.set( getNormalized( name ), callback ); + this._components.set( getNormalized( name ), { callback, originalName: name } ); } /** @@ -115,7 +117,7 @@ export default class ComponentFactory { ); } - return this._components.get( getNormalized( name ) )( this.editor.locale ); + return this._components.get( getNormalized( name ) ).callback( this.editor.locale ); } /** diff --git a/tests/componentfactory.js b/tests/componentfactory.js index 61c412ef..0340672f 100644 --- a/tests/componentfactory.js +++ b/tests/componentfactory.js @@ -33,7 +33,7 @@ describe( 'ComponentFactory', () => { factory.add( 'bar', () => {} ); factory.add( 'Baz', () => {} ); - expect( Array.from( factory.names() ) ).to.have.members( [ 'foo', 'bar', 'baz' ] ); + expect( Array.from( factory.names() ) ).to.have.members( [ 'foo', 'bar', 'Baz' ] ); } ); } ); @@ -53,6 +53,12 @@ describe( 'ComponentFactory', () => { factory.add( 'foo', () => {} ); } ).to.throw( CKEditorError, /^componentfactory-item-exists/ ); } ); + + it( 'does not normalize component names', () => { + factory.add( 'FoO', () => {} ); + + expect( Array.from( factory.names() ) ).to.have.members( [ 'FoO' ] ); + } ); } ); describe( 'create()', () => {