Index: chrome/test/data/dromaeo/tests/dromaeo-object-regexp.html |
=================================================================== |
--- chrome/test/data/dromaeo/tests/dromaeo-object-regexp.html (revision 0) |
+++ chrome/test/data/dromaeo/tests/dromaeo-object-regexp.html (revision 0) |
@@ -0,0 +1,354 @@ |
+<html> |
+<head> |
+<script src="../htmlrunner.js"></script> |
+<script> |
+window.onload = function(){ startTest("dromaeo-object-regexp", ''); |
+ |
+// Try to force real results |
+var str = [], tmp, ret, re; |
+var i = 65536; |
+ |
+for ( var i = 0; i < 16384; i++ ) |
+ str.push( String.fromCharCode( (25 * Math.random()) + 97 ) ); |
+ |
+str = str.join(""); |
+str += str; |
+str += str; |
+ |
+ // TESTS: split |
+ |
+ prep(function(){ |
+ re = //; |
+ tmp = str; |
+ }); |
+ |
+ test( "Compiled Object Empty Split", function(){ |
+ for ( var i = 0; i < 100; i++ ) |
+ ret = tmp.split( re ); |
+ }); |
+ |
+ prep(function(){ |
+ re = /a/; |
+ tmp = str; |
+ }); |
+ |
+ test( "Compiled Object Char Split", function(){ |
+ for ( var i = 0; i < 30; i++ ) |
+ ret = tmp.split( re ); |
+ }); |
+ |
+ prep(function(){ |
+ re = /.*/; |
+ tmp = str; |
+ }); |
+ |
+ test( "Compiled Object Variable Split", function(){ |
+ for ( var i = 0; i < 100; i++ ) |
+ ret = tmp.split( re ); |
+ }); |
+ |
+ // TESTS: Compiled RegExps |
+ |
+ prep(function(){ |
+ re = /aaaaaaaaaa/g; |
+ tmp = str; |
+ }); |
+ |
+ test( "Compiled Match", function(){ |
+ for ( var i = 0; i < 100; i++ ) |
+ ret = tmp.match( re ); |
+ }); |
+ |
+ prep(function(){ |
+ tmp = str; |
+ }); |
+ |
+ test( "Compiled Test", function(){ |
+ for ( var i = 0; i < 100; i++ ) |
+ ret = re.test( tmp ); |
+ }); |
+ |
+ prep(function(){ |
+ tmp = str; |
+ }); |
+ |
+ test( "Compiled Empty Replace", function(){ |
+ for ( var i = 0; i < 50; i++ ) |
+ ret = tmp.replace( re, "" ); |
+ }); |
+ |
+ prep(function(){ |
+ tmp = str; |
+ }); |
+ |
+ test( "Compiled 12 Char Replace", function(){ |
+ for ( var i = 0; i < 50; i++ ) |
+ ret = tmp.replace( re, "asdfasdfasdf" ); |
+ }); |
+ |
+ prep(function(){ |
+ re = new RegExp("aaaaaaaaaa", "g"); |
+ tmp = str; |
+ }); |
+ |
+ test( "Compiled Object Match", function(){ |
+ for ( var i = 0; i < 100; i++ ) |
+ ret = tmp.match( re ); |
+ }); |
+ |
+ prep(function(){ |
+ tmp = str; |
+ }); |
+ |
+ test( "Compiled Object Test", function(){ |
+ for ( var i = 0; i < 100; i++ ) |
+ ret = re.test( tmp ); |
+ }); |
+ |
+ prep(function(){ |
+ tmp = str; |
+ }); |
+ |
+ test( "Compiled Object Empty Replace", function(){ |
+ for ( var i = 0; i < 50; i++ ) |
+ ret = tmp.replace( re, "" ); |
+ }); |
+ |
+ prep(function(){ |
+ tmp = str; |
+ }); |
+ |
+ test( "Compiled Object 12 Char Replace", function(){ |
+ for ( var i = 0; i < 50; i++ ) |
+ ret = tmp.replace( re, "asdfasdfasdf" ); |
+ }); |
+ |
+ prep(function(){ |
+ tmp = str; |
+ }); |
+ |
+ test( "Compiled Object 12 Char Replace Function", function(){ |
+ for ( var i = 0; i < 50; i++ ) |
+ ret = tmp.replace( re, function(all){ |
+ return "asdfasdfasdf"; |
+ }); |
+ }); |
+ |
+ // TESTS: Variable Length |
+ |
+ prep(function(){ |
+ re = /a.*a/; |
+ tmp = str; |
+ }); |
+ |
+ test( "Compiled Variable Match", function(){ |
+ for ( var i = 0; i < 100; i++ ) |
+ ret = tmp.match( re ); |
+ }); |
+ |
+ prep(function(){ |
+ tmp = str; |
+ }); |
+ |
+ test( "Compiled Variable Test", function(){ |
+ for ( var i = 0; i < 100; i++ ) |
+ ret = re.test( tmp ); |
+ }); |
+ |
+ prep(function(){ |
+ tmp = str; |
+ }); |
+ |
+ test( "Compiled Variable Empty Replace", function(){ |
+ for ( var i = 0; i < 50; i++ ) |
+ ret = tmp.replace( re, "" ); |
+ }); |
+ |
+ prep(function(){ |
+ tmp = str; |
+ }); |
+ |
+ test( "Compiled Variable 12 Char Replace", function(){ |
+ for ( var i = 0; i < 50; i++ ) |
+ ret = tmp.replace( re, "asdfasdfasdf" ); |
+ }); |
+ |
+ prep(function(){ |
+ re = new RegExp("aaaaaaaaaa", "g"); |
+ tmp = str; |
+ }); |
+ |
+ test( "Compiled Variable Object Match", function(){ |
+ for ( var i = 0; i < 100; i++ ) |
+ ret = tmp.match( re ); |
+ }); |
+ |
+ prep(function(){ |
+ tmp = str; |
+ }); |
+ |
+ test( "Compiled Variable Object Test", function(){ |
+ for ( var i = 0; i < 100; i++ ) |
+ ret = re.test( tmp ); |
+ }); |
+ |
+ prep(function(){ |
+ tmp = str; |
+ }); |
+ |
+ test( "Compiled Variable Object Empty Replace", function(){ |
+ for ( var i = 0; i < 50; i++ ) |
+ ret = tmp.replace( re, "" ); |
+ }); |
+ |
+ prep(function(){ |
+ tmp = str; |
+ }); |
+ |
+ test( "Compiled Variable Object 12 Char Replace", function(){ |
+ for ( var i = 0; i < 50; i++ ) |
+ ret = tmp.replace( re, "asdfasdfasdf" ); |
+ }); |
+ |
+ prep(function(){ |
+ tmp = str; |
+ }); |
+ |
+ test( "Compiled Variable Object 12 Char Replace Function", function(){ |
+ for ( var i = 0; i < 50; i++ ) |
+ ret = tmp.replace( re, function(all){ |
+ return "asdfasdfasdf"; |
+ }); |
+ }); |
+ |
+ // TESTS: Capturing |
+ |
+ prep(function(){ |
+ re = /aa(b)aa/g; |
+ tmp = str; |
+ }); |
+ |
+ test( "Compiled Capture Match", function(){ |
+ for ( var i = 0; i < 100; i++ ) |
+ ret = tmp.match( re ); |
+ }); |
+ |
+ prep(function(){ |
+ tmp = str; |
+ }); |
+ |
+ test( "Compiled Capture Replace", function(){ |
+ for ( var i = 0; i < 50; i++ ) |
+ ret = tmp.replace( re, "asdfasdfasdf" ); |
+ }); |
+ |
+ prep(function(){ |
+ tmp = str; |
+ }); |
+ |
+ test( "Compiled Capture Replace with Capture", function(){ |
+ for ( var i = 0; i < 50; i++ ) |
+ ret = tmp.replace( re, "asdf\\1asdfasdf" ); |
+ }); |
+ |
+ prep(function(){ |
+ tmp = str; |
+ }); |
+ |
+ test( "Compiled Capture Replace with Capture Function", function(){ |
+ for ( var i = 0; i < 50; i++ ) |
+ ret = tmp.replace( re, function(all,capture){ |
+ return "asdf" + capture + "asdfasdf"; |
+ }); |
+ }); |
+ |
+ prep(function(){ |
+ tmp = str; |
+ }); |
+ |
+ test( "Compiled Capture Replace with Upperase Capture Function", function(){ |
+ for ( var i = 0; i < 50; i++ ) |
+ ret = tmp.replace( re, function(all,capture){ |
+ return capture.toUpperCase(); |
+ }); |
+ }); |
+ |
+ // TESTS: Uncompiled RegExps |
+ |
+ prep(function(){ |
+ tmp = str; |
+ }); |
+ |
+ test( "Uncompiled Match", function(){ |
+ for ( var i = 0; i < 100; i++ ) |
+ ret = tmp.match( /aaaaaaaaaa/g ); |
+ }); |
+ |
+ prep(function(){ |
+ tmp = str; |
+ }); |
+ |
+ test( "Uncompiled Test", function(){ |
+ for ( var i = 0; i < 100; i++ ) |
+ ret = (/aaaaaaaaaa/g).test( tmp ); |
+ }); |
+ |
+ prep(function(){ |
+ tmp = str; |
+ }); |
+ |
+ test( "Uncompiled Empty Replace", function(){ |
+ for ( var i = 0; i < 50; i++ ) |
+ ret = tmp.replace( /aaaaaaaaaa/g, "" ); |
+ }); |
+ |
+ prep(function(){ |
+ tmp = str; |
+ }); |
+ |
+ test( "Uncompiled 12 Char Replace", function(){ |
+ for ( var i = 0; i < 50; i++ ) |
+ ret = tmp.replace( /aaaaaaaaaa/g, "asdfasdfasdf" ); |
+ }); |
+ |
+ prep(function(){ |
+ tmp = str; |
+ }); |
+ |
+ test( "Uncompiled Object Match", function(){ |
+ for ( var i = 0; i < 100; i++ ) |
+ ret = tmp.match( new RegExp("aaaaaaaaaa", "g") ); |
+ }); |
+ |
+ prep(function(){ |
+ tmp = str; |
+ }); |
+ |
+ test( "Uncompiled Object Test", function(){ |
+ for ( var i = 0; i < 100; i++ ) |
+ ret = (new RegExp("aaaaaaaaaa", "g")).test( tmp ); |
+ }); |
+ |
+ prep(function(){ |
+ tmp = str; |
+ }); |
+ |
+ test( "Uncompiled Object Empty Replace", function(){ |
+ for ( var i = 0; i < 50; i++ ) |
+ ret = tmp.replace( new RegExp("aaaaaaaaaa", "g"), "" ); |
+ }); |
+ |
+ prep(function(){ |
+ tmp = str; |
+ }); |
+ |
+ test( "Uncompiled Object 12 Char Replace", function(){ |
+ for ( var i = 0; i < 50; i++ ) |
+ ret = tmp.replace( new RegExp("aaaaaaaaaa", "g"), "asdfasdfasdf" ); |
+ }); |
+ |
+endTest(); }; |
+</script> |
+</head> |
+<body></body> |
+</html> |