function checkParts(sExpression, sExpectedResult, iExpectedParts) {
			var sBinding = "{=" + sExpression + "}",
				oBindingInfo = BindingParser.complexParser(sBinding, oScope, true, false, false,
					false, {/*mLocals*/});
			assert.strictEqual(oBindingInfo.parts.length, iExpectedParts, sExpression);
			check(assert, sBinding, sExpectedResult, oScope);
		}
******************************************************************************************
	QUnit.test("errors during evaluation", function (assert) {
		var sExpression = "{:= null.toString() }";

		// w/o try/catch, a formatter's exception is thrown out of the control's c'tor...
		// --> expression binding provides the comfort of an "automatic try/catch"
		assert.throws(function () {
			return new InvisibleText({
				text : {
					path : '/',
					formatter : function () { return null.toString(); }
				},
				models : new JSONModel()
			});
		});

		// Note: no need to log the stacktrace, it does not really matter to most people here
		// Note: the exact error message is browser-dependent
		this.oLogMock.expects("warning").withExactArgs(
			sinon.match(/TypeError:.*null/i),
			sExpression,
			"sap.ui.base.ExpressionParser");

		//TODO drop String() once BindingParser can properly handle constant result values
		check(assert, sExpression, String(undefined));
	});

	//*********************************************************************************************
	QUnit.test("Internal incident 1570800230", function (assert) {
		var oIcon,
			oModel = new JSONModel({/*IsActiveEntity : undefined