diff options
| author | nsfisis <nsfisis@gmail.com> | 2024-06-28 00:30:17 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2024-06-28 00:40:06 +0900 |
| commit | de8914e4080350b74ba9de9c8ceeef38809da8d9 (patch) | |
| tree | ca85710d18c5e41688f70e7b1dda85d1b25a3771 /tests | |
| parent | 00925ff256fdf96d3bb259464e771c553c1ffabb (diff) | |
| download | php-waddiwasi-de8914e4080350b74ba9de9c8ceeef38809da8d9.tar.gz php-waddiwasi-de8914e4080350b74ba9de9c8ceeef38809da8d9.tar.zst php-waddiwasi-de8914e4080350b74ba9de9c8ceeef38809da8d9.zip | |
fix: some integral operations
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/src/SpecTestsuites/SpecTestsuiteBase.php | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/tests/src/SpecTestsuites/SpecTestsuiteBase.php b/tests/src/SpecTestsuites/SpecTestsuiteBase.php index 06a911e..1e74e13 100644 --- a/tests/src/SpecTestsuites/SpecTestsuiteBase.php +++ b/tests/src/SpecTestsuites/SpecTestsuiteBase.php @@ -157,9 +157,9 @@ abstract class SpecTestsuiteBase extends TestCase $type = $arg['type']; $value = $arg['value']; return match ($type) { - 'i32' => unpack('l', pack('l', (int)$value))[1], + 'i32' => unpack('l', pack('V', (int)$value))[1], 'i64' => unpack('q', self::convertInt64ToBinary($value))[1], - 'f32' => unpack('g', pack('l', (int)$value))[1], + 'f32' => unpack('g', pack('V', (int)$value))[1], 'f64' => unpack('e', self::convertInt64ToBinary($value))[1], 'externref' => $value === 'null' ? Ref::RefNull(RefType::ExternRef) : Ref::RefExtern((int)$value), 'funcref' => $value === 'null' ? Ref::RefNull(RefType::FuncRef) : Ref::RefFunc((int)$value), @@ -270,6 +270,7 @@ abstract class SpecTestsuiteBase extends TestCase TrapKind::IndirectCallTypeMismatch => 'indirect call type mismatch', TrapKind::UndefinedElement => 'undefined element', TrapKind::DivideByZero => 'integer divide by zero', + TrapKind::IntegerOverflow => 'integer overflow', }; $this->assertStringContainsString( $actualErrorMessage, |
