- 新增 std map 相同类型复制测试用例 - 新增 std unordered_map 相同类型复制测试用例 - 新增 std array 嵌套相同类型复制测试用例 - 新增 std vector 相同类型复制测试用例 - 实现标准容器复制赋值语法解析功能 - 添加嵌套数组访问层级检查机制 - 完善类型匹配验证逻辑pull/1/head
parent
4411216354
commit
fa2cb45df5
6 changed files with 245 additions and 24 deletions
@ -0,0 +1,34 @@ |
||||
--TEST-- |
||||
std array: nested same type copy |
||||
--FILE-- |
||||
<?php |
||||
function main() { |
||||
$a = std::array(native_types::type_int, 3); |
||||
$b = std::array(std::array(native_types::type_int, 3), 2); |
||||
|
||||
$b[1][0] = 10; |
||||
$b[1][1] = 20; |
||||
$b[1][2] = 30; |
||||
|
||||
$a = $b[1]; |
||||
var_dump($a[0]); |
||||
var_dump($a[1]); |
||||
var_dump($a[2]); |
||||
|
||||
$a[0] = 99; |
||||
var_dump($b[1][0]); |
||||
|
||||
$b[0] = $a; |
||||
var_dump($b[0][0]); |
||||
var_dump($b[0][1]); |
||||
var_dump($b[0][2]); |
||||
} |
||||
?> |
||||
--EXPECT-- |
||||
int(10) |
||||
int(20) |
||||
int(30) |
||||
int(10) |
||||
int(99) |
||||
int(20) |
||||
int(30) |
||||
@ -0,0 +1,25 @@ |
||||
--TEST-- |
||||
std map: same type copy |
||||
--FILE-- |
||||
<?php |
||||
function main() { |
||||
$a = std::map(native_types::type_int, native_types::type_int); |
||||
$b = std::map(native_types::type_int, native_types::type_int); |
||||
|
||||
$b[10] = 100; |
||||
$b[20] = 200; |
||||
$a = $b; |
||||
|
||||
var_dump(count($a)); |
||||
var_dump($a[10]); |
||||
var_dump($a[20]); |
||||
|
||||
$a[10] = 999; |
||||
var_dump($b[10]); |
||||
} |
||||
?> |
||||
--EXPECT-- |
||||
int(2) |
||||
int(100) |
||||
int(200) |
||||
int(100) |
||||
@ -0,0 +1,25 @@ |
||||
--TEST-- |
||||
std unordered map: same type copy |
||||
--FILE-- |
||||
<?php |
||||
function main() { |
||||
$a = std::unordered_map(native_types::type_int, native_types::type_int); |
||||
$b = std::unordered_map(native_types::type_int, native_types::type_int); |
||||
|
||||
$b[10] = 100; |
||||
$b[20] = 200; |
||||
$a = $b; |
||||
|
||||
var_dump(count($a)); |
||||
var_dump($a[10]); |
||||
var_dump($a[20]); |
||||
|
||||
$a[10] = 999; |
||||
var_dump($b[10]); |
||||
} |
||||
?> |
||||
--EXPECT-- |
||||
int(2) |
||||
int(100) |
||||
int(200) |
||||
int(100) |
||||
@ -0,0 +1,25 @@ |
||||
--TEST-- |
||||
std vector: same type copy |
||||
--FILE-- |
||||
<?php |
||||
function main() { |
||||
$a = std::vector(native_types::type_int); |
||||
$b = std::vector(native_types::type_int); |
||||
|
||||
$b[] = 10; |
||||
$b[] = 20; |
||||
$a = $b; |
||||
|
||||
var_dump(count($a)); |
||||
var_dump($a[0]); |
||||
var_dump($a[1]); |
||||
|
||||
$a[0] = 99; |
||||
var_dump($b[0]); |
||||
} |
||||
?> |
||||
--EXPECT-- |
||||
int(2) |
||||
int(10) |
||||
int(20) |
||||
int(10) |
||||
Loading…
Reference in new issue