| 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>
|
|
|