blob: bf3463579ebda949880ed5526b3c32aec8086492 [file] [log] [blame]
<html>
<script>
if (window.testRunner)
testRunner.dumpAsText();
</script>
<body>
<h3>Variations on type attribute of script tag</h3>
<h4>These scripts should execute</h4>
<ol>
<li>no type attribute <script>document.write("executed");</script></li>
<li>empty string <script type="">document.write("executed");</script></li>
<li>text/javascript <script type="text/javascript">document.write("executed");</script></li>
<li>text/JAVASCRIPT <script type="text/JAVASCRIPT">document.write("executed");</script></li>
<li>TEXT/JAVASCRIPT <script type="TEXT/JAVASCRIPT">document.write("executed");</script></li>
<li>'text/javascript ' <script type="text/javascript ">document.write("executed");</script></li>
<li>' text/javascript ' <script type=" text/javascript ">document.write("executed");</script></li>
<li>text/jscript <script type="text/jscript">document.write("executed");</script></li>
<li>text/ecmascript <script type="text/ecmascript">document.write("executed");</script></li>
<li>text/livescript <script type="text/livescript">document.write("executed");</script></li>
<li>text/javascript1.1 <script type="text/javascript1.1">document.write("executed");</script></li>
<li>text/javascript1.2 <script type="text/javascript1.2">document.write("executed");</script></li>
<li>text/javascript1.3 <script type="text/javascript1.3">document.write("executed");</script></li>
<li>application/javascript <script type="application/javascript">document.write("executed");</script></li>
<li>application/ecmascript <script type="application/ecmascript">document.write("executed");</script></li>
<li>application/x-javascript <script type="application/x-javascript">document.write("executed");</script></li>
</ol>
<h4>These scripts should not execute</h4>
<ol>
<li>one space <script type=" ">document.write("executed");</script></li>
<li>text/ <script type="text/">document.write("executed");</script></li>
<li>text/vbscript <script type="text/vbscript">document.write("executed");</script></li>
<li>text/vbs <script type="text/vbs">document.write("executed");</script></li>
<li>text/xml <script type="text/xml">document.write("executed");</script></li>
<li>text/javascript1 <script type="text/javascript1">document.write("executed");</script></li>
<li>text/javascript1.0 <script type="text/javascript1.0">document.write("executed");</script></li>
<li>text/javascript1.4 <script type="text/javascript1.4">document.write("executed");</script></li>
<li>text/javascript1.5 <script type="text/javascript1.5">document.write("executed");</script></li>
<li>text/javascript1.6 <script type="text/javascript1.6">document.write("executed");</script></li>
<li>application/jscript <script type="application/jscript">document.write("executed");</script></li>
<li>application/x-jscript <script type="application/x-jscript">document.write("executed");</script></li>
<li>application/livescript <script type="application/livescript">document.write("executed");</script></li>
<li>application/x-livescript <script type="application/x-livescript">document.write("executed");</script></li>
<li>application/x-ecmascript <script type="application/x-ecmascript">document.write("executed");</script></li>
<li>application/javascript1.2 <script type="application/javascript1.2">document.write("executed");</script></li>
<li>application/x-javascript1.2 <script type="application/x-javascript1.2">document.write("executed");</script></li>
<li>javascript <script type="javascript">document.write("executed");</script></li>
<li>jscript <script type="jscript">document.write("executed");</script></li>
<li>ecmascript <script type="ecmascript">document.write("executed");</script></li>
<li>livescript <script type="livescript">document.write("executed");</script></li>
<li>livescript1.1 <script type="livescript1.1">document.write("executed");</script></li>
<li>JAVASCRIPT <script type="JAVASCRIPT">document.write("executed");</script></li>
<li>JavaScript <script type="JavaScript">document.write("executed");</script></li>
<li>JavaScript 1 <script type="JavaScript 1">document.write("executed");</script></li>
<li>JavaScript 1.0 <script type="JavaScript 1.0">document.write("executed");</script></li>
<li>JavaScript 1.1 <script type="JavaScript 1.1">document.write("executed");</script></li>
<li>JavaScript 1.1.1 <script type="JavaScript 1.1.1">document.write("executed");</script></li>
<li>JavaScript 1.2 <script type="JavaScript 1.2">document.write("executed");</script></li>
<li>JavaScript 1.3 <script type="JavaScript 1.3">document.write("executed");</script></li>
<li>JavaScript 1.4 <script type="JavaScript 1.4">document.write("executed");</script></li>
<li>JavaScript 1.5 <script type="JavaScript 1.5">document.write("executed");</script></li>
<li>JavaScript 1.6 <script type="JavaScript 1.6">document.write("executed");</script></li>
<li>JavaScript 1.7 <script type="JavaScript 1.7">document.write("executed");</script></li>
<li>JavaScript 1.8 <script type="JavaScript 1.8">document.write("executed");</script></li>
<li>JavaScript 1.9 <script type="JavaScript 1.9">document.write("executed");</script></li>
<li>JavaScript 2 <script type="JavaScript 2">document.write("executed");</script></li>
<li>JavaScript 2.1 <script type="JavaScript 2.1">document.write("executed");</script></li>
<li>JavaScript 10 <script type="JavaScript 10">document.write("executed");</script></li>
<li>JavaScript 10.0 <script type="JavaScript 10.0">document.write("executed");</script></li>
<li>_javascript <script type="_javascript">document.write("executed");</script></li>
<li>javascript_ <script type="javascript_">document.write("executed");</script></li>
<li>javascript_1.0 <script type="javascript_1.0">document.write("executed");</script></li>
<li>javascript 1.0 x <script type="javascript 1.0 x">document.write("executed");</script></li>
<li>JavaScript1 <script type="JavaScript1">document.write("executed");</script></li>
<li>JavaScript1.0 <script type="JavaScript1.0">document.write("executed");</script></li>
<li>JavaScript1.1 <script type="JavaScript1.1">document.write("executed");</script></li>
<li>JavaScript1.2 <script type="JavaScript1.2">document.write("executed");</script></li>
<li>JavaScript1.3 <script type="JavaScript1.3">document.write("executed");</script></li>
<li>JavaScript1.4 <script type="JavaScript1.4">document.write("executed");</script></li>
<li>JavaScript1.4.1 <script type="JavaScript1.4.1">document.write("executed");</script></li>
<li>JavaScript1.5 <script type="JavaScript1.5">document.write("executed");</script></li>
<li>JavaScript1.6 <script type="JavaScript1.6">document.write("executed");</script></li>
<li>JavaScript1.7 <script type="JavaScript1.7">document.write("executed");</script></li>
<li>1.0 javascript <script type="1.0 javascript">document.write("executed");</script></li>
<li>' javascript ' <script type=" javascript ">document.write("executed");</script></li>
<li>' javascript1.1 ' <script type=" javascript1.1 ">document.write("executed");</script></li>
<li>'&nbsp;&nbsp;&nbsp;javascript&nbsp;&nbsp;&nbsp;' <script type=" javascript ">document.write("executed");</script></li>
<li>' javascript 1.0 ' <script type=" javascript 1.0 ">document.write("executed");</script></li>
<li>' javascript&nbsp;&nbsp;1.0 ' <script type=" javascript 1.0 ">document.write("executed");</script></li>
<li>jscript 1 <script type="jscript 1">document.write("executed");</script></li>
<li>jscript 1.0 <script type="jscript 1.0">document.write("executed");</script></li>
<li>ecmascript 1 <script type="ecmascript 1">document.write("executed");</script></li>
<li>ecmascript 1.0 <script type="ecmascript 1.0">document.write("executed");</script></li>
<li>livescript 1 <script type="livescript 1">document.write("executed");</script></li>
<li>livescript 1.0 <script type="livescript 1.0">document.write("executed");</script></li>
<li>' jscript&nbsp;&nbsp;1.0 ' <script type=" jscript 1.0 ">document.write("executed");</script></li>
<li>disabled_javascript <script type="disabled_javascript">document.write("executed");</script></li>
<li>xxxjavascriptxxx <script type="xxxjavascriptxxx">document.write("executed");</script></li>
<li>bogus <script type="bogus">document.write("executed");</script></li>
</ol>
<h3>Variations on language attribute of script tag</h3>
<h4>These scripts should execute</h4>
<ol>
<li>no language attribute <script>document.write("executed");</script></li>
<li>empty string <script language="">document.write("executed");</script></li>
<li>jscript <script language="jscript">document.write("executed");</script></li>
<li>ecmascript <script language="ecmascript">document.write("executed");</script></li>
<li>livescript <script language="livescript">document.write("executed");</script></li>
<li>javascript <script language="javascript">document.write("executed");</script></li>
<li>JAVASCRIPT <script language="JAVASCRIPT">document.write("executed");</script></li>
<li>JavaScript <script language="JavaScript">document.write("executed");</script></li>
<li>JavaScript1.0 <script language="JavaScript1.0">document.write("executed");</script></li>
<li>JavaScript1.1 <script language="JavaScript1.1">document.write("executed");</script></li>
<li>JavaScript1.2 <script language="JavaScript1.2">document.write("executed");</script></li>
<li>JavaScript1.3 <script language="JavaScript1.3">document.write("executed");</script></li>
<li>JavaScript1.4 <script language="JavaScript1.4">document.write("executed");</script></li>
<li>JavaScript1.5 <script language="JavaScript1.5">document.write("executed");</script></li>
<li>JavaScript1.6 <script language="JavaScript1.6">document.write("executed");</script></li>
<li>JavaScript1.7 <script language="JavaScript1.7">document.write("executed");</script></li>
</ol>
<h4>These scripts should not execute</h4>
<ol>
<li>one space <script language=" ">document.write("executed");</script></li>
<li>vbscript <script language="vbscript">document.write("executed");</script></li>
<li>livescript1.1 <script language="livescript1.1">document.write("executed");</script></li>
<li>JavaScript 1 <script language="JavaScript 1">document.write("executed");</script></li>
<li>JavaScript 1.0 <script language="JavaScript 1.0">document.write("executed");</script></li>
<li>JavaScript 1.1 <script language="JavaScript 1.1">document.write("executed");</script></li>
<li>JavaScript 1.1.1 <script language="JavaScript 1.1.1">document.write("executed");</script></li>
<li>JavaScript 1.2 <script language="JavaScript 1.2">document.write("executed");</script></li>
<li>JavaScript 1.3 <script language="JavaScript 1.3">document.write("executed");</script></li>
<li>JavaScript 1.4 <script language="JavaScript 1.4">document.write("executed");</script></li>
<li>JavaScript 1.5 <script language="JavaScript 1.5">document.write("executed");</script></li>
<li>JavaScript 1.6 <script language="JavaScript 1.6">document.write("executed");</script></li>
<li>JavaScript 1.7 <script language="JavaScript 1.7">document.write("executed");</script></li>
<li>JavaScript 1.8 <script language="JavaScript 1.8">document.write("executed");</script></li>
<li>JavaScript 1.9 <script language="JavaScript 1.9">document.write("executed");</script></li>
<li>JavaScript 2 <script language="JavaScript 2">document.write("executed");</script></li>
<li>JavaScript 2.1 <script language="JavaScript 2.1">document.write("executed");</script></li>
<li>JavaScript 10 <script language="JavaScript 10">document.write("executed");</script></li>
<li>JavaScript 10.0 <script language="JavaScript 10.0">document.write("executed");</script></li>
<li>_javascript <script language="_javascript">document.write("executed");</script></li>
<li>javascript_ <script language="javascript_">document.write("executed");</script></li>
<li>javascript_1.0 <script language="javascript_1.0">document.write("executed");</script></li>
<li>javascript 1.0 x <script language="javascript 1.0 x">document.write("executed");</script></li>
<li>JavaScript1 <script language="JavaScript1">document.write("executed");</script></li>
<li>JavaScript1.8 <script language="JavaScript1.8">document.write("executed");</script></li>
<li>JavaScript1.9 <script language="JavaScript1.9">document.write("executed");</script></li>
<li>JavaScript1.4.1 <script language="JavaScript1.4.1">document.write("executed");</script></li>
<li>1.0 javascript <script language="1.0 javascript">document.write("executed");</script></li>
<li>' javascript ' <script language=" javascript ">document.write("executed");</script></li>
<li>' javascript1.1 ' <script language=" javascript1.1 ">document.write("executed");</script></li>
<li>'&nbsp;&nbsp;&nbsp;javascript&nbsp;&nbsp;&nbsp;' <script language=" javascript ">document.write("executed");</script></li>
<li>' javascript 1.0 ' <script language=" javascript 1.0 ">document.write("executed");</script></li>
<li>' javascript&nbsp;&nbsp;1.0 ' <script language=" javascript 1.0 ">document.write("executed");</script></li>
<li>jscript 1 <script language="jscript 1">document.write("executed");</script></li>
<li>jscript 1.0 <script language="jscript 1.0">document.write("executed");</script></li>
<li>ecmascript 1 <script language="ecmascript 1">document.write("executed");</script></li>
<li>ecmascript 1.0 <script language="ecmascript 1.0">document.write("executed");</script></li>
<li>livescript 1 <script language="livescript 1">document.write("executed");</script></li>
<li>livescript 1.0 <script language="livescript 1.0">document.write("executed");</script></li>
<li>' jscript&nbsp;&nbsp;1.0 ' <script language=" jscript 1.0 ">document.write("executed");</script></li>
<li>disabled_javascript <script language="disabled_javascript">document.write("executed");</script></li>
<li>xxxjavascriptxxx <script language="xxxjavascriptxxx">document.write("executed");</script></li>
<li>bogus <script language="bogus">document.write("executed");</script></li>
</ol>
<h3>Variations on combined type and language attributes of script tag</h3>
<h4>These scripts should execute</h4>
<ol>
<li>empty string type, "javascript" language <script type="" language="javascript">document.write("executed");</script></li>
<li>empty string language, "text/javascript" type <script type="text/javascript" language="">document.write("executed");</script></li>
<li>"javascript" language, "text/javascript" type <script type="text/javascript" language="javascript">document.write("executed");</script></li>
<li>"bogus" language, "text/javascript" type <script type="text/javascript" language="bogus">document.write("executed");</script></li>
<li>"livescript" language, "text/javascript" type <script type="text/javascript" language="livescript">document.write("executed");</script></li>
<li>"javascript1.2" language, "text/javascript" type <script type="text/javascript" language="javascript1.2">document.write("executed");</script></li>
</ol>
<h4>These scripts should not execute</h4>
<ol>
<li>"javascript" language, "bogus" type <script type="bogus" language="javascript">document.write("executed");</script></li>
<li>empty string type, "bogus" language <script type="" language="bogus">document.write("executed");</script></li>
<li>empty string language, "bogus" type <script type="bogus" language="">document.write("executed");</script></li>
</ol>
</body>
</html>