diff --git a/module/pivot/test/model/purecrystaldata.php b/module/pivot/test/model/purecrystaldata.php index e2020fba0b..9246a1eb6d 100755 --- a/module/pivot/test/model/purecrystaldata.php +++ b/module/pivot/test/model/purecrystaldata.php @@ -59,7 +59,27 @@ r($pivotTest->pureCrystalDataTest(array( ) ))) && p('0:slice_group,col1_slice1:value,col1_slice1:type,col1_slice2:value,col1_slice2:type') && e('sliced,10,A,20,B'); -// 测试步骤5:复杂多记录数据处理 - 测试多记录和异常数据处理 +// 测试步骤5:多记录数据处理 - 测试多条记录的正确处理 +r($pivotTest->pureCrystalDataTest(array( + 0 => array( + 'columns' => array( + 'col1' => array( + 'cellData' => array('value' => 200, 'flag' => true) + ) + ), + 'groups' => array('record' => 'first') + ), + 1 => array( + 'columns' => array( + 'col2' => array( + 'cellData' => array('value' => 300, 'status' => 'active') + ) + ), + 'groups' => array('record' => 'second') + ) +))) && p('1:record,col2:value,col2:status') && e('second,300,active'); + +// 测试步骤6:null值和空值处理 - 测试null值和空cellData的处理 r($pivotTest->pureCrystalDataTest(array( 0 => array( 'columns' => array( @@ -71,13 +91,32 @@ r($pivotTest->pureCrystalDataTest(array( ) ), 'groups' => array('null_group' => null, 'empty_group' => 'test') - ), - 1 => array( + ) +))) && p('0:null_group,empty_group,col1:value') && e('~~,test,~~'); + +// 测试步骤7:复杂嵌套切片数据 - 测试多层嵌套的切片数据处理 +r($pivotTest->pureCrystalDataTest(array( + 0 => array( 'columns' => array( 'col1' => array( - 'cellData' => array('value' => 200, 'flag' => true) + 'cellData' => array( + 'slice1' => array('value' => 50, 'nested' => array('deep' => 'data')), + 'slice2' => array('count' => 25, 'items' => array(1, 2, 3)) + ) ) ), - 'groups' => array('record' => 'second') + 'groups' => array('complex' => 'nested') ) -))) && p('1:record,col1:value,col1:flag') && e('second,200,1'); \ No newline at end of file +))) && p('0:complex') && e('nested'); + +// 测试步骤8:边界值数据类型测试 - 测试不同数据类型的值处理 +r($pivotTest->pureCrystalDataTest(array( + 0 => array( + 'columns' => array( + 'col1' => array( + 'cellData' => array('value' => 0, 'bool_true' => true, 'bool_false' => false, 'string_empty' => '') + ) + ), + 'groups' => array('boundary' => 'types') + ) +))) && p('0:boundary,col1:value,col1:bool_true,col1:bool_false,col1:string_empty') && e('types,0,1,0,~~'); \ No newline at end of file