Changeset 38722
- Timestamp:
- 12/13/10 17:27:55 (3 years ago)
- Location:
- lang/javascript/javascript-xpath/trunk
- Files:
-
- 3 added
- 6 modified
-
release/javascript-xpath-0.1.12-cmp.js (added)
-
release/javascript-xpath-0.1.12.js (added)
-
release/javascript-xpath-latest-cmp.js (modified) (1 diff)
-
release/javascript-xpath-latest.js (modified) (2 diffs)
-
src/baseExpr.js (modified) (1 diff)
-
test/functional/data/0012 (modified) (2 diffs)
-
test/functional/index.html (modified) (3 diffs)
-
test/functional/json2.js (added)
-
version.txt (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
lang/javascript/javascript-xpath/trunk/release/javascript-xpath-latest-cmp.js
r14924 r38722 40 40 for(var n in Ga)Ha[n]=Ga[n];Ha.index=0;return Ha;};Ea.prototype.regs={token:/\$?(?:(?![0-9-])[\w-]+:)?(?![0-9-])[\w-]+|\/\/|\.\.|::|\d+(?:\.\d*)?|\.\d+|"[^"]*"|'[^']*'|[!<>]=|(?![0-9-])[\w-]+:\*|\s+|./g,strip:/^\s/};Ea.prototype.peek=function(i){return this[this.index+(i||0)];};Ea.prototype.next=function(){return this[this.index++];};Ea.prototype.back=function(){this.index--;};Ea.prototype.empty=function(){return this.length<=this.index;};var Ia=function(Ja,Ka,La){this.node=Ja;this.position=Ka||1;this.last=La||1;};var Ma=function(){};Ma.prototype.number=function(Na){var Oa=this.evaluate(Na);if(Oa.isNodeSet)return Oa.number();return+Oa;};Ma.prototype.string=function(Pa){var Qa=this.evaluate(Pa);if(Qa.isNodeSet)return Qa.string();return ''+Qa;};Ma.prototype.bool=function(Ra){var Sa=this.evaluate(Ra);if(Sa.isNodeSet)return Sa.bool();return!!Sa;};var Ta=function(){};Ta.parsePredicates=function(Ua,Va){while(Ua.peek()=='['){Ua.next();if(Ua.empty()){throw Error('missing predicate expr');} 41 41 var Wa=oa.parse(Ua);Va.predicate(Wa);if(Ua.empty()){throw Error('unclosed predicate expr');} 42 if(Ua.next()!=']'){Ua.back();throw Error('bad token: '+Ua.next());}}};Ta.prototyp s=new Ma();Ta.prototype.evaluatePredicates=function(Xa,Ya){var Za,predicate,nodes,node,Xa,position,reverse;reverse=this.reverse;Za=this.predicates;Xa.sort();for(var i=Ya||0,l0=Za.length;i<l0;i++){predicate=Za[i];var $a=[];var ab=Xa.list();for(var j=0,l1=ab.length;j<l1;j++){position=reverse?(l1-j):(j+1);exrs=predicate.evaluate(new Ia(ab[j],position,l1));switch(typeof exrs){case 'number':exrs=(position==exrs);break;case 'string':exrs=!!exrs;break;case 'object':exrs=exrs.bool();break;}42 if(Ua.next()!=']'){Ua.back();throw Error('bad token: '+Ua.next());}}};Ta.prototype=new Ma();Ta.prototype.evaluatePredicates=function(Xa,Ya){var Za,predicate,nodes,node,Xa,position,reverse;reverse=this.reverse;Za=this.predicates;Xa.sort();for(var i=Ya||0,l0=Za.length;i<l0;i++){predicate=Za[i];var $a=[];var ab=Xa.list();for(var j=0,l1=ab.length;j<l1;j++){position=reverse?(l1-j):(j+1);exrs=predicate.evaluate(new Ia(ab[j],position,l1));switch(typeof exrs){case 'number':exrs=(position==exrs);break;case 'string':exrs=!!exrs;break;case 'object':exrs=exrs.bool();break;} 43 43 if(!exrs){$a.push(j);}} 44 44 for(var j=$a.length-1,l1=0;j>=l1;j--){Xa.del($a[j]);}} -
lang/javascript/javascript-xpath/trunk/release/javascript-xpath-latest.js
r14924 r38722 1 /* JavaScript-XPath 0.1.1 11 /* JavaScript-XPath 0.1.12 2 2 * (c) 2007 Cybozu Labs, Inc. 3 3 * … … 309 309 }; 310 310 311 BaseExprHasPredicates.prototyp s= new BaseExpr();311 BaseExprHasPredicates.prototype = new BaseExpr(); 312 312 313 313 BaseExprHasPredicates.prototype.evaluatePredicates = function(nodeset, start) { -
lang/javascript/javascript-xpath/trunk/src/baseExpr.js
r1393 r38722 46 46 }; 47 47 48 BaseExprHasPredicates.prototyp s= new BaseExpr();48 BaseExprHasPredicates.prototype = new BaseExpr(); 49 49 50 50 BaseExprHasPredicates.prototype.evaluatePredicates = function(nodeset, start) { -
lang/javascript/javascript-xpath/trunk/test/functional/data/0012
r29934 r38722 37 37 </tbody> 38 38 </table> 39 <p id="ppp">1</p> 39 40 </body> 40 41 </html> … … 48 49 /descendant::tr[2] => tr#id6 49 50 (//tr)[2] => tr#id6 51 (//p) + 1 => value(2) 52 id('ppp')[true()] => p#ppp 53 number(id('ppp')[true()]) => value(1) 54 id('ppp')[true()] + 1 => value(2) 50 55 -
lang/javascript/javascript-xpath/trunk/test/functional/index.html
r14909 r38722 8 8 <meta http-equiv="Content-Script-Type" content="text/javascript" /> 9 9 10 <script type="text/javascript" src="./json2.js"></script> 10 11 <script type="text/javascript" src="./logger.js"></script> 11 12 <!--LOCAL_DATA_HERE--> … … 430 431 } 431 432 else { 432 if (typeof tester.value != 'string') { 433 return { status: 'ng', detail: 'value(' + nodes + ')' } 434 } 435 else { 436 return { status: 'ng', detail: 'value("' + nodes.replace(/\\/, '\\\\').replace(/"/, '\\"') + '")' } 437 } 433 return { status: 'ng', detail: 'value(' + JSON.stringify(nodes) + ')' } 438 434 } 439 435 } … … 469 465 break; 470 466 case 3: 471 t += 'text( "' + node.nodeValue.replace(/\\/, '\\\\').replace(/"/, '\\"') + '")';467 t += 'text(' + JSON.stringify(node.nodeValue) + ')'; 472 468 break; 473 469 case 7: 474 t += 'processing-instruction(' + node.nodeName + '= "' + node.nodeValue.replace(/\\/, '\\\\').replace(/"/, '\\"') + '")';470 t += 'processing-instruction(' + node.nodeName + '=' + JSON.stringify(node.nodeValue) + ')'; 475 471 break; 476 472 case 8: 477 t += 'comment( "' + node.nodeValue.replace(/\\/, '\\\\').replace(/"/, '\\"') + '")';473 t += 'comment(' + JSON.stringify(node.nodeValue) + ')'; 478 474 break; 479 475 case 9: -
lang/javascript/javascript-xpath/trunk/version.txt
r14924 r38722 1 0.1.1 11 0.1.12
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)