1--TEST--
2Test error operation of password_hash()
3--FILE--
4<?php
5//-=-=-=-
6
7var_dump(password_hash());
8
9var_dump(password_hash("foo"));
10
11var_dump(password_hash("foo", array()));
12
13var_dump(password_hash("foo", 19, new StdClass));
14
15var_dump(password_hash("foo", PASSWORD_BCRYPT, "baz"));
16
17var_dump(password_hash(array(), PASSWORD_BCRYPT));
18
19var_dump(password_hash("123", PASSWORD_BCRYPT, array("salt" => array())));
20
21/* Non-string salt, checking for memory leaks */
22var_dump(password_hash('123', PASSWORD_BCRYPT, array('salt' => 1234)));
23
24?>
25--EXPECTF--
26Warning: password_hash() expects at least 2 parameters, 0 given in %s on line %d
27NULL
28
29Warning: password_hash() expects at least 2 parameters, 1 given in %s on line %d
30NULL
31
32Warning: password_hash() expects parameter 2 to be long, array given in %s on line %d
33NULL
34
35Warning: password_hash(): Unknown password hashing algorithm: 19 in %s on line %d
36NULL
37
38Warning: password_hash() expects parameter 3 to be array, string given in %s on line %d
39NULL
40
41Warning: password_hash() expects parameter 1 to be string, array given in %s on line %d
42NULL
43
44Warning: password_hash(): Non-string salt parameter supplied in %s on line %d
45NULL
46
47Warning: password_hash(): Provided salt is too short: 4 expecting 22 in %s on line %d
48NULL
49