Index: openacs-4/packages/categories/tcl/test/categories-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/categories/tcl/test/categories-procs.tcl,v diff -u -r1.3.2.25 -r1.3.2.26 --- openacs-4/packages/categories/tcl/test/categories-procs.tcl 27 Feb 2023 14:24:22 -0000 1.3.2.25 +++ openacs-4/packages/categories/tcl/test/categories-procs.tcl 27 Feb 2023 14:38:54 -0000 1.3.2.26 @@ -169,6 +169,7 @@ category_tree::reset_cache category_tree::get_tree category_tree::get_translation + category_tree::get_multirow } -cats { api } category_crud { @@ -233,6 +234,35 @@ [llength [category::get_children -category_id $category_id]] \ 2 + category_tree::get_multirow \ + -tree_id $tree_id \ + -datasource __test_category_crud + + aa_true "Multirow __test_category_crud exists" \ + [::template::multirow exists __test_category_crud] + aa_equals "Multirow __test_category_crud has 3 rows" \ + [::template::multirow size __test_category_crud] \ + 3 + set result [list] + ::template::multirow -unclobber foreach __test_category_crud { + lappend result \ + $tree_id \ + $tree_name \ + $category_id \ + $category_name \ + $level \ + $pad \ + $deprecated_p \ + $count \ + $child_sum + } + aa_equals "Multirow returns expected" \ + [list \ + $tree_id foo $category_id foo 1 {} f 0 0 \ + $tree_id foo $category_child_1 {foo child 1} 2 .. f 0 0 \ + $tree_id foo $category_child_2 {foo child 2} 2 .. f 0 0] \ + $result + aa_log "Phase out child '$category_child_1'" category::phase_out $category_child_1 @@ -266,6 +296,16 @@ [list $category_child_2 {foo child 2} t 2] \ ] + category_tree::get_multirow \ + -tree_id $tree_id \ + -datasource __test_category_crud + + aa_true "Multirow __test_category_crud exists" \ + [::template::multirow exists __test_category_crud] + aa_equals "Multirow __test_category_crud has 1 row (phased out categories skipped)" \ + [::template::multirow size __test_category_crud] \ + 1 + aa_log "Phase children back in" category::phase_in $category_child_1 category::phase_in $category_child_2