function checkControl(oControlClass, assert) {
		var sControlName = oControlClass.getMetadata().getName();
		assert.ok(true, sControlName);

		var sId = sControlName.replace(/\./g, "_"),
			oControl1 = new oControlClass(sId + "_1"),
			oControl2 = new oControlClass(sId + "_2"),
			bCanRender = false;

		// check whether this control can be rendered
		if (oControl1.placeAt) {
			try {
				oControl1.getMetadata().getRenderer();
				bCanRender = true;
			} catch (e) {
				// ignoring this control's rendering, message is written below
			}
		}


		// Render Control Instances

		return Promise.all([
			fillControlProperties(oControl1),
			fillControlAggregations(oControl1, assert),
			fillControlProperties(oControl2),
			fillControlAggregations(oControl2, assert)
		]).then(function() {

			if (bCanRender) {
				oControl1.placeAt("qunit-fixture");
				oControl2.placeAt("qunit-fixture");
				sap.ui.getCore().applyChanges();

				oControl1.rerender();
				oControl2.rerender();
				sap.ui.getCore().applyChanges();

				iFullyTestedControls++;
				assert.ok(true, sControlName + " can be instantiated multiple times without duplicate ID errors.");
			} else {
				iTestedWithoutRenderingControls++;
				assert.ok(true, "WARNING: " + sControlName + " cannot be rendered");
			}

			// cleanup
			oControl1.destroy();
			oControl2.destroy();
			sap.ui.getCore().applyChanges();
		});
	}
// Has some special logic to ignore or work around problems where certain controls do not work standalone.
Has some special logic to ignore or work around problems where certain controls do not work standalone.
Has some special logic to ignore or work around problems where certain controls do not work standalone .
function checkControl(oControlClass, assert) {
		var sControlName = oControlClass.getMetadata().getName();
		assert.ok(true, sControlName);
		var sId = sControlName.replace(/\./g, "_"),
			oControl1 = new oControlClass(sId + "_1"),
			oControl2 = new oControlClass(sId + "_2"),
			bCanRender = false;
		if (oControl1.placeAt) {
			try {
				oControl1.getMetadata().getRenderer();
				bCanRender = true;
			} catch (e) {
			}
		}
		return Promise.all([
			fillControlProperties(oControl1),
			fillControlAggregations(oControl1, assert),
			fillControlProperties(oControl2),
			fillControlAggregations(oControl2, assert)
		]).then(function() {
			if (bCanRender) {
				oControl1.placeAt("qunit-fixture");
				oControl2.placeAt("qunit-fixture");
				sap.ui.getCore().applyChanges();
				oControl1.rerender();
				oControl2.rerender();
				sap.ui.getCore().applyChanges();
				iFullyTestedControls++;
				assert.ok(true, sControlName + " can be instantiated multiple times without duplicate ID errors.");
			} else {
				iTestedWithoutRenderingControls++;
				assert.ok(true, "WARNING: " + sControlName + " cannot be rendered");
			}
			oControl1.destroy();
			oControl2.destroy();
			sap.ui.getCore().applyChanges();
		});
	}
function checkControl ( oControlClass , assert ) { var sControlName = oControlClass . getMetadata ( ) . getName ( ) ; assert . ok ( true , sControlName ) ; var sId = sControlName . replace ( / \. / g , "_" ) , oControl1 = new oControlClass ( sId + "_1" ) , oControl2 = new oControlClass ( sId + "_2" ) , bCanRender = false ; if ( oControl1 . placeAt ) { try { oControl1 . getMetadata ( ) . getRenderer ( ) ; bCanRender = true ; } catch ( e ) { } } return Promise . all ( [ fillControlProperties ( oControl1 ) , fillControlAggregations ( oControl1 , assert ) , fillControlProperties ( oControl2 ) , fillControlAggregations ( oControl2 , assert ) ] ) . then ( function ( ) { if ( bCanRender ) { oControl1 . placeAt ( "qunit-fixture" ) ; oControl2 . placeAt ( "qunit-fixture" ) ; sap . ui . getCore ( ) . applyChanges ( ) ; oControl1 . rerender ( ) ; oControl2 . rerender ( ) ; sap . ui . getCore ( ) . applyChanges ( ) ; iFullyTestedControls ++ ; assert . ok ( true , sControlName + " can be instantiated multiple times without duplicate ID errors." ) ; } else { iTestedWithoutRenderingControls ++ ; assert . ok ( true , "WARNING: " + sControlName + " cannot be rendered" ) ; } oControl1 . destroy ( ) ; oControl2 . destroy ( ) ; sap . ui . getCore ( ) . applyChanges ( ) ; } ) ; }
Has some special logic to ignore or work around problems where certain controls do not work standalone.
Has some special logic to ignore or work around problems where certain controls do not work standalone .
// check whether this control can be rendered // ignoring this control's rendering, message is written below // Render Control Instances // cleanup