Index: chrome/test/data/dromaeo/tests/dromaeo-object-string.html |
=================================================================== |
--- chrome/test/data/dromaeo/tests/dromaeo-object-string.html (revision 0) |
+++ chrome/test/data/dromaeo/tests/dromaeo-object-string.html (revision 0) |
@@ -0,0 +1,197 @@ |
+<html> |
+<head> |
+<script src="../htmlrunner.js"></script> |
+<script> |
+window.onload = function(){ startTest("dromaeo-object-string", ''); |
+ |
+// Try to force real results |
+var ret; |
+var num = 80000; |
+ |
+// TESTS: String concatenation |
+ |
+ test( "Concat String", function(){ |
+ var str = ""; |
+ for ( var i = 0; i < num; i++ ) |
+ str += "a"; |
+ ret = str; |
+ }); |
+ |
+ test( "Concat String Object", function(){ |
+ var str = new String(); |
+ for ( var i = 0; i < num; i++ ) |
+ str += "a"; |
+ ret = str; |
+ }); |
+ |
+ test( "Concat String from charCode", function(){ |
+ var str = ""; |
+ for ( var i = 0; i < num / 2; i++ ) |
+ str += String.fromCharCode(97); |
+ ret = str; |
+ }); |
+ |
+ test( "Array String Join", function(){ |
+ var str = []; |
+ for ( var i = 0; i < num / 2; i++ ) |
+ str.push("a"); |
+ ret = str.join(""); |
+ }); |
+ |
+var ostr = [], tmp, num = 5000, tmpstr; |
+ |
+for ( var i = 0; i < 16384; i++ ) |
+ ostr.push( String.fromCharCode( (25 * Math.random()) + 97 ) ); |
+ |
+ostr = ostr.join(""); |
+ostr += ostr; |
+ostr += ostr; |
+ |
+var str; |
+var i = 52288; |
+ |
+ prep(function(){ |
+ str = new String(ostr); |
+ }); |
+ |
+ // TESTS: split |
+ test( "String Split", function(){ |
+ ret = str.split(""); |
+ }); |
+ |
+ prep(function(){ |
+ tmpstr = str; |
+ tmpstr += tmpstr; |
+ tmpstr += tmpstr; |
+ tmpstr += tmpstr; |
+ tmpstr += tmpstr; |
+ }); |
+ |
+ test( "String Split on Char", function(){ |
+ ret = tmpstr.split("a"); |
+ }); |
+ |
+ prep(function(){ |
+ str += str; |
+ }); |
+ |
+ // TESTS: characters |
+ |
+ test( "charAt", function(){ |
+ for ( var j = 0; j < num; j++ ) { |
+ ret = str.charAt(0); |
+ ret = str.charAt(str.length - 1); |
+ ret = str.charAt( 15000 ); |
+ ret = str.charAt( 12000 ); |
+ } |
+ }); |
+ |
+ test( "[Number]", function(){ |
+ for ( var j = 0; j < num; j++ ) { |
+ ret = str[0]; |
+ ret = str[str.length - 1]; |
+ ret = str[ 15000 ]; |
+ ret = str[ 10000 ]; |
+ ret = str[ 5000 ]; |
+ } |
+ }); |
+ |
+ test( "charCodeAt", function(){ |
+ for ( var j = 0; j < num; j++ ) { |
+ ret = str.charCodeAt(0); |
+ ret = str.charCodeAt(str.length - 1); |
+ ret = str.charCodeAt( 15000 ); |
+ ret = str.charCodeAt( 10000 ); |
+ ret = str.charCodeAt( 5000 ); |
+ } |
+ }); |
+ |
+ // TESTS: indexOf |
+ |
+ test( "indexOf", function(){ |
+ for ( var j = 0; j < num; j++ ) { |
+ ret = str.indexOf("a"); |
+ ret = str.indexOf("b"); |
+ ret = str.indexOf("c"); |
+ ret = str.indexOf("d"); |
+ } |
+ }); |
+ |
+ test( "lastIndexOf", function(){ |
+ for ( var j = 0; j < num; j++ ) { |
+ ret = str.lastIndexOf("a"); |
+ ret = str.lastIndexOf("b"); |
+ ret = str.lastIndexOf("c"); |
+ ret = str.lastIndexOf("d"); |
+ } |
+ }); |
+ |
+ // TESTS: slice |
+ |
+ test( "slice", function(){ |
+ for ( var j = 0; j < num; j++ ) { |
+ ret = str.slice(0); |
+ ret = str.slice(0,5); |
+ ret = str.slice(-1); |
+ ret = str.slice(-6,-1); |
+ ret = str.slice( 15000, 15005 ); |
+ ret = str.slice( 12000, -1 ); |
+ } |
+ }); |
+ |
+ // TESTS: substr |
+ |
+ test( "substr", function(){ |
+ for ( var j = 0; j < num; j++ ) { |
+ ret = str.substr(0); |
+ ret = str.substr(0,5); |
+ ret = str.substr(-1); |
+ ret = str.substr(-6,1); |
+ ret = str.substr( 15000, 5 ); |
+ ret = str.substr( 12000, 5 ); |
+ } |
+ }); |
+ |
+ // TESTS: substring |
+ |
+ test( "substring", function(){ |
+ for ( var j = 0; j < num; j++ ) { |
+ ret = str.substring(0); |
+ ret = str.substring(0,5); |
+ ret = str.substring(-1); |
+ ret = str.substring(-6,-1); |
+ ret = str.substring( 15000, 15005 ); |
+ ret = str.substring( 12000, -1 ); |
+ } |
+ }); |
+ |
+ // TESTS: toLower/UpperCase |
+ |
+ test( "toLowerCase", function(){ |
+ for ( var j = 0; j < num / 1000; j++ ) { |
+ ret = str.toLowerCase(); |
+ } |
+ }); |
+ |
+ test( "toUpperCase", function(){ |
+ for ( var j = 0; j < num / 1000; j++ ) { |
+ ret = str.toUpperCase(); |
+ } |
+ }); |
+ |
+ // TESTS: comparing |
+ |
+ test( "comparing", function(){ |
+ var tmp = str + "a"; |
+ for ( var j = 0; j < num / 1000; j++ ) { |
+ ret = str == tmp; |
+ ret = str < tmp; |
+ ret = str > tmp; |
+ } |
+ }); |
+ |
+endTest(); }; |
+</script> |
+</head> |
+<body></body> |
+</html> |