function loadAllAvailableLibraries() {

		// We have a list of known libraries (in the bootstrap) that have to be checked. This list will be dynamically extended below with any new libraries. This static list here is just for fallback purposes.
		var mLoadedLibraries = sap.ui.getCore().getLoadedLibraries();

		// Maybe libraries have been added, so discover what is available in order to also test them. But only do this when we are in sapui5.runtime layer, not when this test is executed in dist layer.
		return VersionInfo.load().then(function(oInfo) {
			return Promise.all(
				oInfo.libraries.map(function(oLibInfo) {
					var sInfoLibName = oLibInfo.name;

					// only load known libraries, we won't test others
					if (!aKnownLibraries.includes(sInfoLibName)) {
						return;
					}

					if (!mLoadedLibraries[sInfoLibName]) {
						Log.info("Library '" + sInfoLibName + "' is not loaded! Trying...");
						return sap.ui.getCore().loadLibrary(sInfoLibName, {async: true})
							.then(function(oLibrary) {
								mLoadedLibraries[sInfoLibName] = oLibrary.controls;
								Log.info("Library '" + sInfoLibName + "...successfully.");
							}, function(err) {
								// not a control lib? This happens for e.g. "sap.ui.server.java"...
							});
					} else {
						mLoadedLibraries[sInfoLibName] = mLoadedLibraries[sInfoLibName].controls; // only the control list is needed
					}
				}));
		}).then(function() {
			return mLoadedLibraries;
		});
	}
/**
	 * Iterates over all loaded libraries, but also all available libraries and tries to load them and their control lists.
	 * @returns an object that maps each library name to an array of control names in this library
	 */
Iterates over all loaded libraries, but also all available libraries and tries to load them and their control lists.
@returns an object that maps each library name to an array of control names in this library
Iterates over all loaded libraries but also all available libraries and tries to load them and their control lists . @returns an object that maps each library name to an array of control names in this library
function loadAllAvailableLibraries() {
		var mLoadedLibraries = sap.ui.getCore().getLoadedLibraries();
		return VersionInfo.load().then(function(oInfo) {
			return Promise.all(
				oInfo.libraries.map(function(oLibInfo) {
					var sInfoLibName = oLibInfo.name;
					if (!aKnownLibraries.includes(sInfoLibName)) {
						return;
					}
					if (!mLoadedLibraries[sInfoLibName]) {
						Log.info("Library '" + sInfoLibName + "' is not loaded! Trying...");
						return sap.ui.getCore().loadLibrary(sInfoLibName, {async: true})
							.then(function(oLibrary) {
								mLoadedLibraries[sInfoLibName] = oLibrary.controls;
								Log.info("Library '" + sInfoLibName + "...successfully.");
							}, function(err) {
							});
					} else {
						mLoadedLibraries[sInfoLibName] = mLoadedLibraries[sInfoLibName].controls; 
					}
				}));
		}).then(function() {
			return mLoadedLibraries;
		});
	}
function loadAllAvailableLibraries ( ) { var mLoadedLibraries = sap . ui . getCore ( ) . getLoadedLibraries ( ) ; return VersionInfo . load ( ) . then ( function ( oInfo ) { return Promise . all ( oInfo . libraries . map ( function ( oLibInfo ) { var sInfoLibName = oLibInfo . name ; if ( ! aKnownLibraries . includes ( sInfoLibName ) ) { return ; } if ( ! mLoadedLibraries [ sInfoLibName ] ) { Log . info ( "Library '" + sInfoLibName + "' is not loaded! Trying..." ) ; return sap . ui . getCore ( ) . loadLibrary ( sInfoLibName , { async : true } ) . then ( function ( oLibrary ) { mLoadedLibraries [ sInfoLibName ] = oLibrary . controls ; Log . info ( "Library '" + sInfoLibName + "...successfully." ) ; } , function ( err ) { } ) ; } else { mLoadedLibraries [ sInfoLibName ] = mLoadedLibraries [ sInfoLibName ] . controls ; } } ) ) ; } ) . then ( function ( ) { return mLoadedLibraries ; } ) ; }
Iterates over all loaded libraries, but also all available libraries and tries to load them and their control lists.
Iterates over all loaded libraries but also all available libraries and tries to load them and their control lists .
// We have a list of known libraries (in the bootstrap) that have to be checked. This list will be dynamically extended below with any new libraries. This static list here is just for fallback purposes. // Maybe libraries have been added, so discover what is available in order to also test them. But only do this when we are in sapui5.runtime layer, not when this test is executed in dist layer. // only load known libraries, we won't test others // not a control lib? This happens for e.g. "sap.ui.server.java"... // only the control list is needed