| OLD | NEW | 
|    1 // Copyright 2015 the V8 project authors. All rights reserved. |    1 // Copyright 2015 the V8 project authors. All rights reserved. | 
|    2 // Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. |    2 // Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. | 
|    3 // |    3 // | 
|    4 // Redistribution and use in source and binary forms, with or without |    4 // Redistribution and use in source and binary forms, with or without | 
|    5 // modification, are permitted provided that the following conditions |    5 // modification, are permitted provided that the following conditions | 
|    6 // are met: |    6 // are met: | 
|    7 // 1.  Redistributions of source code must retain the above copyright |    7 // 1.  Redistributions of source code must retain the above copyright | 
|    8 //     notice, this list of conditions and the following disclaimer. |    8 //     notice, this list of conditions and the following disclaimer. | 
|    9 // 2.  Redistributions in binary form must reproduce the above copyright |    9 // 2.  Redistributions in binary form must reproduce the above copyright | 
|   10 //     notice, this list of conditions and the following disclaimer in the |   10 //     notice, this list of conditions and the following disclaimer in the | 
|   11 //     documentation and/or other materials provided with the distribution. |   11 //     documentation and/or other materials provided with the distribution. | 
|   12 // |   12 // | 
|   13 // THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND AN
     Y |   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 |   14 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | 
|   15 // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |   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 |   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 |   17 // DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | 
|   18 // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |   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 |   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 |   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 |   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. |   22 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 
|   23  |   23  | 
|   24 // Flags: --harmony-sloppy |  | 
|   25  |  | 
|   26 description('Tests for ES6 class syntax "extends"'); |   24 description('Tests for ES6 class syntax "extends"'); | 
|   27  |   25  | 
|   28 class Base { |   26 class Base { | 
|   29     constructor() { } |   27     constructor() { } | 
|   30     baseMethod() { return 'base'; } |   28     baseMethod() { return 'base'; } | 
|   31     overridenMethod() { return 'base'; } |   29     overridenMethod() { return 'base'; } | 
|   32     static staticBaseMethod() { return 'base'; } |   30     static staticBaseMethod() { return 'base'; } | 
|   33     static staticOverridenMethod() { return 'base'; } |   31     static staticOverridenMethod() { return 'base'; } | 
|   34 } |   32 } | 
|   35  |   33  | 
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  102 shouldThrow('new (class extends null { constructor () { this; } })', '"Reference
     Error: this is not defined"'); |  100 shouldThrow('new (class extends null { constructor () { this; } })', '"Reference
     Error: this is not defined"'); | 
|  103 shouldThrow('new (class extends null { constructor () { super(); } })', '"TypeEr
     ror: super is not a constructor"'); |  101 shouldThrow('new (class extends null { constructor () { super(); } })', '"TypeEr
     ror: super is not a constructor"'); | 
|  104 shouldBe('x = {}; new (class extends null { constructor () { return x } })', 'x'
     ); |  102 shouldBe('x = {}; new (class extends null { constructor () { return x } })', 'x'
     ); | 
|  105 shouldThrow('y = 12; new (class extends null { constructor () { return y; } })',
      '"TypeError: Derived constructors may only return object or undefined"'); |  103 shouldThrow('y = 12; new (class extends null { constructor () { return y; } })',
      '"TypeError: Derived constructors may only return object or undefined"'); | 
|  106 shouldBeTrue ('class x {}; new (class extends null { constructor () { return new
      x; } }) instanceof x'); |  104 shouldBeTrue ('class x {}; new (class extends null { constructor () { return new
      x; } }) instanceof x'); | 
|  107 shouldBe('x = null; Object.getPrototypeOf((class extends x { }).prototype)', 'nu
     ll'); |  105 shouldBe('x = null; Object.getPrototypeOf((class extends x { }).prototype)', 'nu
     ll'); | 
|  108 shouldBeTrue('Object.prototype.isPrototypeOf(class { })'); |  106 shouldBeTrue('Object.prototype.isPrototypeOf(class { })'); | 
|  109 shouldBeTrue('Function.prototype.isPrototypeOf(class { })'); |  107 shouldBeTrue('Function.prototype.isPrototypeOf(class { })'); | 
|  110  |  108  | 
|  111 var successfullyParsed = true; |  109 var successfullyParsed = true; | 
| OLD | NEW |