1--TEST--
2Memcached virtual buckets
3--SKIPIF--
4<?php
5include dirname(__FILE__) . "/skipif.inc";
6if (!defined("Memcached::DISTRIBUTION_VIRTUAL_BUCKET")) die ("skip DISTRIBUTION_VIRTUAL_BUCKET not defined");
7if (PHP_VERSION_ID < 80000) die("skip PHP 8 only");
8?>
9--FILE--
10<?php
11include dirname (__FILE__) . '/config.inc';
12$m = memc_get_instance (array (
13							Memcached::OPT_DISTRIBUTION => Memcached::DISTRIBUTION_VIRTUAL_BUCKET
14						));
15
16var_dump ($m->setBucket (array (), null, 2));
17
18var_dump ($m->setBucket (array (), array (), -1));
19
20try {
21	var_dump ($m->setBucket (null, array (), -1));
22} catch (TypeError $e) {
23	echo $e->getMessage() . PHP_EOL;
24}
25
26var_dump ($m->setBucket (array (-1), array (-1), 1));
27
28echo "OK\n";
29
30?>
31--EXPECTF--
32Warning: Memcached::setBucket(): server map cannot be empty in %s on line %d
33bool(false)
34
35Warning: Memcached::setBucket(): server map cannot be empty in %s on line %d
36bool(false)
37Memcached::setBucket(): Argument #1 ($host_map) must be of type array, null given
38
39Warning: Memcached::setBucket(): the map must contain positive integers in %s on line %d
40bool(false)
41OK
42