Skip to content

Commit 4698f14

Browse files
nyamsprodTimWolla
authored andcommitted
Improve base16 and base32 test suite
1 parent 8fa4239 commit 4698f14

32 files changed

Lines changed: 633 additions & 287 deletions

ext/standard/tests/encoding/base16/basic_encoding.phpt

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,14 @@ use Encoding\UnableToDecodeException;
1010
use function Encoding\base16_encode;
1111
use function Encoding\base16_decode;
1212

13-
var_dump(base16_encode("Hello") === "48656C6C6F");
14-
var_dump(base16_decode("48656C6C6F") === "Hello");
15-
16-
var_dump(base16_encode("Hello", Base16::Lower) === "48656c6c6f");
17-
var_dump(base16_decode("48656c6c6f", Base16::Lower) === "Hello");
13+
echo base16_encode("Hello"), PHP_EOL;
14+
echo base16_decode("48656C6C6F"), PHP_EOL;
15+
echo base16_encode("Hello", Base16::Lower), PHP_EOL;
16+
echo base16_decode("48656c6c6f", Base16::Lower), PHP_EOL;
1817

1918
?>
2019
--EXPECT--
21-
bool(true)
22-
bool(true)
23-
bool(true)
24-
bool(true)
20+
48656C6C6F
21+
Hello
22+
48656c6c6f
23+
Hello

ext/standard/tests/encoding/base16/case_sensitive_encoding.phpt

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,14 @@ $original = "Hello, World!";
1414
$encoded = base16_encode($original);
1515

1616
var_dump(1 === preg_match('/^[0-9A-F]+$/', $encoded));
17-
var_dump(base16_decode($encoded) === $original);
18-
17+
echo base16_decode($encoded), PHP_EOL;
1918
$encodedLower = base16_encode($original, variant: Base16::Lower);
20-
2119
var_dump(1 === preg_match('/^[0-9a-f]+$/', $encodedLower));
22-
var_dump(base16_decode($encodedLower, variant: Base16::Lower) === $original);
20+
echo base16_decode($encodedLower, variant: Base16::Lower), PHP_EOL;
2321

2422
?>
2523
--EXPECT--
2624
bool(true)
25+
Hello, World!
2726
bool(true)
28-
bool(true)
29-
bool(true)
27+
Hello, World!

ext/standard/tests/encoding/base16/decode-multiline.phpt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,7 @@ $input = <<<HEX
1313
6F
1414
HEX;
1515

16-
var_dump(
17-
base16_decode($input, decodingMode: DecodingMode::Forgiving) === 'Hello'
18-
);
16+
echo base16_decode($input, decodingMode: DecodingMode::Forgiving), PHP_EOL;
1917
?>
2018
--EXPECT--
21-
bool(true)
19+
Hello

ext/standard/tests/encoding/base16/forgiving_encoding.phpt

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -13,22 +13,10 @@ use function Encoding\base16_decode;
1313
$encoded = "48656C6C6F2c20576F726C6421";
1414
$original = "Hello, World!";
1515

16-
var_dump(
17-
base16_decode(
18-
strtolower($encoded),
19-
decodingMode: DecodingMode::Forgiving
20-
) === $original
21-
);
22-
23-
var_dump(
24-
base16_decode(
25-
strtoupper($encoded),
26-
variant: Base16::Lower,
27-
decodingMode: DecodingMode::Forgiving
28-
) === $original
29-
);
16+
echo base16_decode(strtolower($encoded), decodingMode: DecodingMode::Forgiving), PHP_EOL;
17+
echo base16_decode(strtoupper($encoded), variant: Base16::Lower, decodingMode: DecodingMode::Forgiving), PHP_EOL;
3018

3119
?>
3220
--EXPECT--
33-
bool(true)
34-
bool(true)
21+
Hello, World!
22+
Hello, World!

ext/standard/tests/encoding/base16/invalid_decoding.phpt

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,18 @@ use function Encoding\base16_encode;
1111
use function Encoding\base16_decode;
1212

1313
try {
14-
base16_decode("abc");
15-
var_dump(false);
16-
} catch (UnableToDecodeException) {
17-
var_dump(true);
14+
echo base16_decode("abc"), ' ; "abc" must not be decoded', PHP_EOL;
15+
} catch (Throwable $exception) {
16+
echo $exception::class, ' : ', $exception->getMessage(), PHP_EOL;
1817
}
1918

