diff options
author | olehougaard@google.com <olehougaard@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-12-08 13:07:27 +0000 |
---|---|---|
committer | olehougaard@google.com <olehougaard@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-12-08 13:07:27 +0000 |
commit | 73e164b84920cc30bc4da62d71662eb1fcd7b836 (patch) | |
tree | 9dd84535be87b57fc2c8898e47c7bdfda2d05101 /webkit | |
parent | b2078e5fe61d90b9762b95a1db3c664e2ab9bb84 (diff) | |
download | chromium_src-73e164b84920cc30bc4da62d71662eb1fcd7b836.zip chromium_src-73e164b84920cc30bc4da62d71662eb1fcd7b836.tar.gz chromium_src-73e164b84920cc30bc4da62d71662eb1fcd7b836.tar.bz2 |
Rebaselining LayoutTests/fast/js/constructor-attributes.html
Review URL: http://codereview.chromium.org/13617
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6504 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
7 files changed, 273 insertions, 1 deletions
diff --git a/webkit/data/layout_tests/platform/chromium-linux/LayoutTests/fast/js/README b/webkit/data/layout_tests/platform/chromium-linux/LayoutTests/fast/js/README index c979d41..72a390e 100644 --- a/webkit/data/layout_tests/platform/chromium-linux/LayoutTests/fast/js/README +++ b/webkit/data/layout_tests/platform/chromium-linux/LayoutTests/fast/js/README @@ -4,3 +4,9 @@ eval-keyword-vs-function eval-cross-window -------------------------- Only difference is the value of toString() on the window object. + +constructor-attributes +-------------------------- +The only difference is that V8 defines the constructor attribute on the +prototype for DOM objects just as for other objects. +The V8 implementation is consistent with the JavaScript specification and IE. diff --git a/webkit/data/layout_tests/platform/chromium-linux/LayoutTests/fast/js/constructor-attributes-expected.txt b/webkit/data/layout_tests/platform/chromium-linux/LayoutTests/fast/js/constructor-attributes-expected.txt new file mode 100644 index 0000000..fbec5d1 --- /dev/null +++ b/webkit/data/layout_tests/platform/chromium-linux/LayoutTests/fast/js/constructor-attributes-expected.txt @@ -0,0 +1,85 @@ +This test checks that constructor properties are not enumeratable, but are writable deletable. + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +PASS (function () { }).prototype.hasOwnProperty('constructor') is true +PASS canEnum((function () { }).prototype, 'constructor') is false +PASS x = (function () { }).prototype; x.constructor = 4; x.constructor is 4 +PASS x = (function () { }).prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS declaredFunction.prototype.hasOwnProperty('constructor') is true +PASS canEnum(declaredFunction.prototype, 'constructor') is false +PASS x = declaredFunction.prototype; x.constructor = 4; x.constructor is 4 +PASS x = declaredFunction.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS (new Function).prototype.hasOwnProperty('constructor') is true +PASS canEnum((new Function).prototype, 'constructor') is false +PASS x = (new Function).prototype; x.constructor = 4; x.constructor is 4 +PASS x = (new Function).prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS Array.prototype.hasOwnProperty('constructor') is true +PASS canEnum(Array.prototype, 'constructor') is false +PASS x = Array.prototype; x.constructor = 4; x.constructor is 4 +PASS x = Array.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS Boolean.prototype.hasOwnProperty('constructor') is true +PASS canEnum(Boolean.prototype, 'constructor') is false +PASS x = Boolean.prototype; x.constructor = 4; x.constructor is 4 +PASS x = Boolean.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS Date.prototype.hasOwnProperty('constructor') is true +PASS canEnum(Date.prototype, 'constructor') is false +PASS x = Date.prototype; x.constructor = 4; x.constructor is 4 +PASS x = Date.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS Error.prototype.hasOwnProperty('constructor') is true +PASS canEnum(Error.prototype, 'constructor') is false +PASS x = Error.prototype; x.constructor = 4; x.constructor is 4 +PASS x = Error.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS EvalError.prototype.hasOwnProperty('constructor') is true +PASS canEnum(EvalError.prototype, 'constructor') is false +PASS x = EvalError.prototype; x.constructor = 4; x.constructor is 4 +PASS x = EvalError.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS Function.prototype.hasOwnProperty('constructor') is true +PASS canEnum(Function.prototype, 'constructor') is false +PASS x = Function.prototype; x.constructor = 4; x.constructor is 4 +PASS x = Function.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS Number.prototype.hasOwnProperty('constructor') is true +PASS canEnum(Number.prototype, 'constructor') is false +PASS x = Number.prototype; x.constructor = 4; x.constructor is 4 +PASS x = Number.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS Object.prototype.hasOwnProperty('constructor') is true +PASS canEnum(Object.prototype, 'constructor') is false +PASS x = Object.prototype; x.constructor = 4; x.constructor is 4 +PASS x = Object.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS RangeError.prototype.hasOwnProperty('constructor') is true +PASS canEnum(RangeError.prototype, 'constructor') is false +PASS x = RangeError.prototype; x.constructor = 4; x.constructor is 4 +PASS x = RangeError.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS ReferenceError.prototype.hasOwnProperty('constructor') is true +PASS canEnum(ReferenceError.prototype, 'constructor') is false +PASS x = ReferenceError.prototype; x.constructor = 4; x.constructor is 4 +PASS x = ReferenceError.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS RegExp.prototype.hasOwnProperty('constructor') is true +PASS canEnum(RegExp.prototype, 'constructor') is false +PASS x = RegExp.prototype; x.constructor = 4; x.constructor is 4 +PASS x = RegExp.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS String.prototype.hasOwnProperty('constructor') is true +PASS canEnum(String.prototype, 'constructor') is false +PASS x = String.prototype; x.constructor = 4; x.constructor is 4 +PASS x = String.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS SyntaxError.prototype.hasOwnProperty('constructor') is true +PASS canEnum(SyntaxError.prototype, 'constructor') is false +PASS x = SyntaxError.prototype; x.constructor = 4; x.constructor is 4 +PASS x = SyntaxError.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS TypeError.prototype.hasOwnProperty('constructor') is true +PASS canEnum(TypeError.prototype, 'constructor') is false +PASS x = TypeError.prototype; x.constructor = 4; x.constructor is 4 +PASS x = TypeError.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS URIError.prototype.hasOwnProperty('constructor') is true +PASS canEnum(URIError.prototype, 'constructor') is false +PASS x = URIError.prototype; x.constructor = 4; x.constructor is 4 +PASS x = URIError.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +FAIL document.createTextNode('').hasOwnProperty('constructor') should be true. Was false. +PASS canEnum(document.createTextNode(''), 'constructor') is false +PASS x = document.createTextNode(''); x.constructor = 4; x.constructor is 4 +PASS x = document.createTextNode(''); delete x.constructor; x.hasOwnProperty('constructor') is false +PASS successfullyParsed is true + +TEST COMPLETE + diff --git a/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/README b/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/README index c979d41..72a390e 100644 --- a/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/README +++ b/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/README @@ -4,3 +4,9 @@ eval-keyword-vs-function eval-cross-window -------------------------- Only difference is the value of toString() on the window object. + +constructor-attributes +-------------------------- +The only difference is that V8 defines the constructor attribute on the +prototype for DOM objects just as for other objects. +The V8 implementation is consistent with the JavaScript specification and IE. diff --git a/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/constructor-attributes-expected.txt b/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/constructor-attributes-expected.txt new file mode 100644 index 0000000..fbec5d1 --- /dev/null +++ b/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/constructor-attributes-expected.txt @@ -0,0 +1,85 @@ +This test checks that constructor properties are not enumeratable, but are writable deletable. + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +PASS (function () { }).prototype.hasOwnProperty('constructor') is true +PASS canEnum((function () { }).prototype, 'constructor') is false +PASS x = (function () { }).prototype; x.constructor = 4; x.constructor is 4 +PASS x = (function () { }).prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS declaredFunction.prototype.hasOwnProperty('constructor') is true +PASS canEnum(declaredFunction.prototype, 'constructor') is false +PASS x = declaredFunction.prototype; x.constructor = 4; x.constructor is 4 +PASS x = declaredFunction.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS (new Function).prototype.hasOwnProperty('constructor') is true +PASS canEnum((new Function).prototype, 'constructor') is false +PASS x = (new Function).prototype; x.constructor = 4; x.constructor is 4 +PASS x = (new Function).prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS Array.prototype.hasOwnProperty('constructor') is true +PASS canEnum(Array.prototype, 'constructor') is false +PASS x = Array.prototype; x.constructor = 4; x.constructor is 4 +PASS x = Array.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS Boolean.prototype.hasOwnProperty('constructor') is true +PASS canEnum(Boolean.prototype, 'constructor') is false +PASS x = Boolean.prototype; x.constructor = 4; x.constructor is 4 +PASS x = Boolean.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS Date.prototype.hasOwnProperty('constructor') is true +PASS canEnum(Date.prototype, 'constructor') is false +PASS x = Date.prototype; x.constructor = 4; x.constructor is 4 +PASS x = Date.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS Error.prototype.hasOwnProperty('constructor') is true +PASS canEnum(Error.prototype, 'constructor') is false +PASS x = Error.prototype; x.constructor = 4; x.constructor is 4 +PASS x = Error.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS EvalError.prototype.hasOwnProperty('constructor') is true +PASS canEnum(EvalError.prototype, 'constructor') is false +PASS x = EvalError.prototype; x.constructor = 4; x.constructor is 4 +PASS x = EvalError.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS Function.prototype.hasOwnProperty('constructor') is true +PASS canEnum(Function.prototype, 'constructor') is false +PASS x = Function.prototype; x.constructor = 4; x.constructor is 4 +PASS x = Function.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS Number.prototype.hasOwnProperty('constructor') is true +PASS canEnum(Number.prototype, 'constructor') is false +PASS x = Number.prototype; x.constructor = 4; x.constructor is 4 +PASS x = Number.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS Object.prototype.hasOwnProperty('constructor') is true +PASS canEnum(Object.prototype, 'constructor') is false +PASS x = Object.prototype; x.constructor = 4; x.constructor is 4 +PASS x = Object.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS RangeError.prototype.hasOwnProperty('constructor') is true +PASS canEnum(RangeError.prototype, 'constructor') is false +PASS x = RangeError.prototype; x.constructor = 4; x.constructor is 4 +PASS x = RangeError.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS ReferenceError.prototype.hasOwnProperty('constructor') is true +PASS canEnum(ReferenceError.prototype, 'constructor') is false +PASS x = ReferenceError.prototype; x.constructor = 4; x.constructor is 4 +PASS x = ReferenceError.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS RegExp.prototype.hasOwnProperty('constructor') is true +PASS canEnum(RegExp.prototype, 'constructor') is false +PASS x = RegExp.prototype; x.constructor = 4; x.constructor is 4 +PASS x = RegExp.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS String.prototype.hasOwnProperty('constructor') is true +PASS canEnum(String.prototype, 'constructor') is false +PASS x = String.prototype; x.constructor = 4; x.constructor is 4 +PASS x = String.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS SyntaxError.prototype.hasOwnProperty('constructor') is true +PASS canEnum(SyntaxError.prototype, 'constructor') is false +PASS x = SyntaxError.prototype; x.constructor = 4; x.constructor is 4 +PASS x = SyntaxError.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS TypeError.prototype.hasOwnProperty('constructor') is true +PASS canEnum(TypeError.prototype, 'constructor') is false +PASS x = TypeError.prototype; x.constructor = 4; x.constructor is 4 +PASS x = TypeError.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS URIError.prototype.hasOwnProperty('constructor') is true +PASS canEnum(URIError.prototype, 'constructor') is false +PASS x = URIError.prototype; x.constructor = 4; x.constructor is 4 +PASS x = URIError.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +FAIL document.createTextNode('').hasOwnProperty('constructor') should be true. Was false. +PASS canEnum(document.createTextNode(''), 'constructor') is false +PASS x = document.createTextNode(''); x.constructor = 4; x.constructor is 4 +PASS x = document.createTextNode(''); delete x.constructor; x.hasOwnProperty('constructor') is false +PASS successfullyParsed is true + +TEST COMPLETE + diff --git a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/README b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/README index 40cd187c..8d0b839 100644 --- a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/README +++ b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/README @@ -126,3 +126,9 @@ eval-keyword-vs-function eval-cross-window -------------------------- Only difference is the value of toString() on the window object. + +constructor-attributes +-------------------------- +The only difference is that V8 defines the constructor attribute on the +prototype for DOM objects just as for other objects. +The V8 implementation is consistent with the JavaScript specification and IE. diff --git a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/constructor-attributes-expected.txt b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/constructor-attributes-expected.txt new file mode 100644 index 0000000..fbec5d1 --- /dev/null +++ b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/constructor-attributes-expected.txt @@ -0,0 +1,85 @@ +This test checks that constructor properties are not enumeratable, but are writable deletable. + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +PASS (function () { }).prototype.hasOwnProperty('constructor') is true +PASS canEnum((function () { }).prototype, 'constructor') is false +PASS x = (function () { }).prototype; x.constructor = 4; x.constructor is 4 +PASS x = (function () { }).prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS declaredFunction.prototype.hasOwnProperty('constructor') is true +PASS canEnum(declaredFunction.prototype, 'constructor') is false +PASS x = declaredFunction.prototype; x.constructor = 4; x.constructor is 4 +PASS x = declaredFunction.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS (new Function).prototype.hasOwnProperty('constructor') is true +PASS canEnum((new Function).prototype, 'constructor') is false +PASS x = (new Function).prototype; x.constructor = 4; x.constructor is 4 +PASS x = (new Function).prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS Array.prototype.hasOwnProperty('constructor') is true +PASS canEnum(Array.prototype, 'constructor') is false +PASS x = Array.prototype; x.constructor = 4; x.constructor is 4 +PASS x = Array.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS Boolean.prototype.hasOwnProperty('constructor') is true +PASS canEnum(Boolean.prototype, 'constructor') is false +PASS x = Boolean.prototype; x.constructor = 4; x.constructor is 4 +PASS x = Boolean.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS Date.prototype.hasOwnProperty('constructor') is true +PASS canEnum(Date.prototype, 'constructor') is false +PASS x = Date.prototype; x.constructor = 4; x.constructor is 4 +PASS x = Date.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS Error.prototype.hasOwnProperty('constructor') is true +PASS canEnum(Error.prototype, 'constructor') is false +PASS x = Error.prototype; x.constructor = 4; x.constructor is 4 +PASS x = Error.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS EvalError.prototype.hasOwnProperty('constructor') is true +PASS canEnum(EvalError.prototype, 'constructor') is false +PASS x = EvalError.prototype; x.constructor = 4; x.constructor is 4 +PASS x = EvalError.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS Function.prototype.hasOwnProperty('constructor') is true +PASS canEnum(Function.prototype, 'constructor') is false +PASS x = Function.prototype; x.constructor = 4; x.constructor is 4 +PASS x = Function.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS Number.prototype.hasOwnProperty('constructor') is true +PASS canEnum(Number.prototype, 'constructor') is false +PASS x = Number.prototype; x.constructor = 4; x.constructor is 4 +PASS x = Number.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS Object.prototype.hasOwnProperty('constructor') is true +PASS canEnum(Object.prototype, 'constructor') is false +PASS x = Object.prototype; x.constructor = 4; x.constructor is 4 +PASS x = Object.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS RangeError.prototype.hasOwnProperty('constructor') is true +PASS canEnum(RangeError.prototype, 'constructor') is false +PASS x = RangeError.prototype; x.constructor = 4; x.constructor is 4 +PASS x = RangeError.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS ReferenceError.prototype.hasOwnProperty('constructor') is true +PASS canEnum(ReferenceError.prototype, 'constructor') is false +PASS x = ReferenceError.prototype; x.constructor = 4; x.constructor is 4 +PASS x = ReferenceError.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS RegExp.prototype.hasOwnProperty('constructor') is true +PASS canEnum(RegExp.prototype, 'constructor') is false +PASS x = RegExp.prototype; x.constructor = 4; x.constructor is 4 +PASS x = RegExp.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS String.prototype.hasOwnProperty('constructor') is true +PASS canEnum(String.prototype, 'constructor') is false +PASS x = String.prototype; x.constructor = 4; x.constructor is 4 +PASS x = String.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS SyntaxError.prototype.hasOwnProperty('constructor') is true +PASS canEnum(SyntaxError.prototype, 'constructor') is false +PASS x = SyntaxError.prototype; x.constructor = 4; x.constructor is 4 +PASS x = SyntaxError.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS TypeError.prototype.hasOwnProperty('constructor') is true +PASS canEnum(TypeError.prototype, 'constructor') is false +PASS x = TypeError.prototype; x.constructor = 4; x.constructor is 4 +PASS x = TypeError.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +PASS URIError.prototype.hasOwnProperty('constructor') is true +PASS canEnum(URIError.prototype, 'constructor') is false +PASS x = URIError.prototype; x.constructor = 4; x.constructor is 4 +PASS x = URIError.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false +FAIL document.createTextNode('').hasOwnProperty('constructor') should be true. Was false. +PASS canEnum(document.createTextNode(''), 'constructor') is false +PASS x = document.createTextNode(''); x.constructor = 4; x.constructor is 4 +PASS x = document.createTextNode(''); delete x.constructor; x.hasOwnProperty('constructor') is false +PASS successfullyParsed is true + +TEST COMPLETE + diff --git a/webkit/tools/layout_tests/test_lists/tests_fixable.txt b/webkit/tools/layout_tests/test_lists/tests_fixable.txt index 5cc1f49..e31e7ce 100644 --- a/webkit/tools/layout_tests/test_lists/tests_fixable.txt +++ b/webkit/tools/layout_tests/test_lists/tests_fixable.txt @@ -530,7 +530,6 @@ SKIP : LayoutTests/http/tests/appcache = TIMEOUT FAIL // V8 failures as a result of the WebKit merge. // http://code.google.com/p/v8/issues/detail?id=92 -LayoutTests/fast/js/constructor-attributes.html = FAIL LayoutTests/fast/js/exception-try-finally-scope-error.html = FAIL LayoutTests/fast/js/function-dot-arguments-and-caller.html = FAIL LayoutTests/fast/js/global-recursion-on-full-stack.html = FAIL |