function checkNestedAnnotations(assert, oAnnotations, oExpectedProductAnnotations) {
		// annotations at array values still present
		assert.deepEqual(
			oAnnotations["NorthwindModel.Product"]["com.sap.vocabularies.UI.v1.LineItem"]
				["com.sap.vocabularies.UI.v1.Criticality"],
			{"Path" : "Criticality"});
		assert.deepEqual(
			oAnnotations["NorthwindModel.Product"]["com.sap.vocabularies.UI.v1.LineItem#foo"]
				["com.sap.vocabularies.UI.v1.Criticality"],
			{"Path" : "Criticality"});
		assert.deepEqual(
			oAnnotations["NorthwindModel.Product"]["com.sap.vocabularies.UI.v1.LineItem#foo"]
				["com.sap.vocabularies.UI.v1.Criticality#bar"],
			{"Path" : "Criticality/bar"});
		assert.deepEqual(
			oAnnotations["NorthwindModel.Product"]["com.sap.vocabularies.UI.v1.Facets"][0]
				.Facets["com.sap.vocabularies.Common.v1.Label"],
			{"String" : "Supplier Identification"});
		assert.deepEqual(
			oAnnotations["NorthwindModel.Product"]["unittest.ui5.parentAnnotation"]
				["unittest.ui5.dynamicExpression3"]
				.If["com.sap.vocabularies.Common.v1.Label"],
			{"String" : "Who am I?"});
		assert.deepEqual(
			oAnnotations["NorthwindModel.Product"]["unittest.ui5.parentAnnotation"]
				["unittest.ui5.dynamicExpression6"].Apply.Parameters[0].Value
				["com.sap.vocabularies.Common.v1.Label"],
			{"String" : "Who am I?"});

		// annotations at array values can be restored later on!
		assert.deepEqual(oAnnotations.annotationsAtArrays, [
			["NorthwindModel.Product", "com.sap.vocabularies.UI.v1.LineItem",
				"com.sap.vocabularies.UI.v1.Criticality"],
			["NorthwindModel.Product", "com.sap.vocabularies.UI.v1.LineItem#foo",
				"com.sap.vocabularies.UI.v1.Criticality"],
			["NorthwindModel.Product", "com.sap.vocabularies.UI.v1.LineItem#foo",
				"com.sap.vocabularies.UI.v1.Criticality#bar"],
			["NorthwindModel.Product", "com.sap.vocabularies.UI.v1.Facets", 0, "Facets",
				"com.sap.vocabularies.Common.v1.Label"],
			["NorthwindModel.Product", "unittest.ui5.parentAnnotation",
				"unittest.ui5.dynamicExpression3", "If",
				"com.sap.vocabularies.Common.v1.Label"],
			["NorthwindModel.Product", "unittest.ui5.parentAnnotation",
				"unittest.ui5.dynamicExpression6", "Apply", "Parameters", 0, "Value",
				"com.sap.vocabularies.Common.v1.Label"],
			["NorthwindModel.Product", "com.sap.vocabularies.UI.v1.LineItem#inherited",
				"com.sap.vocabularies.UI.v1.Criticality"]
		]);

		assert.deepEqual(oAnnotations["NorthwindModel.Product"], oExpectedProductAnnotations);
		deepContains(assert, oAnnotations["NorthwindModel.Product"], oExpectedProductAnnotations,
			"NorthwindModel.Product");
	}
/**
	 * Checks that nested annotations work as expected.
	 *
	 * @param {object} assert - QUnit.assert instance
	 * @param {object} oAnnotations - map of all annotations
	 * @param {object} oExpectedProductAnnotations - expected annotations for NorthwindModel.Product
	 */
Checks that nested annotations work as expected.
@param {object} assert - QUnit.assert instance
@param {object} oAnnotations - map of all annotations
@param {object} oExpectedProductAnnotations - expected annotations for NorthwindModel.Product
Checks that nested annotations work as expected . @param { object } assert - QUnit . assert instance @param { object } oAnnotations - map of all annotations @param { object } oExpectedProductAnnotations - expected annotations for NorthwindModel . Product
function checkNestedAnnotations(assert, oAnnotations, oExpectedProductAnnotations) {
		assert.deepEqual(
			oAnnotations["NorthwindModel.Product"]["com.sap.vocabularies.UI.v1.LineItem"]
				["com.sap.vocabularies.UI.v1.Criticality"],
			{"Path" : "Criticality"});
		assert.deepEqual(
			oAnnotations["NorthwindModel.Product"]["com.sap.vocabularies.UI.v1.LineItem#foo"]
				["com.sap.vocabularies.UI.v1.Criticality"],
			{"Path" : "Criticality"});
		assert.deepEqual(
			oAnnotations["NorthwindModel.Product"]["com.sap.vocabularies.UI.v1.LineItem#foo"]
				["com.sap.vocabularies.UI.v1.Criticality#bar"],
			{"Path" : "Criticality/bar"});
		assert.deepEqual(
			oAnnotations["NorthwindModel.Product"]["com.sap.vocabularies.UI.v1.Facets"][0]
				.Facets["com.sap.vocabularies.Common.v1.Label"],
			{"String" : "Supplier Identification"});
		assert.deepEqual(
			oAnnotations["NorthwindModel.Product"]["unittest.ui5.parentAnnotation"]
				["unittest.ui5.dynamicExpression3"]
				.If["com.sap.vocabularies.Common.v1.Label"],
			{"String" : "Who am I?"});
		assert.deepEqual(
			oAnnotations["NorthwindModel.Product"]["unittest.ui5.parentAnnotation"]
				["unittest.ui5.dynamicExpression6"].Apply.Parameters[0].Value
				["com.sap.vocabularies.Common.v1.Label"],
			{"String" : "Who am I?"});
		assert.deepEqual(oAnnotations.annotationsAtArrays, [
			["NorthwindModel.Product", "com.sap.vocabularies.UI.v1.LineItem",
				"com.sap.vocabularies.UI.v1.Criticality"],
			["NorthwindModel.Product", "com.sap.vocabularies.UI.v1.LineItem#foo",
				"com.sap.vocabularies.UI.v1.Criticality"],
			["NorthwindModel.Product", "com.sap.vocabularies.UI.v1.LineItem#foo",
				"com.sap.vocabularies.UI.v1.Criticality#bar"],
			["NorthwindModel.Product", "com.sap.vocabularies.UI.v1.Facets", 0, "Facets",
				"com.sap.vocabularies.Common.v1.Label"],
			["NorthwindModel.Product", "unittest.ui5.parentAnnotation",
				"unittest.ui5.dynamicExpression3", "If",
				"com.sap.vocabularies.Common.v1.Label"],
			["NorthwindModel.Product", "unittest.ui5.parentAnnotation",
				"unittest.ui5.dynamicExpression6", "Apply", "Parameters", 0, "Value",
				"com.sap.vocabularies.Common.v1.Label"],
			["NorthwindModel.Product", "com.sap.vocabularies.UI.v1.LineItem#inherited",
				"com.sap.vocabularies.UI.v1.Criticality"]
		]);
		assert.deepEqual(oAnnotations["NorthwindModel.Product"], oExpectedProductAnnotations);
		deepContains(assert, oAnnotations["NorthwindModel.Product"], oExpectedProductAnnotations,
			"NorthwindModel.Product");
	}
