Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1029)

Unified Diff: test/webkit/fast/js/kde/Array.js

Issue 21173004: Version 3.20.11.1 (Closed) Base URL: https://v8.googlecode.com/svn/trunk
Patch Set: Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: test/webkit/fast/js/kde/Array.js
diff --git a/test/webkit/fast/js/kde/Array.js b/test/webkit/fast/js/kde/Array.js
deleted file mode 100644
index 26bf331588e875ca6e13de348ca16825c654b8be..0000000000000000000000000000000000000000
--- a/test/webkit/fast/js/kde/Array.js
+++ /dev/null
@@ -1,236 +0,0 @@
-// Copyright 2013 the V8 project authors. All rights reserved.
-// Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// 2. Redistributions in binary form must reproduce the above copyright
-// notice, this list of conditions and the following disclaimer in the
-// documentation and/or other materials provided with the distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY
-// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
-// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-description("KDE JS Test");
-// 15.4 Array Objects
-// (c) 2001 Harri Porten <porten@kde.org>
-
-shouldBe("Array().length", "0");
-shouldBe("(new Array()).length", "0");
-shouldBe("(new Array(3)).length", "3");
-shouldBe("(new Array(11, 22)).length", "2");
-shouldBe("(new Array(11, 22))[0]", "11");
-shouldBe("Array(11, 22)[1]", "22");
-shouldBeUndefined("(new Array(11, 22))[3]");
-shouldBe("String(new Array(11, 22))", "'11,22'");
-shouldBe("var a = []; a[0] = 33; a[0]", "33");
-shouldBe("var a = []; a[0] = 33; a.length", "1");
-shouldBe("var a = [11, 22]; a.length = 1; String(a);", "'11'");
-shouldBe("var a = [11, 22]; a.length = 1; a.length;", "1");
-
-// range checks
-var caught = false;
-var ename = "";
-try {
- [].length = -1;
-} catch (e) {
- // expect Range Error
- caught = true;
- ename = e.name;
-}
-
-shouldBeTrue("caught;");
-shouldBe("ename", "'RangeError'");
-
-caught = false;
-ename = "";
-try {
- new Array(Infinity);
-} catch (e) {
- // expect Range Error
- caught = true;
- ename = e.name;
-}
-shouldBeTrue("caught;");
-shouldBe("ename", "'RangeError'");
-
-shouldBeUndefined("var a = [11, 22]; a.length = 1; a[1];");
-shouldBe("Array().toString()", "''");
-shouldBe("Array(3).toString()", "',,'");
-shouldBe("Array(11, 22).toString()", "'11,22'");
-shouldBe("String(Array(11, 22).concat(33))", "'11,22,33'");
-shouldBe("String(Array(2).concat(33, 44))", "',,33,44'");
-shouldBe("String(Array(2).concat(Array(2)))", "',,,'");
-shouldBe("String(Array(11,22).concat(Array(33,44)))", "'11,22,33,44'");
-shouldBe("String(Array(1,2).concat(3,Array(4,5)))", "'1,2,3,4,5'");
-shouldBe("var a = new Array(1,2,3); delete a[1]; String(a.concat(4))", "'1,,3,4'");
-
-shouldBe("[1,2,3,4].slice(1, 3).toString()", "'2,3'");
-shouldBe("[1,2,3,4].slice(-3, -1).toString()", "'2,3'");
-shouldBe("[1,2].slice(-9, 0).length", "0");
-shouldBe("[1,2].slice(1).toString()", "'2'");
-shouldBe("[1,2].slice().toString()", "'1,2'");
-
-// 2nd set.
-shouldBe("(new Array('a')).length", "1");
-shouldBe("(new Array('a'))[0]", "'a'");
-shouldBeUndefined("(new Array('a'))[1]");
-
-shouldBe("Array('a').length", "1");
-shouldBe("Array('a')[0]", "'a'");
-
-shouldBe("String(Array())", "''");
-shouldBe("String(Array('a','b'))", "'a,b'");
-
-shouldBe("[].length", "0");
-shouldBe("['a'].length", "1");
-shouldBe("['a'][0]", "'a'");
-shouldBe("['a',,'c'][2]", "'c'");
-shouldBe("['a',undefined,'c'][1]", "undefined");
-shouldBe("['a',,'c'][1]", "undefined");
-shouldBe("1 in ['a',,'c']", "false");
-shouldBe("1 in ['a',undefined,'c']", "true");
-
-var arrayWithDeletion = ['a','b','c'];
-delete arrayWithDeletion[1];
-shouldBe("1 in arrayWithDeletion", "false");
-
-function forInSum(_a) {
- var s = '';
- for (i in _a)
- s += _a[i];
- return s;
-}
-
-shouldBe("forInSum([])", "''");
-shouldBe("forInSum(Array())", "''");
-shouldBe("forInSum(Array('a'))", "'a'");
-shouldBe("forInSum([,undefined,'x','aa'])", "'undefinedxaa'");
-
-var a0 = [];
-shouldBe("forInSum(a0)", "''");
-
-var a1 = [ 'a' ];
-shouldBe("forInSum(a1)", "'a'");
-
-shouldBe("String([].sort())", "''")
-shouldBe("String([3,1,'2'].sort())", "'1,2,3'");
-shouldBe("String([,'x','aa'].sort())", "'aa,x,'");
-shouldBe("String([,undefined,'x','aa'].sort())", "'aa,x,,'");
-shouldBe("2 in [,undefined,'x','aa'].sort()", "true");
-shouldBe("3 in [,undefined,'x','aa'].sort()", "false");
-
-// sort by length
-function comp(a, b) {
- var la = String(a).length;
- var lb = String(b).length;
- if (la < lb)
- return -1;
- else if (la > lb)
- return 1;
- else
- return 0;
-}
-shouldBe("var a = ['aa', 'b', 'cccc', 'ddd']; String(a.sort(comp))", "'b,aa,ddd,cccc'");
-
-// +/-Infinity as function return value
-shouldBe("[0, Infinity].sort(function(a, b) { return a - b }).toString()", "'0,Infinity'");
-
-// Array.unshift()
-shouldBe("[].unshift('a')", "1");
-shouldBe("['c'].unshift('a', 'b')", "3");
-shouldBe("var a = []; a.unshift('a'); String(a)", "'a'");
-shouldBe("var a = ['c']; a.unshift('a', 'b'); String(a)", "'a,b,c'");
-
-// Array.splice()
-shouldBe("String(['a', 'b', 'c'].splice(1, 2, 'x', 'y'))", "'b,c'");
-
-var maxint = Math.pow(2,32)-1;
-var arr = new Array();
-
-// 2^32 should not be treated as a valid array index, i.e.
-// setting the property on the array should not result in
-// the length being modified
-
-arr.length = 40;
-arr[maxint] = "test";
-shouldBe("arr.length","40");
-shouldBe("arr[maxint]","\"test\"");
-delete arr[maxint];
-shouldBe("arr.length","40");
-shouldBe("arr[maxint]","undefined");
-arr[maxint-1] = "test2";
-shouldBe("arr.length","maxint");
-shouldBe("arr[maxint-1]","\"test2\"");
-
-// Floating point numbers also should not be treated as valid array indices.
-arr.length = 40;
-arr[55.5] = "test"; // does fit in a JSImmediate number
-arr[65.11111111111111111111111111111] = "test"; // does not fit in a JSImmediate number
-shouldBe("arr.length","40");
-shouldBe("arr[55.5]","\"test\"");
-shouldBe("arr[65.11111111111111111111111111111]","\"test\"");
-delete arr[55.5];
-delete arr[65.11111111111111111111111111111];
-shouldBe("arr.length","40");
-shouldBe("arr[55.5]","undefined");
-shouldBe("arr[65.11111111111111111111111111111]","undefined");
-
-arr = new Array('a','b','c');
-arr.__proto__ = { 1: 'x' };
-var propnames = new Array();
-for (i in arr)
- propnames.push(i);
-propnames.sort();
-shouldBe("propnames.length","3");
-shouldBe("propnames[0]","'0'");
-shouldBe("propnames[1]","'1'");
-shouldBe("propnames[2]","'2'");
-
-function testToString() {
- // backup
- var backupNumberToString = Number.prototype.toString;
- var backupNumberToLocaleString = Number.prototype.toLocaleString;
- var backupRegExpToString = RegExp.prototype.toString;
- var backupRegExpToLocaleString = RegExp.prototype.toLocaleString;
-
- // change functions
- Number.prototype.toString = function() { return "toString"; }
- Number.prototype.toLocaleString = function() { return "toLocaleString"; }
- RegExp.prototype.toString = function() { return "toString2"; }
- RegExp.prototype.toLocaleString = function() { return "toLocaleString2"; }
-
- // the tests
- shouldBe("[1].toString()", "'1'");
- shouldBe("[1].toLocaleString()", "'toLocaleString'");
- Number.prototype.toLocaleString = "invalid";
- shouldBe("[1].toLocaleString()", "'1'");
- shouldBe("[/r/].toString()", "'toString2'");
- shouldBe("[/r/].toLocaleString()", "'toLocaleString2'");
- RegExp.prototype.toLocaleString = "invalid";
- shouldBe("[/r/].toLocaleString()", "'toString2'");
-
- var caught = false;
- try {
- [{ toString : 0 }].toString();
- } catch (e) {
- caught = true;
- }
- shouldBeTrue("caught");
-
- // restore
- Number.prototype.toString = backupNumberToString;
- Number.prototype.toLocaleString = backupNumberToLocaleString;
- RegExp.prototype.toString = backupRegExpToString;
- RegExp.prototype.toLocaleString = backupRegExpToLocaleString;
-}
« no previous file with comments | « test/webkit/fast/js/function-decompilation-operators-expected.txt ('k') | test/webkit/fast/js/kde/Array-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698