- add third_party src.
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / ietestcenter / Javascript / TestCases / 15.4.4.14-2-13.js
1 /// Copyright (c) 2009 Microsoft Corporation \r
2 /// \r
3 /// Redistribution and use in source and binary forms, with or without modification, are permitted provided\r
4 /// that the following conditions are met: \r
5 ///    * Redistributions of source code must retain the above copyright notice, this list of conditions and\r
6 ///      the following disclaimer. \r
7 ///    * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and \r
8 ///      the following disclaimer in the documentation and/or other materials provided with the distribution.  \r
9 ///    * Neither the name of Microsoft nor the names of its contributors may be used to\r
10 ///      endorse or promote products derived from this software without specific prior written permission.\r
11 /// \r
12 /// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR\r
13 /// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS\r
14 /// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE\r
15 /// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\r
16 /// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
17 /// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\r
18 /// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF\r
19 /// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
20 \r
21 \r
22 ES5Harness.registerTest({\r
23 \r
24     id: "15.4.4.14-2-13",\r
25 \r
26     path: "TestCases/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-13.js",\r
27 \r
28     description: "Array.prototype.indexOf when 'length' is own accessor property without a get function that overrides an inherited accessor property",\r
29 \r
30     test: function testcase() {\r
31         try {\r
32             Object.defineProperty(Object.prototype, "length", {\r
33                 get: function () {\r
34                     return 20;\r
35                 },\r
36                 configurable: true\r
37             });\r
38 \r
39             var obj = { 1: 1 };\r
40             Object.defineProperty(obj, "length", {\r
41                 set: function () { },\r
42                 configurable: true\r
43             });\r
44 \r
45             return Array.prototype.indexOf.call(obj, 1) === -1;\r
46         } finally {\r
47             delete Object.prototype.length;\r
48         }\r
49     },\r
50 \r
51     precondition: function prereq() {\r
52         return fnExists(Array.prototype.indexOf) && fnExists(Object.defineProperty);\r
53     }\r
54 \r
55 });\r