function checkNestedAnnotations ( assert , oAnnotations , oExpectedProductAnnotations ) { assert . deepEqual ( oAnnotations [ "NorthwindModel.Product" ] [ "com.sap.vocabularies.UI.v1.LineItem" ] [ "com.sap.vocabularies.UI.v1.Criticality" ] , { "Path" : "Criticality" } ) ; assert . deepEqual ( oAnnotations [ "NorthwindModel.Product" ] [ "com.sap.vocabularies.UI.v1.LineItem#foo" ] [ "com.sap.vocabularies.UI.v1.Criticality" ] , { "Path" : "Criticality" } ) ; assert . deepEqual ( oAnnotations [ "NorthwindModel.Product" ] [ "com.sap.vocabularies.UI.v1.LineItem#foo" ] [ "com.sap.vocabularies.UI.v1.Criticality#bar" ] , { "Path" : "Criticality/bar" } ) ; assert . deepEqual ( oAnnotations [ "NorthwindModel.Product" ] [ "com.sap.vocabularies.UI.v1.Facets" ] [ 0 ] . Facets [ "com.sap.vocabularies.Common.v1.Label" ] , { "String" : "Supplier Identification" } ) ; assert . deepEqual ( oAnnotations [ "NorthwindModel.Product" ] [ "unittest.ui5.parentAnnotation" ] [ "unittest.ui5.dynamicExpression3" ] . If [ "com.sap.vocabularies.Common.v1.Label" ] , { "String" : "Who am I?" } ) ; assert . deepEqual ( oAnnotations [ "NorthwindModel.Product" ] [ "unittest.ui5.parentAnnotation" ] [ "unittest.ui5.dynamicExpression6" ] . Apply . Parameters [ 0 ] . Value [ "com.sap.vocabularies.Common.v1.Label" ] , { "String" : "Who am I?" } ) ; assert . deepEqual ( oAnnotations . annotationsAtArrays , [ [ "NorthwindModel.Product" , "com.sap.vocabularies.UI.v1.LineItem" , "com.sap.vocabularies.UI.v1.Criticality" ] , [ "NorthwindModel.Product" , "com.sap.vocabularies.UI.v1.LineItem#foo" , "com.sap.vocabularies.UI.v1.Criticality" ] , [ "NorthwindModel.Product" , "com.sap.vocabularies.UI.v1.LineItem#foo" , "com.sap.vocabularies.UI.v1.Criticality#bar" ] , [ "NorthwindModel.Product" , "com.sap.vocabularies.UI.v1.Facets" , 0 , "Facets" , "com.sap.vocabularies.Common.v1.Label" ] , [ "NorthwindModel.Product" , "unittest.ui5.parentAnnotation" , "unittest.ui5.dynamicExpression3" , "If" , "com.sap.vocabularies.Common.v1.Label" ] , [ "NorthwindModel.Product" , "unittest.ui5.parentAnnotation" , "unittest.ui5.dynamicExpression6" , "Apply" , "Parameters" , 0 , "Value" , "com.sap.vocabularies.Common.v1.Label" ] , [ "NorthwindModel.Product" , "com.sap.vocabularies.UI.v1.LineItem#inherited" , "com.sap.vocabularies.UI.v1.Criticality" ] ] ) ; assert . deepEqual ( oAnnotations [ "NorthwindModel.Product" ] , oExpectedProductAnnotations ) ; deepContains ( assert , oAnnotations [ "NorthwindModel.Product" ] , oExpectedProductAnnotations , "NorthwindModel.Product" ) ; }
Checks that nested annotations work as expected.
Checks that nested annotations work as expected .
// annotations at array values still present // annotations at array values can be restored later on!