1 // 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.
5 // Flags: --allow-natives-syntax --fold-constants
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 {});
16 assertTrue(%_IsObject({}));
17 assertTrue(%_IsObject(null));
18 assertTrue(%_IsObject(/regex/));
19 assertFalse(%_IsObject(0));
20 assertFalse(%_IsObject(""));
22 assertTrue(%_IsSmi(1));
23 assertFalse(%_IsSmi(1.1));
24 assertFalse(%_IsSmi({}));
26 assertTrue(%_IsRegExp(/regexp/));
27 assertFalse(%_IsRegExp({}));
29 assertTrue(%_IsArray([1]));
30 assertFalse(%_IsArray(function() {}));
32 assertTrue(%_IsFunction(function() {}));
33 assertFalse(%_IsFunction(null));
35 assertTrue(%_IsSpecObject(new Date()));
36 assertFalse(%_IsSpecObject(1));
38 assertTrue(%_IsMinusZero(-0.0));
39 assertFalse(%_IsMinusZero(1));
40 assertFalse(%_IsMinusZero(""));
46 %OptimizeFunctionOnNextCall(test);