swig/Examples/test-suite/php/cpp20_spaceship_operator_runme.php
Olly Betts 02b4bd8eca Fix spaceship operator bugs, document, add tests
Remove some erroneously added brackets_increment() calls.

Reject <=> in preprocessor expressions with a clear error message (it
seems it isn't supported here - clang and gcc don't at least).

The type returned by `<=>` is not `bool`.  We pretend it's
`int` for now, which should work for how it's likely to be used
in constant expressions.

Fixes #1622
2022-07-27 09:12:40 +12:00

23 lines
469 B
PHP

<?php
require "tests.php";
check::functions(array('f', 'spaceship'));
check::classes(array('cpp20_spaceship_operator','A'));
check::globals(array('v', 'SPACE'));
//check::equal(ALIEN, true);
check::equal(SPACE_get(), 1);
check::equal(COMET, 1);
check::equal(v_get(), 42);
$x = new A(1);
$y = new A(2);
check::equal(spaceship($x, $y) < 0, true);
check::equal(spaceship($x, $x), 0);
check::equal(spaceship($y, $x) > 0, true);
check::equal(f(), 42);
check::done();