1--TEST--
2Test imap_binary() function : basic functionality
3--SKIPIF--
4<?php
5extension_loaded('imap') or die('skip imap extension not available in this build');
6?>
7--FILE--
8<?php
9/* Prototype  : string imap_binary  ( string $string  )
10 * Description: Convert an 8bit string to a base64 string.
11 * Source code: ext/imap/php_imap.c
12 */
13
14echo "*** Testing imap_binary() : basic functionality ***\n";
15
16echo "Encode as short string\n";
17$str = b'This is an example string to be base 64 encoded';
18$base64 = imap_binary($str);
19var_dump(bin2hex($base64));
20
21echo "Encode a string which results in more than 60 charters of output\n";
22$str = b'This is a long string with results in more than 60 characters of output';
23$base64 = imap_binary($str);
24var_dump(bin2hex($base64));
25
26echo "Encode a string with special characters\n";
27$str = b'_+-={][];;@~#?/>.<,';
28$base64 = imap_binary($str);
29var_dump(bin2hex($base64));
30
31echo "Encode some hexadecimal data\n";
32$hex = b'x00\x01\x02\x03\x04\x05\x06\xFA\xFB\xFC\xFD\xFE\xFF';
33$base64 = imap_binary($hex);
34var_dump(bin2hex($base64));
35
36?>
37===Done===
38--EXPECTF--
39*** Testing imap_binary() : basic functionality ***
40Encode as short string
41%string|unicode%(136) "5647687063794270637942686269426c654746746347786c49484e30636d6c755a794230627942695a53426959584e6c49445930494756755932396b0d0a5a57513d0d0a"
42Encode a string which results in more than 60 charters of output
43%string|unicode%(200) "56476870637942706379426849477876626d6367633352796157356e4948647064476767636d567a64577830637942706269427462334a6c4948526f0d0a595734674e6a416759326868636d466a64475679637942765a694276645852776458513d0d0a"
44Encode a string with special characters
45%string|unicode%(60) "5879737450587464573130374f30422b497a3876506934384c413d3d0d0a"
46Encode some hexadecimal data
47%string|unicode%(144) "65444177584867774d5678344d444a636544417a584867774e4678344d445663654441325848684751567834526b4a6365455a4458486847524678340d0a526b566365455a470d0a"
48===Done===
49