In HTML the ampersand is supposed to be encoded as the & html entity. Since tclwebtest actually parses the generated html, it needs to translate that before making a request for the url.
This is my understanding anyway. Of course, OpenACS breaks this rule quite often, but I think we are getting better by validating the generated HTML of the packages for the Zen project.
i know what entity encoding in HTML and XML is for. however, in the code piece you posted, it is handling a redirect, getting the location, and does the decode on provided value:
set location [translate_entities [string trim [lindex $meta [expr {$i+1}]]]]
The point is: location is an url and not supposed to be entity encoded, but url encoded. so i am still wondering, why it is doing it...