The main difference between TestPage179 (redirectRenderPRP1Test) and TestPage180 (redirectRenderPRP2Test) is that the former will call ExternalContext.encodeActionURL(String) before calling ExternalContext.redirect(String). That explains why TestPage179 is failing and TestPage180 is succeeding.
The test is failing because of two problems:
1. In BridgeContextImpl.redirect(String), the pre-encoded URL is detected as absolute, and the redirect is being ignored. The detection of absolute URLs needs to be limited to the ACTION_PHASE in order to fix this problem.
2. In BridgeURLBaseImpl, the getParameter(String) method needs to see check the parameter name is prepended with the response namespace.