Переглянути джерело

The `load()` method now sets the `path` property of loaded plugins.

fredck 10 роки тому
батько
коміт
33eccef9d4

+ 1 - 0
packages/ckeditor5-engine/src/plugincollection.js

@@ -61,6 +61,7 @@ CKEDITOR.define( [ 'mvc/collection', 'promise' ], function( Collection, Promise
 						function( LoadedPlugin ) {
 							var loadedPlugin = new LoadedPlugin( that._editor );
 							loadedPlugin.name = plugin;
+							loadedPlugin.path = CKEDITOR.getPluginPath( plugin );
 							loadedPlugin.deps = getPluginDeps( plugin );
 
 							loading[ plugin ] = true;

+ 26 - 0
packages/ckeditor5-engine/tests/plugincollection/plugincollection.js

@@ -141,6 +141,32 @@ describe( 'load', function() {
 			} );
 	} );
 
+	it( 'should set the `path` property on loaded plugins', function() {
+		var PluginCollection = modules.plugincollection;
+
+		var plugins = new PluginCollection( editor );
+
+		return plugins.load( 'A,B' )
+			.then( function() {
+				expect( plugins.get( 'A' ).path ).to.equal( CKEDITOR.getPluginPath( 'A' ) );
+				expect( plugins.get( 'B' ).path ).to.equal( CKEDITOR.getPluginPath( 'B' ) );
+			} );
+	} );
+
+	it( 'should set the `deps` property on loaded plugins', function() {
+		var PluginCollection = modules.plugincollection;
+
+		var plugins = new PluginCollection( editor );
+
+		return plugins.load( 'A,D' )
+			.then( function() {
+				expect( plugins.get( 'A' ).deps ).to.deep.equal( [] );
+				expect( plugins.get( 'B' ).deps ).to.deep.equal( [] );
+				expect( plugins.get( 'C' ).deps ).to.deep.equal( [ 'B' ] );
+				expect( plugins.get( 'D' ).deps ).to.deep.equal( [ 'A', 'C' ] );
+			} );
+	} );
+
 	it( 'should throw error for invalid plugins', function() {
 		var PluginCollection = modules.plugincollection;