text: /*!
   * OpenUI5
   * (c) Copyright 2009-2020 SAP SE or an SAP affiliate company.
   * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
   */
  sap.ui.define(['sap/ui/thirdparty/jquery','sap/ui/test/matchers/Matcher'],function($,M){"use strict";return M.extend("sap.ui.test.matchers.BindingPath",{metadata:{publicMethods:["isMatching"],properties:{path:{type:"any"},modelName:{type:"string"},propertyPath:{type:"any"}}},isMatching:function(c){var m=this.getModelName()||undefined;var s=this.getPropertyPath();var a=this.getPath();if(!a&&!s){this._oLogger.debug("Matcher requires context path or property path but none is defined! No controls will be matched");return false;}var C=true;var p=true;var o=c.mObjectBindingInfos&&c.mObjectBindingInfos[m];var b=c.getBindingContext(m);if(a){if(o){C=_(o.path,a);if(C){this._oLogger.debug("Control '"+c+"' has object binding with the expected context path '"+a+"' for model '"+m+"'");}else{this._oLogger.debug("Control '"+c+"' has object binding with context path '"+o.path+"' for model '"+m+"' but should have context path '"+a+"'");}}else{C=!!b&&_(b.getPath(),a);if(C){this._oLogger.debug("Control '"+c+"' has binding context with the expected path '"+a+"' for model '"+m+"'");}else if(b){this._oLogger.debug("Control '"+c+"' has binding context with path '"+b.getPath()+"' for model '"+m+"' but should have context path '"+a+"'");}else{this._oLogger.debug("Control '"+c+"' does not have a binding context for model '"+m+"' but should have a binding context with path '"+a+"'");}}}if(s){var A=[];var d=Object.keys(c.mBindingInfos).filter(function(B){var e=c.mBindingInfos[B];var f=e.parts?e.parts:[e];var g=f.filter(function(P){var h=_(P.path,s,!!b);var i=o||P.model===m;if(!h&&i){A.push(P.path);}return h&&i;});return!!g.length;});p=!!d.length;if(p){this._oLogger.debug("Control '"+c+"' has the expected binding property path '"+s+"' for model '"+m+"'");}else if(A.length){this._oLogger.debug("Control '"+c+"' has binding property paths ['"+A.join("', '")+"'] for model '"+m+"' but should have binding property path '"+s+"'");}else{this._oLogger.debug("Control '"+c+"' has no binding property paths for model '"+m+"' but should have binding property path '"+s+"'");}}return C&&p;}});function _(p,m,w){if($.isPlainObject(m)&&m.regex&&m.regex.source){m=new RegExp(m.regex.source,m.regex.flags);}if(m instanceof RegExp){var o;var d=m.source.match(/\^?\//);if(w&&d){o=new RegExp(m.source.substr(d.index+1),m.flags);}else if(!w&&!d){o=new RegExp("\/"+m.source,m.flags);}else{o=m;}return o.test(p);}else if(p){var h=p.charAt(0)==="/";if(w&&h){m=m.substr(1);}else if(!w&&!h){m="/"+m;}return p===m;}else{return false;}}});
  