xref: /PHP-7.4/ext/com_dotnet/tests/27974.phpt (revision 92ac598a)
1--TEST--
2COM: mapping a safearray
3--SKIPIF--
4<?php
5if (!extension_loaded("com_dotnet")) print "skip COM/.Net support not present"; ?>
6--FILE--
7<?php
8error_reporting(E_ALL);
9
10try {
11	$v = new VARIANT(array("123", "456", "789"));
12	var_dump($v);
13	print $v[0] . "\n";
14	print $v[1] . "\n";
15	print $v[2] . "\n";
16	$v[1] = "hello";
17	foreach ($v as $item) {
18		var_dump($item);
19	}
20	try {
21		$v[3] = "shouldn't work";
22	} catch (com_exception $e) {
23		if ($e->getCode() != DISP_E_BADINDEX) {
24			throw $e;
25		}
26		echo "Got BADINDEX exception OK!\n";
27	}
28	echo "OK!";
29} catch (Exception $e) {
30	print $e;
31}
32?>
33--EXPECT--
34object(variant)#1 (0) {
35}
36123
37456
38789
39string(3) "123"
40string(5) "hello"
41string(3) "789"
42Got BADINDEX exception OK!
43OK!
44