This repository was archived by the owner on Mar 29, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathBooleanObject.phpt
189 lines (163 loc) · 7.36 KB
/
BooleanObject.phpt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
--TEST--
V8\BooleanObject
--SKIPIF--
<?php if (!extension_loaded("v8")) print "skip"; ?>
--FILE--
<?php
/** @var \Phpv8Testsuite $helper */
$helper = require '.testsuite.php';
require '.v8-helpers.php';
$v8_helper = new PhpV8Helpers($helper);
$isolate = new \V8\Isolate();
$context = new V8\Context($isolate);
$v8_helper->injectConsoleLog($context);
$value = new V8\BooleanObject($context, true);
$helper->header('Object representation');
$helper->dump($value);
$helper->space();
$helper->assert('BooleanObject extends ObjectValue', $value instanceof \V8\ObjectValue);
$helper->line();
$helper->header('Getters');
$helper->method_export($value, 'valueOf');
$helper->space();
$v8_helper->run_checks($value, 'Checkers');
$context->globalObject()->set($context, new \V8\StringValue($isolate, 'val'), $value);
$source = '
console.log("val: ", val);
console.log("typeof val: ", typeof val);
new Boolean(false);
';
$res = $v8_helper->CompileRun($context, $source);
$helper->space();
$v8_helper->run_checks($res, 'Checkers on boxed from script');
?>
--EXPECT--
Object representation:
----------------------
object(V8\BooleanObject)#6 (2) {
["isolate":"V8\Value":private]=>
object(V8\Isolate)#3 (0) {
}
["context":"V8\ObjectValue":private]=>
object(V8\Context)#4 (1) {
["isolate":"V8\Context":private]=>
object(V8\Isolate)#3 (0) {
}
}
}
BooleanObject extends ObjectValue: ok
Getters:
--------
V8\BooleanObject->valueOf(): bool(true)
Checkers:
---------
V8\BooleanObject(V8\Value)->typeOf(): V8\StringValue->value(): string(6) "object"
V8\BooleanObject(V8\ObjectValue)->isCallable(): bool(false)
V8\BooleanObject(V8\ObjectValue)->isConstructor(): bool(false)
V8\BooleanObject(V8\Value)->isUndefined(): bool(false)
V8\BooleanObject(V8\Value)->isNull(): bool(false)
V8\BooleanObject(V8\Value)->isNullOrUndefined(): bool(false)
V8\BooleanObject(V8\Value)->isTrue(): bool(false)
V8\BooleanObject(V8\Value)->isFalse(): bool(false)
V8\BooleanObject(V8\Value)->isName(): bool(false)
V8\BooleanObject(V8\Value)->isString(): bool(false)
V8\BooleanObject(V8\Value)->isSymbol(): bool(false)
V8\BooleanObject(V8\Value)->isFunction(): bool(false)
V8\BooleanObject(V8\Value)->isArray(): bool(false)
V8\BooleanObject(V8\Value)->isObject(): bool(true)
V8\BooleanObject(V8\Value)->isBoolean(): bool(false)
V8\BooleanObject(V8\Value)->isNumber(): bool(false)
V8\BooleanObject(V8\Value)->isInt32(): bool(false)
V8\BooleanObject(V8\Value)->isUint32(): bool(false)
V8\BooleanObject(V8\Value)->isDate(): bool(false)
V8\BooleanObject(V8\Value)->isArgumentsObject(): bool(false)
V8\BooleanObject(V8\Value)->isBooleanObject(): bool(true)
V8\BooleanObject(V8\Value)->isNumberObject(): bool(false)
V8\BooleanObject(V8\Value)->isStringObject(): bool(false)
V8\BooleanObject(V8\Value)->isSymbolObject(): bool(false)
V8\BooleanObject(V8\Value)->isNativeError(): bool(false)
V8\BooleanObject(V8\Value)->isRegExp(): bool(false)
V8\BooleanObject(V8\Value)->isAsyncFunction(): bool(false)
V8\BooleanObject(V8\Value)->isGeneratorFunction(): bool(false)
V8\BooleanObject(V8\Value)->isGeneratorObject(): bool(false)
V8\BooleanObject(V8\Value)->isPromise(): bool(false)
V8\BooleanObject(V8\Value)->isMap(): bool(false)
V8\BooleanObject(V8\Value)->isSet(): bool(false)
V8\BooleanObject(V8\Value)->isMapIterator(): bool(false)
V8\BooleanObject(V8\Value)->isSetIterator(): bool(false)
V8\BooleanObject(V8\Value)->isWeakMap(): bool(false)
V8\BooleanObject(V8\Value)->isWeakSet(): bool(false)
V8\BooleanObject(V8\Value)->isArrayBuffer(): bool(false)
V8\BooleanObject(V8\Value)->isArrayBufferView(): bool(false)
V8\BooleanObject(V8\Value)->isTypedArray(): bool(false)
V8\BooleanObject(V8\Value)->isUint8Array(): bool(false)
V8\BooleanObject(V8\Value)->isUint8ClampedArray(): bool(false)
V8\BooleanObject(V8\Value)->isInt8Array(): bool(false)
V8\BooleanObject(V8\Value)->isUint16Array(): bool(false)
V8\BooleanObject(V8\Value)->isInt16Array(): bool(false)
V8\BooleanObject(V8\Value)->isUint32Array(): bool(false)
V8\BooleanObject(V8\Value)->isInt32Array(): bool(false)
V8\BooleanObject(V8\Value)->isFloat32Array(): bool(false)
V8\BooleanObject(V8\Value)->isFloat64Array(): bool(false)
V8\BooleanObject(V8\Value)->isBigInt64Array(): bool(false)
V8\BooleanObject(V8\Value)->isBigUint64Array(): bool(false)
V8\BooleanObject(V8\Value)->isDataView(): bool(false)
V8\BooleanObject(V8\Value)->isSharedArrayBuffer(): bool(false)
V8\BooleanObject(V8\Value)->isProxy(): bool(false)
val: true
typeof val: object
Checkers on boxed from script:
------------------------------
V8\BooleanObject(V8\Value)->typeOf(): V8\StringValue->value(): string(6) "object"
V8\BooleanObject(V8\ObjectValue)->isCallable(): bool(false)
V8\BooleanObject(V8\ObjectValue)->isConstructor(): bool(false)
V8\BooleanObject(V8\Value)->isUndefined(): bool(false)
V8\BooleanObject(V8\Value)->isNull(): bool(false)
V8\BooleanObject(V8\Value)->isNullOrUndefined(): bool(false)
V8\BooleanObject(V8\Value)->isTrue(): bool(false)
V8\BooleanObject(V8\Value)->isFalse(): bool(false)
V8\BooleanObject(V8\Value)->isName(): bool(false)
V8\BooleanObject(V8\Value)->isString(): bool(false)
V8\BooleanObject(V8\Value)->isSymbol(): bool(false)
V8\BooleanObject(V8\Value)->isFunction(): bool(false)
V8\BooleanObject(V8\Value)->isArray(): bool(false)
V8\BooleanObject(V8\Value)->isObject(): bool(true)
V8\BooleanObject(V8\Value)->isBoolean(): bool(false)
V8\BooleanObject(V8\Value)->isNumber(): bool(false)
V8\BooleanObject(V8\Value)->isInt32(): bool(false)
V8\BooleanObject(V8\Value)->isUint32(): bool(false)
V8\BooleanObject(V8\Value)->isDate(): bool(false)
V8\BooleanObject(V8\Value)->isArgumentsObject(): bool(false)
V8\BooleanObject(V8\Value)->isBooleanObject(): bool(true)
V8\BooleanObject(V8\Value)->isNumberObject(): bool(false)
V8\BooleanObject(V8\Value)->isStringObject(): bool(false)
V8\BooleanObject(V8\Value)->isSymbolObject(): bool(false)
V8\BooleanObject(V8\Value)->isNativeError(): bool(false)
V8\BooleanObject(V8\Value)->isRegExp(): bool(false)
V8\BooleanObject(V8\Value)->isAsyncFunction(): bool(false)
V8\BooleanObject(V8\Value)->isGeneratorFunction(): bool(false)
V8\BooleanObject(V8\Value)->isGeneratorObject(): bool(false)
V8\BooleanObject(V8\Value)->isPromise(): bool(false)
V8\BooleanObject(V8\Value)->isMap(): bool(false)
V8\BooleanObject(V8\Value)->isSet(): bool(false)
V8\BooleanObject(V8\Value)->isMapIterator(): bool(false)
V8\BooleanObject(V8\Value)->isSetIterator(): bool(false)
V8\BooleanObject(V8\Value)->isWeakMap(): bool(false)
V8\BooleanObject(V8\Value)->isWeakSet(): bool(false)
V8\BooleanObject(V8\Value)->isArrayBuffer(): bool(false)
V8\BooleanObject(V8\Value)->isArrayBufferView(): bool(false)
V8\BooleanObject(V8\Value)->isTypedArray(): bool(false)
V8\BooleanObject(V8\Value)->isUint8Array(): bool(false)
V8\BooleanObject(V8\Value)->isUint8ClampedArray(): bool(false)
V8\BooleanObject(V8\Value)->isInt8Array(): bool(false)
V8\BooleanObject(V8\Value)->isUint16Array(): bool(false)
V8\BooleanObject(V8\Value)->isInt16Array(): bool(false)
V8\BooleanObject(V8\Value)->isUint32Array(): bool(false)
V8\BooleanObject(V8\Value)->isInt32Array(): bool(false)
V8\BooleanObject(V8\Value)->isFloat32Array(): bool(false)
V8\BooleanObject(V8\Value)->isFloat64Array(): bool(false)
V8\BooleanObject(V8\Value)->isBigInt64Array(): bool(false)
V8\BooleanObject(V8\Value)->isBigUint64Array(): bool(false)
V8\BooleanObject(V8\Value)->isDataView(): bool(false)
V8\BooleanObject(V8\Value)->isSharedArrayBuffer(): bool(false)
V8\BooleanObject(V8\Value)->isProxy(): bool(false)