diff --git a/tests/aot/ref/001.phpt b/tests/aot/ref/001.phpt new file mode 100644 index 00000000..dc53eaa0 --- /dev/null +++ b/tests/aot/ref/001.phpt @@ -0,0 +1,99 @@ +--TEST-- +ref 001 +--SKIPIF-- + +--FILE-- + 1, 'pid' => 0, 'name' => '中国'], + ['id' => 2, 'pid' => 1, 'name' => '广东省'], + ['id' => 3, 'pid' => 1, 'name' => '浙江省'], + ['id' => 4, 'pid' => 2, 'name' => '广州市'], + ['id' => 5, 'pid' => 2, 'name' => '深圳市'], + ['id' => 6, 'pid' => 3, 'name' => '杭州市'], + ['id' => 7, 'pid' => 0, 'name' => '美国'], + ['id' => 8, 'pid' => 7, 'name' => '加州'], + ['id' => 9, 'pid' => 8, 'name' => '旧金山'], + ]; + + // 调用 + $tree = TreeHelper::toTree($list); + + // 打印结果 + echo "生成的树结构:\n"; + print_r($tree); + + // 简单断言测试 + echo "\n开始断言测试...\n"; + + // 根节点应该有 2 个:中国、美国 + assert(count($tree) === 2); + + // 第一个根节点是中国 + assert($tree[0]['name'] === '中国'); + + // 中国下面应该有两个省 + assert(count($tree[0]['children']) === 2); + assert($tree[0]['children'][0]['name'] === '广东省'); + assert($tree[0]['children'][1]['name'] === '浙江省'); + + // 广东省下面应该有两个城市 + assert(count($tree[0]['children'][0]['children']) === 2); + assert($tree[0]['children'][0]['children'][0]['name'] === '广州市'); + assert($tree[0]['children'][0]['children'][1]['name'] === '深圳市'); + + // 浙江省下面应该有一个城市 + assert(count($tree[0]['children'][1]['children']) === 1); + assert($tree[0]['children'][1]['children'][0]['name'] === '杭州市'); + + // 第二个根节点是美国 + assert($tree[1]['name'] === '美国'); + + // 美国 -> 加州 -> 旧金山 + assert(count($tree[1]['children']) === 1); + assert($tree[1]['children'][0]['name'] === '加州'); + assert(count($tree[1]['children'][0]['children']) === 1); + assert($tree[1]['children'][0]['children'][0]['name'] === '旧金山'); + + echo "DONE\n"; +} +?> +--EXPECT--