The following test pages are to test browser functionality as it relates to features
used by the Insurrection Web Tools for Subversion. Where ever possible, the tests have
been broken out into individual situations such that the core issues can be
identified. The tests require at least and HTML 4.0 browser in order to
view the reference samples as they are presented in HTML.
The reference pages are rendered using plain HTML plus style sheets. The
test pages should render just like the reference pages. The links below
will load the two pages within frames in your browser such that you can see the
test page and reference page at the same time using frames.
Just because your browser fails one or more of these tests does not mean it will
fail to work with Insurrection. Insurrection code has some browser
specific workarounds in it for XSLT failures in certain browsers as noted below.
These tests do not show the use of the workarounds in order to show the raw
browser failures.
Test |
Description |
Test #1 |
Basic Browser based XML Request loading.
-
Mozilla - tested and working.
-
Windows-IE - tested and working.
Note that Windows-IE currently uses a built-in ActiveX control to load the fragment
and may complain about scripting of the control, depending on your security settings.
-
Safari - tested and working.
-
Opera - tested and working.
|
Test #2 |
Basic Browser based XSLT transform.
-
Mozilla - tested and working.
-
Windows-IE - tested and working.
-
Safari - tested and almost working. Some CSS styles are not
correctly applied and the relative links in the banner go to the wrong location.
Note: it is the lack of correct path behavior that causes this problem. It
seems that the base path is not that of the document/frame but of the containing document but
only when the page is created via the XSLT translation.
-
Opera - tested and working.
|
Test #3 |
Browser based XSLT with XPath/document() function usage. Note: Insurrection no longer
depends on the XPath/document() function due to the lack of support within Safari.
-
Mozilla - tested and working.
-
Windows-IE - tested and working.
-
Safari - tested and mostly not working. The XSLT/XPath document()
function seems to be at fault.
-
Opera - tested and not working at all. The XSLT/XPath document()
function seems to be at fault.
|
Test #4 |
JavaScript based XML loading, parsing, and DOM creation.
-
Mozilla - tested and working.
-
Windows-IE - tested and working.
Note that Windows-IE currently uses a built-in ActiveX control to load the XML
and may complain about scripting of the control, depending on your security settings.
-
Safari - tested and working.
-
Opera - tested and mostly working. There are some strange layout
problems as part of the clicking of the links but they are consistent between
the test page and the reference page.
|
Test #5 |
XSLT based pages with JavaScript called within the generated page.
-
Mozilla - tested and working.
-
Windows-IE - tested and working.
Note that Windows-IE currently uses a built-in ActiveX control to load the XML
and may complain about scripting of the control, depending on your security settings.
-
Safari - tested and mostly not working. For the same reason
that the styles don't render correctly in Test #2, the JavaScript
is not executed. It is interesting in that the page should look just like the page
in Test #1 only this page is generated from XML via client
side XSLT and this causes the URL reference problems and JavaScript execution problems.
Note: it is the lack of correct path behavior that causes some of these
problems. It seems that the base path is not that of the document/frame but of the
containing document but only when the page is created via the XSLT translation.
-
Opera - tested and not working. It seems that XML/XSLT support
within Opera does not support the running of JavaScript.
|
Test #6 |
Basic Browser based XSLT transform with HTML output format.
-
Mozilla - tested and working in newer (1.8+/Firefox
1.5+) versions. Test #2 shows this exact
same test setup with the CSS formatted in a way such that rendering works.
Certain prior version failed for a period of time but Mozilla 1.7.x and Firefox 1.0.x
did work.
-
Windows-IE - tested and working.
-
Safari - tested and almost working. Some CSS styles are not
correctly applied and the relative links in the banner go to the wrong location.
Note: it is the lack of correct path behavior that causes this problem. It
seems that the base path is not that of the document/frame but of the containing document but
only when the page is created via the XSLT translation.
-
Opera - tested and working. There seems to be a minor
behavior/layout difference due to the behavior of the XSLT generated page but it basically
works.
|
Notes on the browsers I have tested:
-
Mozilla includes all Mozilla technology based browsers including Firefox,
Camino, etc. Mozilla 1.8+ and Firefox 1.5+ currently fail test #6 but the
workaround so trivial that it does not matter.
-
Windows-IE is IE6. This is the default browser that came with Windows XP.
My Testing was done on Windows XP with Service Pack 2 installed.
-
Safari is Mac OSX 10.3.9 release and 10.4 release. Safari with Webkit 420+ is now working.
-
Opera is the Linux generic build of 9.0 Final. Note that prior Opera versions did not
have any client-side XSLT support and thus failed all of the XSLT tests. Opera still has some
strange layout issues.
What this means is that Mozilla/Firefox/etc, upcoming Safari versions, and
Windows-IE comply with the standards enough to use the Insurrection tools
without some help. This does, however, cover over 98% of the browsers in
use. Insurrection has some browser compatibility checks that check for
Konqueror, Safari, and Opera. These checks then remove the client side XSLT
processing and move it to server-side XSLT processing. This is not the
preferred solution as it significantly increases the amount of data that needs
to be sent to the client. Insurrection specifically checks for only those
browsers (via the USER_AGENT header) in order to enable the workaround so as to
not reduce the performance of browsers that do support the standards.
|