michael@0: /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: //----------------------------------------------------------------------------- michael@0: var BUGNUMBER = 246964; michael@0: // see also bug 248549, bug 253150, bug 259935 michael@0: var summary = 'undetectable document.all'; michael@0: var actual = ''; michael@0: var expect = ''; michael@0: michael@0: printBugNumber(BUGNUMBER); michael@0: printStatus (summary); michael@0: michael@0: if (typeof document == 'undefined') michael@0: { michael@0: expect = actual = 'Test requires browser: skipped'; michael@0: reportCompare(expect, actual, summary); michael@0: } michael@0: else michael@0: { michael@0: status = summary + ' ' + inSection(1) + ' if (document.all) '; michael@0: expect = false; michael@0: actual = false; michael@0: if (document.all) michael@0: { michael@0: actual = true; michael@0: } michael@0: reportCompare(expect, actual, status); michael@0: michael@0: status = summary + ' ' + inSection(2) + 'if (isIE) '; michael@0: expect = false; michael@0: actual = false; michael@0: var isIE = document.all; michael@0: if (isIE) michael@0: { michael@0: actual = true; michael@0: } michael@0: reportCompare(expect, actual, status); michael@0: michael@0: status = summary + ' ' + inSection(3) + ' if (document.all != undefined) '; michael@0: expect = false; michael@0: actual = false; michael@0: if (document.all != undefined) michael@0: { michael@0: actual = true; michael@0: } michael@0: reportCompare(expect, actual, status); michael@0: michael@0: michael@0: status = summary + ' ' + inSection(4) + ' if (document.all !== undefined) '; michael@0: expect = true; michael@0: actual = false; michael@0: if (document.all !== undefined) michael@0: { michael@0: actual = true; michael@0: } michael@0: reportCompare(expect, actual, status); michael@0: michael@0: status = summary + ' ' + inSection(5) + ' if (document.all != null) ' ; michael@0: expect = false; michael@0: actual = false; michael@0: if (document.all != null) michael@0: { michael@0: actual = true; michael@0: } michael@0: reportCompare(expect, actual, status); michael@0: michael@0: status = summary + ' ' + inSection(6) + ' if (document.all !== null) ' ; michael@0: expect = true; michael@0: actual = false; michael@0: if (document.all !== null) michael@0: { michael@0: actual = true; michael@0: } michael@0: reportCompare(expect, actual, status); michael@0: michael@0: status = summary + ' ' + inSection(7) + ' if (document.all == null) '; michael@0: expect = true; michael@0: actual = false; michael@0: if (document.all == null) michael@0: { michael@0: actual = true; michael@0: } michael@0: reportCompare(expect, actual, status); michael@0: michael@0: status = summary + ' ' + inSection(8) + ' if (document.all === null) '; michael@0: expect = false; michael@0: actual = false; michael@0: if (document.all === null) michael@0: { michael@0: actual = true; michael@0: } michael@0: reportCompare(expect, actual, status); michael@0: michael@0: status = summary + ' ' + inSection(9) + ' if (document.all == undefined) '; michael@0: expect = true; michael@0: actual = false; michael@0: if (document.all == undefined) michael@0: { michael@0: actual = true; michael@0: } michael@0: reportCompare(expect, actual, status); michael@0: michael@0: status = summary + ' ' + inSection(10) + ' if (document.all === undefined) '; michael@0: expect = false; michael@0: actual = false; michael@0: if (document.all === undefined) michael@0: { michael@0: actual = true; michael@0: } michael@0: reportCompare(expect, actual, status); michael@0: michael@0: status = summary + ' ' + inSection(11) + michael@0: ' if (typeof document.all == "undefined") '; michael@0: expect = true; michael@0: actual = false; michael@0: if (typeof document.all == 'undefined') michael@0: { michael@0: actual = true; michael@0: } michael@0: reportCompare(expect, actual, status); michael@0: michael@0: status = summary + ' ' + inSection(12) + michael@0: ' if (typeof document.all != "undefined") '; michael@0: expect = false; michael@0: actual = false; michael@0: if (typeof document.all != 'undefined') michael@0: { michael@0: actual = true; michael@0: } michael@0: reportCompare(expect, actual, status); michael@0: michael@0: status = summary + ' ' + inSection(13) + ' if ("all" in document) '; michael@0: expect = (document.compatMode == 'CSS1Compat') ? false : true; michael@0: actual = false; michael@0: if ('all' in document) michael@0: { michael@0: actual = true; michael@0: } michael@0: reportCompare(expect, actual, status); michael@0: michael@0: status = summary + ' ' + inSection(14) + ' if (f.ie) '; michael@0: var f = new foo(); michael@0: michael@0: expect = false; michael@0: actual = false; michael@0: if (f.ie) michael@0: { michael@0: actual = true; michael@0: } michael@0: reportCompare(expect, actual, status); michael@0: michael@0: } michael@0: michael@0: function foo() michael@0: { michael@0: this.ie = document.all; michael@0: }