| OLD | NEW | 
| (Empty) |  | 
 |    1 // Copyright 2013 the V8 project authors. All rights reserved. | 
 |    2 // Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. | 
 |    3 // | 
 |    4 // Redistribution and use in source and binary forms, with or without | 
 |    5 // modification, are permitted provided that the following conditions | 
 |    6 // are met: | 
 |    7 // 1.  Redistributions of source code must retain the above copyright | 
 |    8 //     notice, this list of conditions and the following disclaimer. | 
 |    9 // 2.  Redistributions in binary form must reproduce the above copyright | 
 |   10 //     notice, this list of conditions and the following disclaimer in the | 
 |   11 //     documentation and/or other materials provided with the distribution. | 
 |   12 // | 
 |   13 // THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND AN
     Y | 
 |   14 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | 
 |   15 // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | 
 |   16 // DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR AN
     Y | 
 |   17 // DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | 
 |   18 // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | 
 |   19 // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND O
     N | 
 |   20 // ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 
 |   21 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | 
 |   22 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 
 |   23  | 
 |   24 description( | 
 |   25 "This test checks that deletion of properties works properly with getters and se
     tters." | 
 |   26 ); | 
 |   27  | 
 |   28 b1 = 1; | 
 |   29 this.__defineSetter__("a1", function() {}); | 
 |   30 this.__defineSetter__("b1", function() {}); | 
 |   31 delete a1; | 
 |   32 shouldThrow("b1.property"); | 
 |   33  | 
 |   34 a2 = 1; | 
 |   35 this.__defineSetter__("a2", function() {}); | 
 |   36 this.__defineSetter__("b2", function() {}); | 
 |   37 delete b2; | 
 |   38 shouldThrow("a2.property"); | 
 |   39  | 
 |   40 b3 = 1; | 
 |   41 this.__defineGetter__("a3", function() {}); | 
 |   42 this.__defineGetter__("b3", function() {}); | 
 |   43 delete a3; | 
 |   44 shouldThrow("b3.property"); | 
 |   45  | 
 |   46 a4 = 1; | 
 |   47 this.__defineGetter__("a4", function() {}); | 
 |   48 this.__defineGetter__("b4", function() {}); | 
 |   49 delete b4; | 
 |   50 shouldThrow("a4.property"); | 
 |   51  | 
 |   52 b5 = 1; | 
 |   53 this.__defineSetter__("a5", function() {}); | 
 |   54 this.__defineGetter__("b5", function() {}); | 
 |   55 delete a5; | 
 |   56 shouldThrow("b5.property"); | 
 |   57  | 
 |   58 a6 = 1; | 
 |   59 this.__defineSetter__("a6", function() {}); | 
 |   60 this.__defineGetter__("b6", function() {}); | 
 |   61 delete b6; | 
 |   62 shouldThrow("a6.property"); | 
 |   63  | 
 |   64 b7 = 1; | 
 |   65 this.__defineGetter__("a7", function() {}); | 
 |   66 this.__defineSetter__("b7", function() {}); | 
 |   67 delete a7; | 
 |   68 shouldThrow("b7.property"); | 
 |   69  | 
 |   70 a8 = 1; | 
 |   71 this.__defineGetter__("a8", function() {}); | 
 |   72 this.__defineSetter__("b8", function() {}); | 
 |   73 delete b8; | 
 |   74 shouldThrow("a8.property"); | 
 |   75  | 
 |   76 var o1 = { b: 1 }; | 
 |   77 o1.__defineSetter__("a", function() {}); | 
 |   78 o1.__defineSetter__("b", function() {}); | 
 |   79 delete o1.a; | 
 |   80 shouldThrow("o1.b.property"); | 
 |   81  | 
 |   82 var o2 = { a: 1 }; | 
 |   83 o2.__defineSetter__("a", function() {}); | 
 |   84 o2.__defineSetter__("b", function() {}); | 
 |   85 delete o2.b; | 
 |   86 shouldThrow("o1.a.property"); | 
 |   87  | 
 |   88 var o3 = { b: 1 }; | 
 |   89 o3.__defineGetter__("a", function() {}); | 
 |   90 o3.__defineGetter__("b", function() {}); | 
 |   91 delete o3.a; | 
 |   92 shouldThrow("o3.b.property"); | 
 |   93  | 
 |   94 var o4 = { a: 1 }; | 
 |   95 o4.__defineGetter__("a", function() {}); | 
 |   96 o4.__defineGetter__("b", function() {}); | 
 |   97 delete o4.b; | 
 |   98 shouldThrow("o4.a.property"); | 
 |   99  | 
 |  100 var o5 = { b: 1 }; | 
 |  101 o5.__defineSetter__("a", function() {}); | 
 |  102 o5.__defineSetter__("b", function() {}); | 
 |  103 delete o5.a; | 
 |  104 shouldThrow("o5.b.property"); | 
 |  105  | 
 |  106 var o6 = { a: 1 }; | 
 |  107 o6.__defineSetter__("a", function() {}); | 
 |  108 o6.__defineSetter__("b", function() {}); | 
 |  109 delete o6.b; | 
 |  110 shouldThrow("o6.a.property"); | 
 |  111  | 
 |  112 var o7 = { b: 1 }; | 
 |  113 o7.__defineGetter__("a", function() {}); | 
 |  114 o7.__defineGetter__("b", function() {}); | 
 |  115 delete o7.a; | 
 |  116 shouldThrow("o7.b.property"); | 
 |  117  | 
 |  118 var o8 = { a: 1 }; | 
 |  119 o8.__defineGetter__("a", function() {}); | 
 |  120 o8.__defineGetter__("b", function() {}); | 
 |  121 delete o8.b; | 
 |  122 shouldThrow("o8.a.property"); | 
| OLD | NEW |