rem: if (type == 'String' && pattern.match(/^regexp:/)) { 
add: if (type == 'String[]') { var matcher = 'exact'; var r; if ((r = pattern.match(/^(regexp|glob|exact):/))) { matcher = r[1]; pattern = pattern.substring(r[0].length); } else if (pattern.match(/[\*\?]/)) { matcher = 'glob'; } var separateEquals = this.useSeparateEqualsForArray || 'exact' != matcher; var list = parseArray(pattern); if (separateEquals) { var result = new EqualsArray(expression); result.conditions.push(new Equals(list.length, result.length())); for (var i = 0; i < list.length; i++) { result.conditions.push(seleniumEquals('String', matcher + ':' + list[i], result.item(i))); } return result; } else { return new Equals(xlateValue(type, pattern), expression); } } else if (type == 'String' && pattern.match(/^regexp:/)) { 
context: function seleniumEquals(type, pattern, expression) {	if (type == 'String' && pattern.match(/^regexp:/)) {		return new RegexpMatch(pattern.substring(7), expression);	} else if (type == 'String' && (pattern.match(/^glob:/) || pattern.match(/[\*\?]/))) {		pattern = pattern.replace(/^glob:/, '');		pattern = pattern.replace(/([\]\[\\\{\}\$\(\).])/g, "\\$1");		pattern = pattern.replace(/\?/g, "(.|[\r\n])");		pattern = pattern.replace(/\*/g, "(.|[\r\n])*");		return new RegexpMatch(pattern, expression);	} else {		pattern = pattern.replace(/^exact:/, '');		return new Equals(xlateValue(type, pattern), expression);	}}
meta: 3428	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/3428/4bfa7692cc2103f89695fba65b7284a7b4aeb230/remoteControl.js/buggy/src/content/formats/remoteControl.js