src/sap.ui.core/src/sap/ui/core/support/RuleEngineOpaExtension.js
function(options) {
					var ruleDeferred = jQueryDOM.Deferred(),
						options = options[0] || {},
						failOnAnyRuleIssues = options["failOnAnyIssues"],
						failOnHighRuleIssues = options["failOnHighIssues"],
						rules = options.rules,
						preset = options.preset,
						metadata = options.metadata,
						executionScope = options.executionScope;

					// private API provided by jquery.sap.global
					RuleAnalyzer.analyze(executionScope, rules || preset, metadata).then(function () {
						var analysisHistory = RuleAnalyzer.getAnalysisHistory(),
							lastAnalysis = { issues: [] };

						if (analysisHistory.length) {
							lastAnalysis = analysisHistory[analysisHistory.length - 1];
						}

						var issueSummary = lastAnalysis.issues.reduce(function (summary, issue) {
							summary[issue.severity.toLowerCase()] += 1;
							return summary;
						}, { high: 0, medium: 0, low: 0 });

						var assertionResult = lastAnalysis.issues.length === 0;
						if (failOnHighRuleIssues) {
							assertionResult = issueSummary.high === 0;
						} else if (failOnAnyRuleIssues === false || failOnHighRuleIssues === false) {
							assertionResult = true;
						}

						if (fnShouldSkipRulesIssues()) {
							assertionResult = true;
						}

						ruleDeferred.resolve({
							result: assertionResult,
							message: "Support Assistant issues found: [High: " + issueSummary.high +
									 ", Medium: " + issueSummary.medium	+
									 ", Low: " + issueSummary.low +
									 "]",
							expected: "0 high 0 medium 0 low",
							actual: issueSummary.high + " high " + issueSummary.medium + " medium " + issueSummary.low + " low"
						});
					});

					return ruleDeferred.promise();
				}
function(options) {
					var ruleDeferred = jQueryDOM.Deferred(),
						options = options[0] || {},
						failOnAnyRuleIssues = options["failOnAnyIssues"],
						failOnHighRuleIssues = options["failOnHighIssues"],
						rules = options.rules,
						preset = options.preset,
						metadata = options.metadata,
						executionScope = options.executionScope;

					// private API provided by jquery.sap.global
					RuleAnalyzer.analyze(executionScope, rules || preset, metadata).then(function () {
						var analysisHistory = RuleAnalyzer.getAnalysisHistory(),
							lastAnalysis = { issues: [] };

						if (analysisHistory.length) {
							lastAnalysis = analysisHistory[analysisHistory.length - 1];
						}

						var issueSummary = lastAnalysis.issues.reduce(function (summary, issue) {
							summary[issue.severity.toLowerCase()] += 1;
							return summary;
						}, { high: 0, medium: 0, low: 0 });

						var assertionResult = lastAnalysis.issues.length === 0;
						if (failOnHighRuleIssues) {
							assertionResult = issueSummary.high === 0;
						} else if (failOnAnyRuleIssues === false || failOnHighRuleIssues === false) {
							assertionResult = true;
						}

						if (fnShouldSkipRulesIssues()) {
							assertionResult = true;
						}

						ruleDeferred.resolve({
							result: assertionResult,
							message: "Support Assistant issues found: [High: " + issueSummary.high +
									 ", Medium: " + issueSummary.medium	+
									 ", Low: " + issueSummary.low +
									 "]",
							expected: "0 high 0 medium 0 low",
							actual: issueSummary.high + " high " + issueSummary.medium + " medium " + issueSummary.low + " low"
						});
					});

					return ruleDeferred.promise();
				}
function ( options ) { var ruleDeferred = jQueryDOM . Deferred ( ) , options = options [ 0 ] || { } , failOnAnyRuleIssues = options [ "failOnAnyIssues" ] , failOnHighRuleIssues = options [ "failOnHighIssues" ] , rules = options . rules , preset = options . preset , metadata = options . metadata , executionScope = options . executionScope ; // private API provided by jquery.sap.global RuleAnalyzer . analyze ( executionScope , rules || preset , metadata ) . then ( function ( ) { var analysisHistory = RuleAnalyzer . getAnalysisHistory ( ) , lastAnalysis = { issues : [ ] } ; if ( analysisHistory . length ) { lastAnalysis = analysisHistory [ analysisHistory . length - 1 ] ; } var issueSummary = lastAnalysis . issues . reduce ( function ( summary , issue ) { summary [ issue . severity . toLowerCase ( ) ] += 1 ; return summary ; } , { high : 0 , medium : 0 , low : 0 } ) ; var assertionResult = lastAnalysis . issues . length === 0 ; if ( failOnHighRuleIssues ) { assertionResult = issueSummary . high === 0 ; } else if ( failOnAnyRuleIssues === false || failOnHighRuleIssues === false ) { assertionResult = true ; } if ( fnShouldSkipRulesIssues ( ) ) { assertionResult = true ; } ruleDeferred . resolve ( { result : assertionResult , message : "Support Assistant issues found: [High: " + issueSummary . high + ", Medium: " + issueSummary . medium + ", Low: " + issueSummary . low + "]" , expected : "0 high 0 medium 0 low" , actual : issueSummary . high + " high " + issueSummary . medium + " medium " + issueSummary . low + " low" } ) ; } ) ; return ruleDeferred . promise ( ) ; }
Run the Support Assistant and analyze against a specific state of the application.
Depending on the options passed the assertion might either fail or not if any issues were found.

If "sap-skip-rules-issues=true" is set as an URI parameter, assertion result will be always positive.

@function
@name sap.ui.core.support.RuleEngineOpaAssertions#noRuleFailures
@param {Object} [options] The options used to configure an analysis.
@param {boolean} [options.failOnAnyIssues=true] Should the test fail or not if there are issues of any severity.
@param {boolean} [options.failOnHighIssues] Should the test fail or not if there are issues of high severity.
This parameter will override failOnAnyIssues if set.
@param {Array.<{libName:string, ruleId:string}>} [options.rules] The rules to check.
@param {Object} [options.executionScope] The execution scope of the analysis.
@param {Object} [options.metadata] The metadata that will be passed to the analyse method.
@param {string} [options.executionScope.type=global] The type of the execution scope, one of 'global', 'subtree' or 'components'.
@param {string|string[]} [options.executionScope.selectors] The IDs of the components or the subtree.
@public
@returns {Promise} Promise.
Run the Support Assistant and analyze against a specific state of the application . Depending on the options passed the assertion might either fail or not if any issues were found .