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 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 |
OLD | NEW |