You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Volodymyr Siedlecki (Jira)" <de...@myfaces.apache.org> on 2022/11/14 16:54:00 UTC

[jira] [Created] (MYFACES-4498) TCK: Issue 4345 : Head Element Not Updated As Expected via Ajax Call

Volodymyr Siedlecki created MYFACES-4498:
--------------------------------------------

             Summary: TCK: Issue 4345 : Head Element Not Updated As Expected via Ajax Call
                 Key: MYFACES-4498
                 URL: https://issues.apache.org/jira/browse/MYFACES-4498
             Project: MyFaces Core
          Issue Type: Bug
    Affects Versions: 4.0.0-RC2
            Reporter: Volodymyr Siedlecki


Test Code: 
[https://github.com/jakartaee/faces/blob/4.0.1/tck/faces22/ajax/src/test/java/ee/jakarta/tck/faces/test/servlet30/ajax/Issue4345IT.java#L47]

[https://github.com/jakartaee/faces/blob/4.0.1/tck/faces22/ajax/src/main/webapp/issue4345result.xhtml] 

[https://github.com/jakartaee/faces/blob/4.0.1/tck/faces22/ajax/src/test/java/ee/jakarta/tck/faces/test/servlet30/ajax/Issue4345IT.java#L47]

This test was created for ensure HTML is only escaped twice ([Issue 4345|https://github.com/eclipse-ee4j/mojarra/issues/4345). However, MyFaces is encountering two problems with this test.

Firstly, here is the Ajax response and the updated HTML: 
{code:java}
<?xml version="1.0" encoding="UTF-8"?>
<partial-response id="j_id__v_0">
   <changes>
      <update id="jakarta.faces.ViewRoot">
         <![CDATA[<!--
            Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
            
            This program and the accompanying materials are made available under the
            terms of the Eclipse Public License v. 2.0, which is available at
            http://www.eclipse.org/legal/epl-2.0.
            
            This Source Code may also be made available under the following Secondary
            Licenses when the conditions for such availability set forth in the
            Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
            version 2 with the GNU Classpath Exception, which is available at
            https://www.gnu.org/software/classpath/license.html.
            
            SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
            
            --><!DOCTYPE html>
            <html xmlns="http://www.w3.org/1999/xhtml"><head>
                <!-- h:outputStylesheet does not support params in the URL, so generate a similar link manually. -->
                <!--<h:outputStylesheet name="issue4345.css?firstParam=1&amp;secondParam=2" />-->
                <link type="text/css" rel="stylesheet" href="/test-faces22-ajax/jakarta.faces.resource/issue4345.css.xhtml?firstParam=1&amp;secondParam=2" /><script type="text/javascript" src="/test-faces22-ajax/jakarta.faces.resource/issue4345.js.xhtml?firstParam=1&amp;secondParam=2"></script></head><body></body>
            </html>]]>
      </update>
      <update id="j_id__v_0:jakarta.faces.ViewState:1">
         <![CDATA[ZmY2MjMxN2MxYTY3OTg1MTAwMDAwMDA0]]>
      </update>
   </changes>
</partial-response> {code}

The HTML is then set as : 
{code:java}
<html xmlns="http://www.w3.org/1999/xhtml">
   <head>
      <style rel="stylesheet" type="text/css">@import url('/test-faces22-ajax/jakarta.faces.resource/issue4345.css.xhtml?firstParam=1&secondParam=2');</style>
   </head>
   <body></body>
</html>
 {code}

1) We change from a link (type/css ) to a style tag that imports the URL? Should that occur?  The JavaScript in issue4345result.xhtml specifically looks for a link element. 

2) The script tags *are not appended* to the head element, but I do see network requests for them. Additionally, the scripts do run (confirmed by the console: "issue4345.js loaded." ). 

This fails on both the RC2 scripts and the new TypeScript code. 

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)