In working on these Public Render Parameter tests, I found that line 167 in RelativePortalURLImpl (clearParameters() method) threw a NullPointerException because the window ID was null for public render parameters (the PortalURLParameter.getWindow() call returns null). I stuck a null check there and it worked.
However I noticed a number of other places where PortalURLParameter.getWindow() id was called and some of them did not have a null check. I can also stick null checks where they are missing, but I want to make sure this does not have unintended consequences. Torsten (or anyone else), can you comment on this?
BTW, my tests indicate that if a public render parameters is not declared by a supported-public-render-parameter element in a portlet.xml record of a portlet instance, then the portlet window does not see it. This is proper behaviour according to the JSR-286 spec. I will add that check and others to this testsuite test.