http://helma.org/bugs/show_bug.cgi?id=655 Summary: Strange rendering bug involving case of skin name
Product: Helma
Version: CVS trunk
Platform: All
OS/Version: All
Status: NEW
Severity: normal
Priority: P1
Component: Web Support
AssignedTo:
helma-dev@...
ReportedBy:
interface@...
In Antville code I currently have the situation of not being able to render the
desired skin except if I change the case of the skin name.
As there are various Helma specialities involved (an extended Root prototype, a
dynamic skin path and repositories), I'll attach a test app that demonstrates
the bug.
The app needs to be mounted like this:
test
test.appDir = ./apps/test/code
test.repository.0 = ./apps/test/code
#test.repository.1 = ./apps/test/repository
The last line will be enabled after we took a first look at the result without
it. Pointing your browser to the URL of the application should output similar
to the following:
app.repositories:
FileRepository[/Users/tobi/Projects/helma/./apps/test/repositories-2/code]
res.skinpath:
/Users/tobi/Projects/helma/./apps/test/repositories-2/code/../layout
app.getSkinfilesInPath(res.skinpath).Site.Site:
<% #main %>
This is #main in layout/Site/Site.skin
Rendered output:
This is #main in layout/Site/Site.skin
All is well. However, if I enable the last line that is commented out above,
restart the app and reload the URL I get this:
app.repositories:
FileRepository[/Users/tobi/Projects/helma/./apps/test/repositories-2/code]
FileRepository[/Users/tobi/Projects/helma/./apps/test/repositories-2/repository]
res.skinpath:
/Users/tobi/Projects/helma/./apps/test/repositories-2/code/../layout
app.getSkinfilesInPath(res.skinpath).Site.Site:
<% #main %>
This is #main in layout/Site/Site.skin
Rendered output:
This is #main in repository/Root/Site.skin
Here, #main subskin of repository/Root/Site.skin is rendered although neither
res.skinpath contains a path to the repository nor does
app.getSkinFilesInPath() contain the rendered skin contents!
I would expect Helma to render the skin according to the skinpath, ie. to
render layout/Site/Site.skin as she does when the additional repository is not
loaded.
But there is more! If I now change the case of one letter of the argument in
the call for this.renderSkin() (last line of Site.main_action body), suddenly
everything works again as it should:
Site.prototype.main_action = function() {
// ...
this.renderSkin("site#main");
}
Rendered output:
This is #main in layout/Site/Site.skin
How strange... Could it be that there is still some confusion with
uppercase/lowercase equality around in Helma?
--
Configure bugmail:
http://helma.org/bugs/userprefs.cgi?tab=email------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
_______________________________________________
Helma-dev mailing list
Helma-dev@...
http://helma.org/mailman/listinfo/helma-dev