2019
try {
21-
base16_decode("gh");
22-
var_dump(false);
20+
echo base16_decode("gh"), ' ; "gh" must not be encoded', PHP_EOL;
2321
} catch (UnableToDecodeException) {
24-
var_dump(true);
22+
echo $exception::class, ' : ', $exception->getMessage(), PHP_EOL;
2523
}
2624

2725
?>
2826
--EXPECT--
29-
bool(true)
30-
bool(true)
27+
Encoding\UnableToDecodeException : Invalid character
28+
Encoding\UnableToDecodeException : Invalid character

ext/standard/tests/encoding/base16/invalid_sequence_and_characters.phpt

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,18 @@ use function Encoding\base16_encode;
1111
use function Encoding\base16_decode;
1212

1313
try {
14-
base16_decode("ZZ");
15-
var_dump(false);
16-
} catch (UnableToDecodeException) {
17-
var_dump(true);
14+
echo base16_decode("ZZ"), ' ; "ZZ" must not be decoded', PHP_EOL;
15+
} catch (Throwable $exception) {
16+
echo $exception::class, ' : ', $exception->getMessage(), PHP_EOL;
1817
}
1918

2019
try {
21-
base16_decode("ABC");
22-
var_dump(false);
23-
} catch (UnableToDecodeException) {
24-
var_dump(true);
20+
echo base16_decode("ABC"), ' ; "ABC" must not be decoded', PHP_EOL;
21+
} catch (Throwable $exception) {
22+
echo $exception::class, ' : ', $exception->getMessage(), PHP_EOL;
2523
}
2624

2725
?>
2826
--EXPECT--
29-
bool(true)
30-
bool(true)
27+
Encoding\UnableToDecodeException : Invalid character
28+
Encoding\UnableToDecodeException : Invalid length

ext/standard/tests/encoding/base16/round_trip_consistency.phpt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ foreach ($inputs as $original) {
2424

2525
if ($decoded !== $original) {
2626
echo "Round-trip failed for: " . $original . PHP_EOL;
27-
var_dump(false);
2827
continue;
2928
}
3029

ext/standard/tests/encoding/base16/whitespace_handling.phpt

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,11 @@ use function Encoding\base16_encode;
1010
use function Encoding\base16_decode;
1111

1212
$encoded = "48 65\n6C\t6C\r6F 2C 20 57 6F 72 6C 64 21";
13-
$original = "Hello, World!";
1413

15-
var_dump(
16-
base16_decode($encoded, decodingMode: DecodingMode::Forgiving) === $original
17-
);
18-
var_dump(
19-
base16_decode($encoded, decodingMode: DecodingMode::Strict) === $original
20-
);
14+
echo base16_decode($encoded, decodingMode: DecodingMode::Forgiving), PHP_EOL;
15+
echo base16_decode($encoded, decodingMode: DecodingMode::Strict), PHP_EOL;
2116

2217
?>
2318
--EXPECT--
24-
bool(true)
25-
bool(true)
19+
Hello, World!
20+
Hello, World!

ext/standard/tests/encoding/base32/decode-ascii-padding.phpt renamed to ext/standard/tests/encoding/base32/decode-ascii-forgiving.phpt

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
--TEST--
2-
Base32 ASCII decoding vectors with strip padding
2+
Base32 ASCII decoding vectors with forgiving mode
33
--FILE--
44
<?php
55
declare(strict_types=1);
@@ -24,16 +24,20 @@ $vectors = [
2424
];
2525

2626
foreach ($vectors as [$decoded, $encoded]) {
27-
var_dump(base32_decode(data: $encoded, decodingMode: DecodingMode::Forgiving) === $decoded);
28-
}
27+
$res = base32_decode(data: $encoded, decodingMode: DecodingMode::Forgiving);
28+
if ('' === trim($decoded)) {
29+
var_dump($decoded === $res);
30+
} else {
31+
echo $res, PHP_EOL;
32+
}}
2933
?>
3034
--EXPECT--
31-
bool(true)
32-
bool(true)
33-
bool(true)
34-
bool(true)
35-
bool(true)
36-
bool(true)
35+
f
36+
fo
37+
foo
38+
foob
39+
fooba
40+
foobar
3741
bool(true)
3842
bool(true)
3943
bool(true)

ext/standard/tests/encoding/base32/decode-ascii-invalid-padding.phpt

Lines changed: 0 additions & 49 deletions
This file was deleted.

0 commit comments

Comments
 (0)