xref: /PHP-8.0/ext/gmp/tests/gmp_strict_types.phpt (revision 25198277)
1--TEST--
2GMP functions with strict_types=1
3--FILE--
4<?php
5
6declare(strict_types=1);
7
8var_dump(gmp_abs(gmp_init(-1)));
9var_dump(gmp_abs(-1));
10var_dump(gmp_abs("-1"));
11try {
12    gmp_abs(1.0);
13} catch (TypeError $e) {
14    echo $e->getMessage(), "\n";
15}
16try {
17    gmp_abs(false);
18} catch (TypeError $e) {
19    echo $e->getMessage(), "\n";
20}
21try {
22    gmp_abs(true);
23} catch (TypeError $e) {
24    echo $e->getMessage(), "\n";
25}
26try {
27    gmp_abs(null);
28} catch (TypeError $e) {
29    echo $e->getMessage(), "\n";
30}
31try {
32    gmp_abs([]);
33} catch (TypeError $e) {
34    echo $e->getMessage(), "\n";
35}
36
37?>
38--EXPECT--
39object(GMP)#2 (1) {
40  ["num"]=>
41  string(1) "1"
42}
43object(GMP)#2 (1) {
44  ["num"]=>
45  string(1) "1"
46}
47object(GMP)#2 (1) {
48  ["num"]=>
49  string(1) "1"
50}
51gmp_abs(): Argument #1 ($num) must be of type GMP|string|int, float given
52gmp_abs(): Argument #1 ($num) must be of type GMP|string|int, bool given
53gmp_abs(): Argument #1 ($num) must be of type GMP|string|int, bool given
54gmp_abs(): Argument #1 ($num) must be of type GMP|string|int, null given
55gmp_abs(): Argument #1 ($num) must be of type GMP|string|int, array given
56