Index: openacs-4/packages/xowiki/tcl/test/test-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/test/test-procs.tcl,v diff -u -N -r1.15.2.9 -r1.15.2.10 --- openacs-4/packages/xowiki/tcl/test/test-procs.tcl 3 Jul 2019 19:54:08 -0000 1.15.2.9 +++ openacs-4/packages/xowiki/tcl/test/test-procs.tcl 18 Sep 2019 19:30:40 -0000 1.15.2.10 @@ -44,12 +44,16 @@ ad_proc -private ::xowiki::test::get_url_from_location {d} { set location [ns_set iget [dict get $d headers] Location ""] - set url [ns_parseurl $location] - #aa_log "parse url [ns_parseurl $location]" - if {[dict get $url tail] ne ""} { - set url [dict get $url path]/[dict get $url tail] + if {$location ne ""} { + set url [ns_parseurl $location] + #aa_log "parse url '$location' => $url" + if {[dict get $url tail] ne ""} { + set url [dict get $url path]/[dict get $url tail] + } else { + set url [dict get $url path] + } } else { - set url [dict get $url path] + set url "" } return $url } @@ -71,8 +75,9 @@ return [$node selectNodes string(//form\[contains(@class,'$className')\]/@action)] } - - # "require_folder" and "require_page" are here just for testing + # + # "require_folder", "require_page" and "require_link" are here just for testing + # ad_proc -private ::xowiki::test::require_folder {name parent_id package_id} { set item_id [::xo::db::CrClass lookup -name $name -parent_id $parent_id] @@ -88,20 +93,17 @@ aa_log " $name => $item_id\n" return $item_id } - - ad_proc -private ::xowiki::test::require_link {name parent_id package_id target_id} { + + ad_proc -private ::xowiki::test::require_link {name parent_id package_id target_ref} { set item_id [::xo::db::CrClass lookup -name $name -parent_id $parent_id] if {$item_id == 0} { set form_id [::xowiki::Weblog instantiate_forms -forms en:link.form -package_id $package_id] - set target [::xo::db::CrClass get_instance_from_db -item_id $target_id] - set item_ref [[$target package_id] external_name -parent_id [$target parent_id] [$target name]] - set f [::$form_id create_form_page_instance \ -name $name \ -nls_language en_US \ - -instance_attributes [list link $item_ref] \ - -default_variables [list title "Link $name" parent_id $parent_id package_id $package_id]] + -instance_attributes [list link $target_ref] \ + -default_variables [list title "Link $name -> $target_ref" parent_id $parent_id package_id $package_id]] $f save_new set item_id [$f item_id] } Index: openacs-4/packages/xowiki/www/admin/test.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/www/admin/test.tcl,v diff -u -N -r1.46.2.5 -r1.46.2.6 --- openacs-4/packages/xowiki/www/admin/test.tcl 23 Jul 2019 14:15:00 -0000 1.46.2.5 +++ openacs-4/packages/xowiki/www/admin/test.tcl 18 Sep 2019 19:30:40 -0000 1.46.2.6 @@ -718,29 +718,9 @@ return $item_id } - proc require_link {name parent_id package_id target_id} { + proc require_page {name parent_id package_id {file_content ""}} { set item_id [::xo::db::CrClass lookup -name $name -parent_id $parent_id] - if {$item_id == 0} { - set form_id [::xowiki::Weblog instantiate_forms -forms en:link.form -package_id $package_id] - set target [::xo::db::CrClass get_instance_from_db -item_id $target_id] - set item_ref [[$target package_id] external_name -parent_id [$target parent_id] [$target name]] - - set f [::$form_id create_form_page_instance \ - -name $name \ - -nls_language en_US \ - -instance_attributes [list link $item_ref] \ - -default_variables [list title "Link $name" parent_id $parent_id package_id $package_id]] - $f save_new - set item_id [$f item_id] - } - test hint " $name => $item_id\n" - return $item_id - } - - proc require_page {name parent_id package_id {file_content ""}} { - set item_id [::xo::db::CrClass lookup -name $name -parent_id $parent_id] - if {$item_id == 0} { if {$file_content eq ""} { ::$package_id get_lang_and_name -name $name lang stripped_name set nls_language [::xowiki::Package get_nls_language_from_lang $lang] @@ -810,14 +790,25 @@ set subimage_id [require_page file:image2.png $f1_id $package_id $base64] set childimage_id [require_page file:image3.png $parentpage_id $package_id $base64] - set pagelink_id [require_link link1 $folder_id $package_id $parentpage_id] - set folderlink_id [require_link link2 $folder_id $package_id $f1_id] - set subpagelink_id [require_link link3 $folder_id $package_id $testpage_id] - set subfolderlink_id [require_link link4 $folder_id $package_id $f3_id] - set subimagelink_id [require_link link5 $folder_id $package_id $subimage_id] - ################################ + ::xo::db::CrClass get_instance_from_db -item_id $parentpage_id + ::xo::db::CrClass get_instance_from_db -item_id $f1_id + ::xo::db::CrClass get_instance_from_db -item_id $testpage_id + ::xo::db::CrClass get_instance_from_db -item_id $f3_id + ::xo::db::CrClass get_instance_from_db -item_id $subimage_id + set parentpage_ref [$package_id external_name -parent_id $folder_id [$parentpage_id name]] + set f1_ref [$package_id external_name -parent_id $folder_id [$f1_id name]] + set testpage_ref [$package_id external_name -parent_id $folder_id [$testpage_id name]] + set f3_ref [$package_id external_name -parent_id $f1_id [$f3_id name]] + set subimage_ref [$package_id external_name -parent_id $folder_id [$subimage_id name]] + set pagelink_id [xowiki::test::require_link link1 $folder_id $package_id $parentpage_ref] + set folderlink_id [xowiki::test::require_link link2 $folder_id $package_id $f1_ref] + set subpagelink_id [xowiki::test::require_link link3 $folder_id $package_id $testpage_ref] + set subfolderlink_id [xowiki::test::require_link link4 $folder_id $package_id $f3_ref] + set subimagelink_id [xowiki::test::require_link link5 $folder_id $package_id $subimage_ref] + ################################ + ################################# test subsection "Toplevel Tests:" ################################# @@ -1250,8 +1241,19 @@ ? {$l4 is_folder_page} 1 ? {$l5 is_folder_page} 0 + ? {$f1 is_link_page} 0 + ? {$f2 is_link_page} 0 + ? {$f3 is_link_page} 0 + ? {$p1 is_link_page} 0 + ? {$l1 is_link_page} 1 + ? {$l2 is_link_page} 1 + ? {$l3 is_link_page} 1 + ? {$l4 is_link_page} 1 + ? {$l5 is_link_page} 1 + + test section "pretty links" ? {$f1 pretty_link} "/XOWIKI-TEST/f1"