Index: openacs-4/packages/xowiki/www/admin/test.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/www/admin/Attic/test.tcl,v
diff -u -r1.41 -r1.42
--- openacs-4/packages/xowiki/www/admin/test.tcl 24 Dec 2017 12:51:38 -0000 1.41
+++ openacs-4/packages/xowiki/www/admin/test.tcl 3 Jan 2018 18:13:35 -0000 1.42
@@ -3,50 +3,51 @@
Object test
test set passed 0
test set failed 0
-test proc case msg {ad_return_top_of_page "
$msg$msg
"}
-test proc section msg {my reset; ns_write "
$msg
"}
-test proc subsection msg {ns_write "$msg
"}
-test proc subsubsection msg {ns_write "$msg
"}
+test proc case msg {ad_return_top_of_page "$msg$msg
"}
+test proc section msg {my reset; ns_write "
$msg
"}
+test proc subsection msg {ns_write "$msg
"}
+test proc subsubsection msg {ns_write "$msg
"}
test proc errmsg msg {my code "ERROR: [string map [list < {<} > {>}] $msg]
";test incr failed}
test proc okmsg msg {ns_write "OK: $msg
"; test incr passed}
test proc code msg {ns_write "$msg
"}
test proc hint msg {ns_write "$msg
"}
test proc reset {} {
array unset ::xotcl_cleanup
- global af_parts af_key_name
- array unset af_parts
- array unset af_key_name
+ array unset ::af_parts
+ array unset ::af_key_name
}
test proc without_ns_form {cmd} {
rename ::ns_queryget ::ns_queryget.orig
rename ::ns_querygetall ::ns_querygetall.orig
rename ::ad_returnredirect ::ad_returnredirect.orig
- proc ::ns_queryget key {
- #ns_log notice "queryget $key => [::xo::cc form_parameter $key {}]";
- ::xo::cc form_parameter $key ""
+ try {
+ proc ::ns_queryget key {
+ #ns_log notice "queryget $key => [::xo::cc form_parameter $key {}]";
+ ::xo::cc form_parameter $key ""
+ }
+ proc ::ns_querygetall key {
+ #ns_log notice "querygetall $key => [list [::xo::cc form_parameter $key {}]]"
+ list [::xo::cc form_parameter $key {}]
+ }
+ proc ::ad_returnredirect url {::xo::cc returnredirect $url}
+
+ try {
+ set r [uplevel $cmd]
+ } on error {errmsg} {
+ test code "error in command: $errmsg [info exists r]"
+ set r ""
+ }
+ } finally {
+ rename ::ns_queryget ""
+ rename ::ns_queryget.orig ::ns_queryget
+ rename ::ns_querygetall ""
+ rename ::ns_querygetall.orig ::ns_querygetall
+ rename ::ad_returnredirect ""
+ rename ::ad_returnredirect.orig ::ad_returnredirect
}
- proc ::ns_querygetall key {
- #ns_log notice "querygetall $key => [list [::xo::cc form_parameter $key {}]]"
- list [::xo::cc form_parameter $key {}]
- }
- proc ::ad_returnredirect url {::xo::cc returnredirect $url}
-
- ad_try {
- set r [uplevel $cmd]
- } on error errmsg} {
- test code "error in command: $errmsg [info exists r]"
- set r ""
- }
- rename ::ns_queryget ""
- rename ::ns_queryget.orig ::ns_queryget
- rename ::ns_querygetall ""
- rename ::ns_querygetall.orig ::ns_querygetall
- rename ::ad_returnredirect ""
- rename ::ad_returnredirect.orig ::ad_returnredirect
return $r
}
-
proc ? {cmd expected {msg ""}} {
set r [uplevel $cmd]
if {$msg eq ""} {set msg $cmd}
@@ -81,8 +82,8 @@
set tdom_version [package require tdom]
if {$tdom_version < "0.8.0"} {
? {set x old} new "xowiki requires at least tDOM 0.8.0 (released Aug 2004), \
- the installed tDOM version is to old ($tdom_version).
\
- Please Upgrade tDOM from: cvs -z3 -d:pserver:anonymous@cvs.tdom.org:/usr/local/pubcvs co tdom
"
+ the installed tDOM version is to old ($tdom_version).
\
+ Please Upgrade tDOM from: cvs -z3 -d:pserver:anonymous@cvs.tdom.org:/usr/local/pubcvs co tdom
"
} else {
? {set x new} new "tdom version $tdom_version is ok"
}
@@ -102,7 +103,7 @@
site_node::delete -node_id $info(node_id)
# remove the package instance
apm_package_instance_delete $info(object_id)
-
+
#test code [array get info]
}
@@ -381,7 +382,7 @@
#####################################################
set swas [xo::dc list get_swa "select grantee_id from acs_permissions \
- where object_id = -4 and privilege = 'admin'"]
+ where object_id = -4 and privilege = 'admin'"]
::xowiki::Package initialize -parameter $index_vuh_parms \
-package_id $info(package_id) \
@@ -539,22 +540,22 @@
-actual_query "m=edit" \
-user_id [lindex $swas 0] \
-form_parameter [subst {
- form:id f1
- form:mode edit
- formbutton:ok { OK }
- __refreshing_p 0
+ form:id f1
+ form:mode edit
+ formbutton:ok { OK }
+ __refreshing_p 0
__confirmed_p 0
__new_p 0
- __key_signature {$signature}
+ __key_signature {$signature}
__object_name en:hello
- name en:hello
- object_type ::xowiki::Page
- text.format text/html
- creator {{Gustaf Neumann}}
+ name en:hello
+ object_type ::xowiki::Page
+ text.format text/html
+ creator {{Gustaf Neumann}}
description {{this is the description}}
- text {{$text ... just testing ..
}}
- nls_language en_US
- folder_id $returned_folder_id
+ text {{$text ... just testing ..
}}
+ nls_language en_US
+ folder_id $returned_folder_id
title {{$title - saved}}
item_id $returned_item_id }]
@@ -661,11 +662,11 @@
? {::xowiki::FormPage filter_expression \
"_state=created|accepted|approved|tested|developed|deployed&&_assignee=123" &&} \
- {tcl {[lsearch -exact {created accepted approved tested developed deployed} [my property _state]] > -1&&[my property _assignee] eq {123}} h {} vars {} sql {{state in ('created','accepted','approved','tested','developed','deployed')} {assignee = '123'}}} filter_expr_where_1
+ {tcl {[lsearch -exact {created accepted approved tested developed deployed} [:property _state]] > -1&&[:property _assignee] eq {123}} h {} vars {} sql {{state in ('created','accepted','approved','tested','developed','deployed')} {assignee = '123'}}} filter_expr_where_1
? {::xowiki::FormPage filter_expression \
"_assignee<=123 && y>=123" &&} \
- {tcl {[my property _assignee] <= {123}&&[dict get $__ia y] >= {123}} h {} vars {y {}} sql {{assignee <= '123'}}} \
+ {tcl {[:property _assignee] <= {123}&&[dict get $__ia y] >= {123}} h {} vars {y {}} sql {{assignee <= '123'}}} \
filter_expr_where_2
? {::xowiki::FormPage filter_expression \
@@ -675,12 +676,12 @@
? {::xowiki::FormPage filter_expression \
"_state=closed" ||} \
- {tcl {[my property _state] eq {closed}} h {} vars {} sql {{state = 'closed'}}} \
+ {tcl {[:property _state] eq {closed}} h {} vars {} sql {{state = 'closed'}}} \
filter_expr_unless_1
? {::xowiki::FormPage filter_expression \
"_state= closed|accepted || x = 1" ||} \
- {tcl {[lsearch -exact {closed accepted} [my property _state]] > -1||[dict get $__ia x] eq {1}} h x=>1 vars {x {}} sql {{state in ('closed','accepted')}}} \
+ {tcl {[lsearch -exact {closed accepted} [:property _state]] > -1||[dict get $__ia x] eq {1}} h x=>1 vars {x {}} sql {{state in ('closed','accepted')}}} \
filter_expr_unless_1
@@ -697,21 +698,21 @@
# - typed links (glossary app)... important?
# - interaction between PackagePath and folders (would be nice to inherit from folders, not packages)
#
-# Save this file in openacs-4/www/item-ref-test.tcl and run it via
+# Save this file in openacs-4/www/item-ref-test.tcl and run it via
# http://..../item-ref-test
#
#
# "require_folder" and "require_page" are here just for testing
proc require_folder {name parent_id package_id} {
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:folder.form -package_id $package_id]
set f [$form_id create_form_page_instance \
- -name $name \
- -nls_language en_US \
- -default_variables [list title "Folder $name" parent_id $parent_id package_id $package_id]]
+ -name $name \
+ -nls_language en_US \
+ -default_variables [list title "Folder $name" parent_id $parent_id package_id $package_id]]
$f save_new
set item_id [$f item_id]
}
@@ -721,17 +722,17 @@
proc require_link {name parent_id package_id target_id} {
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]]
+ -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]
}
@@ -742,7 +743,7 @@
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 ""} {
+ if {$file_content eq ""} {
set f [::xowiki::Page new -name $name -description "" \
-parent_id $parent_id -package_id $package_id -text [list "Content of $name" text/html]]
} else {
@@ -766,6 +767,13 @@
#some test cases
::xowiki::Package initialize -url /$instance_name/
+set expected_locale ""
+foreach nls_language [lang::system::get_locales] {
+ if {[string range $nls_language 0 1] eq "de"} {
+ set expected_locale $nls_language
+ }
+}
+
# We use destroy_on_cleanup here although the object is explicitly
# destroyed later. However, if some test bails out with an error,
# the destroy might not be reached
@@ -816,7 +824,7 @@
set test [label "item_ref" "existing topfolder" $l]
array set "" [p item_ref -default_lang en -parent_id $folder_id $l]
? {expr {$(link_type) eq "link" && $(prefix) eq "" && $(stripped_name) eq "f1"
- && $(form) eq "en:folder.form"
+ && $(form) eq "en:folder.form"
&& $(parent_id) eq $folder_id && $(item_id) == $f1_id}} 1 "\n$test:\n [array get {}]\n "
set l "de:parentpage"
@@ -909,7 +917,7 @@
set l "/" ;# stripped name will be the name of the root folder
set test [label "item_ref" "just slash" $l]
array set "" [p item_ref -default_lang de -parent_id $folder_id $l]
- ? {expr {$(link_type) eq "folder" && $(prefix) eq ""
+ ? {expr {$(link_type) eq "folder" && $(prefix) eq ""
&& $(parent_id) == -100 && $(item_id) == $folder_id}} 1 "\n$test:\n [array get {}]\n "
@@ -955,7 +963,7 @@
set l "./" ;# stripped name will be the name of the root folder
set test [label "item_ref" "dot with slash, relative" $l]
array set "" [p item_ref -default_lang de -parent_id $folder_id $l]
- ? {expr {$(link_type) eq "folder" && $(prefix) eq ""
+ ? {expr {$(link_type) eq "folder" && $(prefix) eq ""
&& $(parent_id) == -100 && $(item_id) == $folder_id}} 1 "\n$test:\n [array get {}]\n "
##################################
@@ -965,7 +973,7 @@
set l "." ;# stripped name will be the name of the root folder, omit from test
set test [label "item_ref" "dot with slash, relative" $l]
array set "" [p item_ref -default_lang de -parent_id $folder_id $l]
- ? {expr {$(link_type) eq "folder" && $(prefix) eq ""
+ ? {expr {$(link_type) eq "folder" && $(prefix) eq ""
&& $(parent_id) eq -100 && $(item_id) == $folder_id}} 1 "\n$test:\n [array get {}]\n "
set l "./f1/."
@@ -1177,7 +1185,7 @@
set l "parentpage1"
set test [label "link" "not existing simple page" $l]
set link [p create_link $l]
-? {$link render} [subst -nocommands { parentpage1}] "\n$test\n "
+? {$link render} [subst -nocommands { parentpage1}] "\n$test\n "
set l "parentpage#a"
set test [label "link" "existing simple with anchor" $l]
@@ -1265,7 +1273,7 @@
? {$l5 pretty_link} "/XOWIKI-TEST/link5"
? {$l5 pretty_link -download true} "/XOWIKI-TEST/download/file/link5"
- test section "item info from pretty links"
+ test section "item info from pretty links"
set l [$f1 pretty_link]
set test [label "url" "topfolder" $l]
@@ -1275,12 +1283,12 @@
set l [$f2 pretty_link]
set test [label "url" "folder under topfolder" $l]
array set "" [$package_id item_info_from_url $l]
- ? {expr {$(item_id) == $f3_id && $(stripped_name) eq "f3"}} 1 "\n$test:\n [array get {}]\n "
+ ? {expr {$(item_id) == $f3_id && $(stripped_name) eq "f3"}} 1 "\n$test:\n [array get {}]\n "
set l [$f3 pretty_link]
set test [label "url" "subsubfolder" $l]
array set "" [$package_id item_info_from_url $l]
- ? {expr {$(item_id) == $subf3_id && $(stripped_name) eq "subf3"}} 1 "\n$test:\n [array get {}]\n "
+ ? {expr {$(item_id) == $subf3_id && $(stripped_name) eq "subf3"}} 1 "\n$test:\n [array get {}]\n "
set l [$p1 pretty_link]
set test [label "url" "toppage" $l]
@@ -1301,92 +1309,92 @@
set test [label "url" "toplevel en page" $l]
array set "" [$package_id item_info_from_url $l]
? {expr {$(item_id) == $enpage_id && $(stripped_name) eq "page"
- && $(name) eq "en:page"}} 1 "\n$test:\n [array get {}]\n "
+ && $(name) eq "en:page"}} 1 "\n$test:\n [array get {}]\n "
set l [$p5 pretty_link]
set test [label "url" "en page under subfolder" $l]
array set "" [$package_id item_info_from_url $l]
? {expr {$(item_id) == $f3page_id && $(stripped_name) eq "page"
- && $(name) eq "en:page"}} 1 "\n$test:\n [array get {}]\n "
+ && $(name) eq "en:page"}} 1 "\n$test:\n [array get {}]\n "
# image links
set l [$i1 pretty_link]
set test [label "url" "toplevel image" $l]
array set "" [$package_id item_info_from_url $l]
? {expr {$(item_id) == $image_id && $(stripped_name) eq "image.png"
- && $(name) eq "file:image.png"}} 1 "\n$test:\n [array get {}]\n "
+ && $(name) eq "file:image.png"}} 1 "\n$test:\n [array get {}]\n "
set l [$i2 pretty_link]
set test [label "url" "toplevel image" $l]
array set "" [$package_id item_info_from_url $l]
? {expr {$(item_id) == $subimage_id && $(stripped_name) eq "image2.png"
- && $(name) eq "file:image2.png"}} 1 "\n$test:\n [array get {}]\n "
+ && $(name) eq "file:image2.png"}} 1 "\n$test:\n [array get {}]\n "
set l [$i3 pretty_link]
set test [label "url" "toplevel image" $l]
array set "" [$package_id item_info_from_url $l]
? {expr {$(item_id) == $childimage_id && $(stripped_name) eq "image3.png"
- && $(name) eq "file:image3.png" && $(method) eq ""}} 1 "\n$test:\n [array get {}]\n "
+ && $(name) eq "file:image3.png" && $(method) eq ""}} 1 "\n$test:\n [array get {}]\n "
-
+
# links
-
+
set l [$l1 pretty_link]
set test [label "url" "toplevel link to page" $l]
array set "" [$package_id item_info_from_url $l]
? {expr {$(item_id) == $pagelink_id && $(stripped_name) eq "link1"
- && $(name) eq "link1" && $(method) eq ""}} 1 "\n$test:\n [array get {}]\n "
+ && $(name) eq "link1" && $(method) eq ""}} 1 "\n$test:\n [array get {}]\n "
set l [$l2 pretty_link]
set test [label "url" "toplevel link to folder" $l]
array set "" [$package_id item_info_from_url $l]
? {expr {$(item_id) == $folderlink_id && $(stripped_name) eq "link2"
- && $(name) eq "link2" && $(method) eq ""}} 1 "\n$test:\n [array get {}]\n "
+ && $(name) eq "link2" && $(method) eq ""}} 1 "\n$test:\n [array get {}]\n "
set l [$l3 pretty_link]
set test [label "url" "toplevel link to page under folder" $l]
array set "" [$package_id item_info_from_url $l]
? {expr {$(item_id) == $subpagelink_id && $(stripped_name) eq "link3"
- && $(name) eq "link3" && $(method) eq ""}} 1 "\n$test:\n [array get {}]\n "
+ && $(name) eq "link3" && $(method) eq ""}} 1 "\n$test:\n [array get {}]\n "
set l [$l4 pretty_link]
set test [label "url" "toplevel link to folder under folder" $l]
array set "" [$package_id item_info_from_url $l]
? {expr {$(item_id) == $subfolderlink_id && $(stripped_name) eq "link4"
- && $(name) eq "link4" && $(method) eq ""}} 1 "\n$test:\n [array get {}]\n "
+ && $(name) eq "link4" && $(method) eq ""}} 1 "\n$test:\n [array get {}]\n "
set l [$l5 pretty_link]
set test [label "url" "toplevel link to image under folder" $l]
array set "" [$package_id item_info_from_url $l]
? {expr {$(item_id) == $subimagelink_id && $(stripped_name) eq "link5"
- && $(name) eq "link5" && $(method) eq ""}} 1 "\n$test:\n [array get {}]\n "
+ && $(name) eq "link5" && $(method) eq ""}} 1 "\n$test:\n [array get {}]\n "
########################################################
test section "item info from variations of pretty links"
-########################################################
+########################################################
# download
set l /XOWIKI-TEST/download/file/image.png
set test [label "url" "toplevel image download" $l]
array set "" [$package_id item_info_from_url $l]
? {expr {$(item_id) == $image_id && $(stripped_name) eq "image.png"
- && $(name) eq "file:image.png" && $(method) eq "download"}} 1 "\n$test:\n [array get {}]\n "
+ && $(name) eq "file:image.png" && $(method) eq "download"}} 1 "\n$test:\n [array get {}]\n "
# download via link
#set l /XOWIKI-TEST/download/file/link5
#set test [label "url" "toplevel image download" $l]
#array set "" [$package_id item_info_from_url $l]
#test hint "found $(item_id) should be $subimagelink_id"
# ? {expr {$(item_id) == $subimagelink_id && $(stripped_name) eq "link5"
- # && $(name) eq "file:link5" && $(method) eq "download"}} 1 "\n$test:\n [array get {}]\n "
+ # && $(name) eq "file:link5" && $(method) eq "download"}} 1 "\n$test:\n [array get {}]\n "
# tag link
set l /XOWIKI-TEST/tag/a
set test [label "url" "tag query" $l]
array set "" [$package_id item_info_from_url -default_lang de $l]
? {expr {$(item_id) != 0 && $(stripped_name) eq "weblog"
- && $(name) eq "en:weblog" && $(method) eq ""}} 1 "\n$test:\n [array get {}]\n"
+ && $(name) eq "en:weblog" && $(method) eq ""}} 1 "\n$test:\n [array get {}]\n"
# missing: tag links to subdirectories
# url without default lang
@@ -1408,7 +1416,7 @@
#############################################
-test section "item info via links to folders"
+test section "item info via links to folders"
#############################################
# reference pages over links to folders
@@ -1417,28 +1425,28 @@
set test [label "url" "reference page over links to folder default-lang" $l]
array set "" [$package_id item_info_from_url -default_lang de $l]
? {expr {$(item_id) == $testpage_id && $(stripped_name) eq "testpage"
- && $(name) eq "de:testpage"}} 1 "\n$test:\n [array get {}]\n "
+ && $(name) eq "de:testpage"}} 1 "\n$test:\n [array get {}]\n "
set l /XOWIKI-TEST/link2/de:testpage
set test [label "url" "reference page over links to folder direct name" $l]
array set "" [$package_id item_info_from_url $l]
? {expr {$(item_id) == $testpage_id && $(stripped_name) eq "testpage"
- && $(name) eq "de:testpage"}} 1 "\n$test:\n [array get {}]\n "
+ && $(name) eq "de:testpage"}} 1 "\n$test:\n [array get {}]\n "
set l /XOWIKI-TEST/download/file/link2/image2.png
set test [label "url" "reference download image over links to folder" $l]
array set "" [$package_id item_info_from_url $l]
? {expr {$(item_id) == $subimage_id && $(stripped_name) eq "image2.png"
- && $(name) eq "file:image2.png"}} 1 "\n$test:\n [array get {}]\n "
+ && $(name) eq "file:image2.png"}} 1 "\n$test:\n [array get {}]\n "
set l /XOWIKI-TEST/link2/f3/page
set test [label "url" "path contains link and references finally page" $l]
array set "" [$package_id item_info_from_url $l]
? {expr {$(item_id) == $f3page_id && $(stripped_name) eq "page"
- && $(name) eq "en:page"}} 1 "\n$test:\n [array get {}]\n "
+ && $(name) eq "en:page"}} 1 "\n$test:\n [array get {}]\n "
- #test section "inherited pages"
+ #test section "inherited pages"
# link to site-wide page
@@ -1451,8 +1459,8 @@
# link to dir in other package
##########################
-test section "Form Fields"
-##########################
+test section "Form Fields"
+##########################
# Create dummy object with a minimal setup to be used like a page
set o [::xotcl::Object new -destroy_on_cleanup]
@@ -1467,20 +1475,20 @@
"name with help_text"
set f0 [$o create_raw_form_field -name test \
- -slot ::xowiki::Page::slot::name -spec inform]
+ -slot ::xowiki::Page::slot::name -spec inform]
? {$f0 asWidgetSpec} \
{text(inform) {label {#xowiki.Page-name#}} {html {id F.dummy.test }} {help_text {Shortname to identify an entry within a folder, typically lowercase characters}}} \
"name with help_text + inform"
set f0 [$o create_raw_form_field -name test \
- -slot ::xowiki::Page::slot::name -spec optional]
+ -slot ::xowiki::Page::slot::name -spec optional]
? {$f0 asWidgetSpec} \
{text,optional {label {#xowiki.Page-name#}} {html {maxlength 400 id F.dummy.test size 80 }} {help_text {Shortname to identify an entry within a folder, typically lowercase characters}}} \
"name with help_text + optional"
set f1 [$o create_raw_form_field -name test \
- -slot ::xowiki::Page::slot::description \
- -spec "textarea,cols=80,rows=2"]
+ -slot ::xowiki::Page::slot::description \
+ -spec "textarea,cols=80,rows=2"]
? {$f1 asWidgetSpec} \
{text(textarea),nospell,optional {label {#xowiki.Page-description#}} {html {cols 80 id F.dummy.test rows 2 }} } \
"textarea,cols=80,rows=2"
@@ -1498,15 +1506,15 @@
? {$f3 asWidgetSpec} \
{date,optional {label {#xowiki.PodcastItem-pub_date#}} {html {id F.dummy.test }} {format {YYYY MM DD HH24 MI}} } \
{date with format}
-
+
ns_write "
Tests passed: [test set passed]
Tests failed: [test set failed]
Tests Time: [t1 diff -start]ms
-"
+"
# Local variables:
# mode: tcl