- 新增 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