blob: eb1b0f3c0b70cdc2139c0d59d073b7e1b346342e [file] [log] [blame]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001// Copyright 2014 the V8 project authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5// Flags: --allow-natives-syntax --fold-constants
6
7function test() {
8 assertEquals("string", typeof "");
9 assertEquals("number", typeof 1.1);
10 assertEquals("number", typeof 1);
11 assertEquals("boolean", typeof true);
12 assertEquals("function", typeof function() {});
13 assertEquals("object", typeof null);
14 assertEquals("object", typeof {});
15
16 assertTrue(%_IsObject({}));
17 assertTrue(%_IsObject(null));
18 assertTrue(%_IsObject(/regex/));
19 assertFalse(%_IsObject(0));
20 assertFalse(%_IsObject(""));
21
22 assertTrue(%_IsSmi(1));
23 assertFalse(%_IsSmi(1.1));
24 assertFalse(%_IsSmi({}));
25
26 assertTrue(%_IsRegExp(/regexp/));
27 assertFalse(%_IsRegExp({}));
28
29 assertTrue(%_IsArray([1]));
30 assertFalse(%_IsArray(function() {}));
31
32 assertTrue(%_IsFunction(function() {}));
33 assertFalse(%_IsFunction(null));
34
35 assertTrue(%_IsSpecObject(new Date()));
36 assertFalse(%_IsSpecObject(1));
37
38 assertTrue(%_IsMinusZero(-0.0));
39 assertFalse(%_IsMinusZero(1));
40 assertFalse(%_IsMinusZero(""));
41}
42
43
44test();
45test();
46%OptimizeFunctionOnNextCall(test);
47test();