+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+
+<html>
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+ <title>test of bitwise operators mixing integers, null, and undefined</title>
+ <style>
+ .failure { color: red; }
+ .success { color: green; }
+ </style>
+ <script type="text/javascript">
+
+ if (window.layoutTestController) layoutTestController.dumpAsText();
+
+ function log(msg) {
+ document.getElementById("log").innerHTML += msg;
+ }
+
+ function logTest(expression, expected) {
+ var result;
+ try {
+ result = eval(expression);
+ } catch (e) {
+ result = e;
+ }
+ if (result != expected)
+ log("<li class='failure'>FAILED: " + expression + " = " + result + " -- expected: " + expected + "</li>");
+ else
+ log("<li class='success'>SUCCESS: " + expression + " = " + result + "</li>");
+
+ }
+
+ function runTest() {
+ logTest("0 & null", 0);
+ logTest("0 & undefined", 0);
+ logTest("1 & null", 0);
+ logTest("1 & undefined", 0);
+ logTest("0 | null", 0);
+ logTest("0 | undefined", 0);
+ logTest("1 | null", 1);
+ logTest("1 | undefined", 1);
+ logTest("0 ^ null", 0);
+ logTest("0 ^ undefined", 0);
+ logTest("1 ^ null", 1);
+ logTest("1 ^ undefined", 1);
+ }
+
+ </script>
+
+ </head>
+ This tests the bitwise operators work correctly in conjunction with undefined and null.<br />
+ <body onload="runTest()">
+ <ul id="log"></ul>
+ </body>
+</html>