Home | History | Annotate | Download | only in webkit
      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 Tests that we do ToString conversions correctly when String.prototype.valueOf is not what we wanted.
     25 
     26 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
     27 
     28 
     29 hello
     30 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
     31 hello
     32 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
     33 hello
     34 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
     35 hello
     36 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
     37 hello
     38 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
     39 hello
     40 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
     41 hello
     42 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
     43 hello
     44 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
     45 hello
     46 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
     47 hello
     48 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
     49 hello
     50 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
     51 hello
     52 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
     53 hello
     54 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
     55 hello
     56 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
     57 hello
     58 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
     59 hello
     60 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
     61 hello
     62 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
     63 hello
     64 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
     65 hello
     66 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
     67 hello
     68 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
     69 hello
     70 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
     71 hello
     72 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
     73 hello
     74 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
     75 hello
     76 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
     77 hello
     78 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
     79 hello
     80 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
     81 hello
     82 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
     83 hello
     84 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
     85 hello
     86 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
     87 hello
     88 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
     89 hello
     90 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
     91 hello
     92 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
     93 hello
     94 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
     95 hello
     96 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
     97 hello
     98 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
     99 hello
    100 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    101 hello
    102 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    103 hello
    104 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    105 hello
    106 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    107 hello
    108 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    109 hello
    110 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    111 hello
    112 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    113 hello
    114 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    115 hello
    116 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    117 hello
    118 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    119 hello
    120 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    121 hello
    122 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    123 hello
    124 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    125 hello
    126 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    127 hello
    128 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    129 hello
    130 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    131 hello
    132 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    133 hello
    134 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    135 hello
    136 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    137 hello
    138 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    139 hello
    140 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    141 hello
    142 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    143 hello
    144 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    145 hello
    146 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    147 hello
    148 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    149 hello
    150 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    151 hello
    152 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    153 hello
    154 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    155 hello
    156 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    157 hello
    158 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    159 hello
    160 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    161 hello
    162 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    163 hello
    164 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    165 hello
    166 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    167 hello
    168 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    169 hello
    170 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    171 hello
    172 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    173 hello
    174 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    175 hello
    176 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    177 hello
    178 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    179 hello
    180 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    181 hello
    182 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    183 hello
    184 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    185 hello
    186 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    187 hello
    188 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    189 hello
    190 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    191 hello
    192 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    193 hello
    194 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    195 hello
    196 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    197 hello
    198 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    199 hello
    200 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    201 hello
    202 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    203 hello
    204 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    205 hello
    206 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    207 hello
    208 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    209 hello
    210 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    211 hello
    212 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    213 hello
    214 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    215 hello
    216 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    217 hello
    218 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    219 hello
    220 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    221 hello
    222 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    223 hello
    224 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    225 hello
    226 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    227 hello
    228 PASS "" + foo({toString:function() { debug("hello"); return 42; }}) is "42"
    229 PASS successfullyParsed is true
    230 
    231 TEST COMPLETE
    232 
    233