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 ANY 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 ANY 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 ON 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 This page tests handling of parenthetical assertions. 25 26 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". 27 28 29 PASS regex1.exec('xx') is ['xx','x'] 30 PASS regex2.exec('baaabaac') is ['baaabaac','ba',undefined,'abaac'] 31 PASS regex3.exec('aaab') is ['aab','a','aab'] 32 PASS regex4.exec('aaab') is ['aab','a','aab'] 33 PASS regex5.exec('P11') is ['P11','1','1'] 34 PASS regex6.exec('ababbbcbc') is ['ababb','bb','b'] 35 PASS regex7.exec('xx') is ['xx','x'] 36 PASS regex8.exec('xx') is ['xx','x','x'] 37 PASS regex9.exec('xy') is null 38 PASS regex10.exec('xy') is null 39 PASS regex11.exec('xy') is null 40 PASS regex12.exec('x') is null 41 PASS regex12.exec('xx') is ['xx','x'] 42 PASS regex12.exec('xxy') is ['xx','x'] 43 PASS regex13.exec('xzzzx') is ['xzzzx','x'] 44 PASS regex13.exec('xzzzxy') is ['xzzzx','x'] 45 PASS regex14.exec('aabc') is ['aabc','a','bc'] 46 PASS regex14.exec('aabcx') is ['aabc','a','bc'] 47 PASS regex15.exec('aabc') is ['aabc','a','bc'] 48 PASS regex15.exec('aabcx') is ['aabc','a','bc'] 49 PASS regex16.exec('ab') is null 50 PASS regex16.exec('abc') is ['abc','bc'] 51 PASS regex17.exec('ab') is ['a','ab'] 52 PASS regex17.exec('abc') is ['a','ab'] 53 PASS regex18.exec('x') is ['x',''] 54 PASS regex18.exec('xx') is ['x','xx'] 55 PASS regex18.exec('xxx') is ['x','xx'] 56 PASS regex19.exec('x') is ['x','',undefined] 57 PASS regex19.exec('xx') is ['x','xx','xx'] 58 PASS regex19.exec('xxx') is ['x','xx','xx'] 59 PASS regex20.exec('x') is null 60 PASS regex20.exec('xx') is ['x','xx'] 61 PASS regex20.exec('xxx') is ['x','xx'] 62 PASS regex21.exec('aab') is ['aab'] 63 PASS regex22.exec('55up') is null 64 PASS regex23.exec('ax') is null 65 PASS regex24.exec('x') is null 66 PASS successfullyParsed is true 67 68 TEST COMPLETE 69 70