Home | History | Annotate | Download | only in kde
      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 KDE JS Test
     25 
     26 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
     27 
     28 
     29 PASS !undefined is true
     30 PASS !null is true
     31 PASS !!true is true
     32 PASS !false is true
     33 PASS !!1 is true
     34 PASS !0 is true
     35 PASS !!'a' is true
     36 PASS !'' is true
     37 PASS nonSpeculativeNot(undefined) is true
     38 PASS nonSpeculativeNot(null) is true
     39 PASS nonSpeculativeNot(!true) is true
     40 PASS nonSpeculativeNot(false) is true
     41 PASS nonSpeculativeNot(!1) is true
     42 PASS nonSpeculativeNot(0) is true
     43 PASS nonSpeculativeNot(!'a') is true
     44 PASS nonSpeculativeNot('') is true
     45 PASS +9 is 9
     46 PASS var i = 10; +i is 10
     47 PASS -11 is -11
     48 PASS var i = 12; -i is -12
     49 PASS var i = 0; ++i; is 1
     50 PASS var i = 0; ++i; i is 1
     51 PASS var i = 0; i++; is 0
     52 PASS var i = 0; i++; i is 1
     53 PASS var i = true; i++ is 1
     54 PASS var i = true; i++; i is 2
     55 PASS var i = 0; --i; is -1
     56 PASS var i = 0; --i; i is -1
     57 PASS var i = 0; i--; is 0
     58 PASS var i = 0; i--; i is -1
     59 PASS var i = true; i-- is 1
     60 PASS var i = true; i--; i is 0
     61 PASS ~0 is -1
     62 PASS ~1 is -2
     63 PASS ~NaN is -1
     64 PASS ~Infinity is -1
     65 PASS ~Math.pow(2, 33) is -1
     66 PASS ~(Math.pow(2, 32) + Math.pow(2, 31) + 2) is 2147483645
     67 PASS ~null is -1
     68 PASS 3 & 1 is 1
     69 PASS 2 | true is 3
     70 PASS '3' ^ 1 is 2
     71 PASS 3^4&5 is 7
     72 PASS 2|4^5 is 3
     73 PASS 1 << 2 is 4
     74 PASS 8 >> 1 is 4
     75 PASS 1 >> 2 is 0
     76 PASS -8 >> 24 is -1
     77 PASS 8 >>> 2 is 2
     78 PASS -8 >>> 24 is 255
     79 PASS (-2200000000 >> 1) << 1 is 2094967296
     80 PASS Infinity >> 1 is 0
     81 PASS Infinity << 1 is 0
     82 PASS Infinity >>> 1 is 0
     83 PASS NaN >> 1 is 0
     84 PASS NaN << 1 is 0
     85 PASS NaN >>> 1 is 0
     86 PASS 8.1 >> 1 is 4
     87 PASS 8.1 << 1 is 16
     88 PASS 8.1 >>> 1 is 4
     89 PASS 8.9 >> 1 is 4
     90 PASS 8.9 << 1 is 16
     91 PASS 8.9 >>> 1 is 4
     92 PASS Math.pow(2, 32) >> 1 is 0
     93 PASS Math.pow(2, 32) << 1 is 0
     94 PASS Math.pow(2, 32) >>> 1 is 0
     95 PASS 1 << two is 4
     96 PASS 8 >> one is 4
     97 PASS 1 >> two is 0
     98 PASS -8 >> twentyFour is -1
     99 PASS 8 >>> two is 2
    100 PASS -8 >>> twentyFour is 255
    101 PASS (-2200000000 >> one) << one is 2094967296
    102 PASS Infinity >> one is 0
    103 PASS Infinity << one is 0
    104 PASS Infinity >>> one is 0
    105 PASS NaN >> one is 0
    106 PASS NaN << one is 0
    107 PASS NaN >>> one is 0
    108 PASS 888.1 >> one is 444
    109 PASS 888.1 << one is 1776
    110 PASS 888.1 >>> one is 444
    111 PASS 888.9 >> one is 444
    112 PASS 888.9 << one is 1776
    113 PASS 888.9 >>> one is 444
    114 PASS Math.pow(2, 32) >> one is 0
    115 PASS Math.pow(2, 32) << one is 0
    116 PASS Math.pow(2, 32) >>> one is 0
    117 PASS 1+2 is 3
    118 PASS 'a'+'b' is 'ab'
    119 PASS 'a'+2 is 'a2'
    120 PASS '2'+'-1' is '2-1'
    121 PASS true+'a' is 'truea'
    122 PASS 'a' + null is 'anull'
    123 PASS true+1 is 2
    124 PASS false+null is 0
    125 PASS 1-3 is -2
    126 PASS isNaN('a'-3) is true
    127 PASS '3'-'-1' is 4
    128 PASS '4'-2 is 2
    129 PASS true-false is 1
    130 PASS false-1 is -1
    131 PASS null-true is -1
    132 PASS 2 * 3 is 6
    133 PASS true * 3 is 3
    134 PASS 2 * '3' is 6
    135 PASS 6 / 4 is 1.5
    136 PASS '6' / '2' is 3
    137 PASS isNaN('x' / 1) is true
    138 PASS isNaN(1 / NaN) is true
    139 PASS isNaN(Infinity / Infinity) is true
    140 PASS Infinity / 0 is Infinity
    141 PASS -Infinity / 0 is -Infinity
    142 PASS Infinity / 1 is Infinity
    143 PASS -Infinity / 1 is -Infinity
    144 PASS 1 / Infinity == +0 is true
    145 PASS 1 / -Infinity == -0 is true
    146 PASS isNaN(0/0) is true
    147 PASS 0 / 1 === 0 is true
    148 PASS 0 / -1 === -0 is true
    149 PASS 1 / 0 is Infinity
    150 PASS -1 / 0 is -Infinity
    151 PASS 6 % 4 is 2
    152 PASS '-6' % 4 is -2
    153 PASS 2==2 is true
    154 PASS 1==2 is false
    155 PASS nonSpeculativeEqual(2,2) is true
    156 PASS nonSpeculativeEqual(1,2) is false
    157 PASS 1<2 is true
    158 PASS 1<=2 is true
    159 PASS 2<1 is false
    160 PASS 2<=1 is false
    161 PASS nonSpeculativeLess(1,2) is true
    162 PASS nonSpeculativeLessEq(1,2) is true
    163 PASS nonSpeculativeLess(2,1) is false
    164 PASS nonSpeculativeLessEq(2,1) is false
    165 PASS 2>1 is true
    166 PASS 2>=1 is true
    167 PASS 1>=2 is false
    168 PASS 1>2 is false
    169 PASS nonSpeculativeGreater(2,1) is true
    170 PASS nonSpeculativeGreaterEq(2,1) is true
    171 PASS nonSpeculativeGreaterEq(1,2) is false
    172 PASS nonSpeculativeGreater(1,2) is false
    173 PASS 'abc' == 'abc' is true
    174 PASS 'abc' != 'xyz' is true
    175 PASS true == true is true
    176 PASS false == false is true
    177 PASS true != false is true
    178 PASS 'a' != null is true
    179 PASS 'a' != undefined is true
    180 PASS null == null is true
    181 PASS null == undefined is true
    182 PASS undefined == undefined is true
    183 PASS NaN != NaN is true
    184 PASS true != undefined is true
    185 PASS true != null is true
    186 PASS false != undefined is true
    187 PASS false != null is true
    188 PASS '0' == 0 is true
    189 PASS 1 == '1' is true
    190 PASS NaN != NaN is true
    191 PASS NaN != 0 is true
    192 PASS NaN != undefined is true
    193 PASS true == 1 is true
    194 PASS true != 2 is true
    195 PASS 1 == true is true
    196 PASS false == 0 is true
    197 PASS 0 == false is true
    198 PASS nonSpeculativeEqual('abc', 'abc') is true
    199 PASS nonSpeculativeNotEqual('abc', 'xyz') is true
    200 PASS nonSpeculativeEqual(true, true) is true
    201 PASS nonSpeculativeEqual(false, false) is true
    202 PASS nonSpeculativeNotEqual(true, false) is true
    203 PASS nonSpeculativeNotEqual('a', null) is true
    204 PASS nonSpeculativeNotEqual('a', undefined) is true
    205 PASS nonSpeculativeEqual(null, null) is true
    206 PASS nonSpeculativeEqual(null, undefined) is true
    207 PASS nonSpeculativeEqual(undefined, undefined) is true
    208 PASS nonSpeculativeNotEqual(NaN, NaN) is true
    209 PASS nonSpeculativeNotEqual(true, undefined) is true
    210 PASS nonSpeculativeNotEqual(true, null) is true
    211 PASS nonSpeculativeNotEqual(false, undefined) is true
    212 PASS nonSpeculativeNotEqual(false, null) is true
    213 PASS nonSpeculativeEqual('0', 0) is true
    214 PASS nonSpeculativeEqual(1, '1') is true
    215 PASS nonSpeculativeNotEqual(NaN, NaN) is true
    216 PASS nonSpeculativeNotEqual(NaN, 0) is true
    217 PASS nonSpeculativeNotEqual(NaN, undefined) is true
    218 PASS nonSpeculativeEqual(true, 1) is true
    219 PASS nonSpeculativeNotEqual(true, 2) is true
    220 PASS nonSpeculativeEqual(1, true) is true
    221 PASS nonSpeculativeEqual(false, 0) is true
    222 PASS nonSpeculativeEqual(0, false) is true
    223 PASS 'abc' < 'abx' is true
    224 PASS 'abc' < 'abcd' is true
    225 PASS 'abc' < 'abc' is false
    226 PASS 'abcd' < 'abcd' is false
    227 PASS 'abx' < 'abc' is false
    228 PASS nonSpeculativeLess('abc', 'abx') is true
    229 PASS nonSpeculativeLess('abc', 'abcd') is true
    230 PASS nonSpeculativeLess('abc', 'abc') is false
    231 PASS nonSpeculativeLess('abcd', 'abcd') is false
    232 PASS nonSpeculativeLess('abx', 'abc') is false
    233 PASS 'abc' <= 'abc' is true
    234 PASS 'abc' <= 'abx' is true
    235 PASS 'abx' <= 'abc' is false
    236 PASS 'abcd' <= 'abc' is false
    237 PASS 'abc' <= 'abcd' is true
    238 PASS nonSpeculativeLessEq('abc', 'abc') is true
    239 PASS nonSpeculativeLessEq('abc', 'abx') is true
    240 PASS nonSpeculativeLessEq('abx', 'abc') is false
    241 PASS nonSpeculativeLessEq('abcd', 'abc') is false
    242 PASS nonSpeculativeLessEq('abc', 'abcd') is true
    243 PASS 'abc' > 'abx' is false
    244 PASS 'abc' > 'abc' is false
    245 PASS 'abcd' > 'abc' is true
    246 PASS 'abx' > 'abc' is true
    247 PASS 'abc' > 'abcd' is false
    248 PASS nonSpeculativeGreater('abc', 'abx') is false
    249 PASS nonSpeculativeGreater('abc', 'abc') is false
    250 PASS nonSpeculativeGreater('abcd', 'abc') is true
    251 PASS nonSpeculativeGreater('abx', 'abc') is true
    252 PASS nonSpeculativeGreater('abc', 'abcd') is false
    253 PASS 'abc' >= 'abc' is true
    254 PASS 'abcd' >= 'abc' is true
    255 PASS 'abx' >= 'abc' is true
    256 PASS 'abc' >= 'abx' is false
    257 PASS 'abc' >= 'abx' is false
    258 PASS 'abc' >= 'abcd' is false
    259 PASS nonSpeculativeGreaterEq('abc', 'abc') is true
    260 PASS nonSpeculativeGreaterEq('abcd', 'abc') is true
    261 PASS nonSpeculativeGreaterEq('abx', 'abc') is true
    262 PASS nonSpeculativeGreaterEq('abc', 'abx') is false
    263 PASS nonSpeculativeGreaterEq('abc', 'abx') is false
    264 PASS nonSpeculativeGreaterEq('abc', 'abcd') is false
    265 PASS 'abc' <= 0 is false
    266 PASS '' <= 0 is true
    267 PASS ' ' <= 0 is true
    268 PASS null <= 0 is true
    269 PASS 0 <= 'abc' is false
    270 PASS 0 <= '' is true
    271 PASS 0 <= null is true
    272 PASS null <= null is true
    273 PASS 6 < '52' is true
    274 PASS 6 < '72' is true
    275 PASS NaN < 0 is false
    276 PASS NaN <= 0 is false
    277 PASS NaN > 0 is false
    278 PASS NaN >= 0 is false
    279 PASS nonSpeculativeLessEq('abc', 0) is false
    280 PASS nonSpeculativeLessEq('', 0) is true
    281 PASS nonSpeculativeLessEq(' ', 0) is true
    282 PASS nonSpeculativeLessEq(null, 0) is true
    283 PASS nonSpeculativeLessEq(0, 'abc') is false
    284 PASS nonSpeculativeLessEq(0, '') is true
    285 PASS nonSpeculativeLessEq(0, null) is true
    286 PASS nonSpeculativeLessEq(null, null) is true
    287 PASS nonSpeculativeLess(6, '52') is true
    288 PASS nonSpeculativeLess(6, '72') is true
    289 PASS nonSpeculativeLess(NaN, 0) is false
    290 PASS nonSpeculativeLessEq(NaN, 0) is false
    291 PASS nonSpeculativeGreater(NaN, 0) is false
    292 PASS nonSpeculativeGreaterEq(NaN, 0) is false
    293 PASS 0 === false is false
    294 PASS null === null is true
    295 PASS NaN === NaN is false
    296 PASS 0.0 === 0 is true
    297 PASS 'abc' === 'abc' is true
    298 PASS 'a' === 'x' is false
    299 PASS 1 === '1' is false
    300 PASS '1' === 1 is false
    301 PASS true === true is true
    302 PASS false === false is true
    303 PASS true === false is false
    304 PASS Math === Math is true
    305 PASS Math === Boolean is false
    306 PASS Infinity === Infinity is true
    307 PASS nonSpeculativeStrictEqual(0, false) is false
    308 PASS nonSpeculativeStrictEqual(null, null) is true
    309 PASS nonSpeculativeStrictEqual(NaN, NaN) is false
    310 PASS nonSpeculativeStrictEqual(0.0, 0) is true
    311 PASS nonSpeculativeStrictEqual('abc', 'abc') is true
    312 PASS nonSpeculativeStrictEqual('a', 'x') is false
    313 PASS nonSpeculativeStrictEqual(1, '1') is false
    314 PASS nonSpeculativeStrictEqual('1', 1) is false
    315 PASS nonSpeculativeStrictEqual(true, true) is true
    316 PASS nonSpeculativeStrictEqual(false, false) is true
    317 PASS nonSpeculativeStrictEqual(true, false) is false
    318 PASS nonSpeculativeStrictEqual(Math, Math) is true
    319 PASS nonSpeculativeStrictEqual(Math, Boolean) is false
    320 PASS nonSpeculativeStrictEqual(Infinity, Infinity) is true
    321 PASS 0 !== 0 is false
    322 PASS 0 !== 1 is true
    323 PASS nonSpeculativeStrictNotEqual(0, 0) is false
    324 PASS nonSpeculativeStrictNotEqual(0, 1) is true
    325 PASS typeof undefined is 'undefined'
    326 PASS typeof null is 'object'
    327 PASS typeof true is 'boolean'
    328 PASS typeof false is 'boolean'
    329 PASS typeof 1 is 'number'
    330 PASS typeof 'a' is 'string'
    331 PASS typeof shouldBe is 'function'
    332 PASS typeof Number.NaN is 'number'
    333 PASS 11 && 22 is 22
    334 PASS null && true is null
    335 PASS 11 || 22 is 11
    336 PASS null || 'a' is 'a'
    337 PASS void 1 is undefined.
    338 PASS 1 in [1, 2] is true
    339 PASS 3 in [1, 2] is false
    340 PASS 'a' in { a:1, b:2 } is true
    341 PASS (new Boolean()) instanceof Boolean is true
    342 PASS (new Boolean()) instanceof Number is false
    343 PASS successfullyParsed is true
    344 
    345 TEST COMPLETE
    346 
    347