mirror of
https://github.com/classilla/tenfourfox.git
synced 2024-08-14 10:29:31 +00:00
122 lines
3.0 KiB
JavaScript
122 lines
3.0 KiB
JavaScript
/*
|
|
Distributed under both the W3C Test Suite License [1] and the W3C
|
|
3-clause BSD License [2]. To contribute to a W3C Test Suite, see the
|
|
policies and contribution forms [3].
|
|
|
|
[1] http://www.w3.org/Consortium/Legal/2008/04-testsuite-license
|
|
[2] http://www.w3.org/Consortium/Legal/2008/03-bsd-license
|
|
[3] http://www.w3.org/2004/10/27-testcases
|
|
*/
|
|
|
|
//
|
|
// Helper Functions for PageVisibility W3C tests
|
|
//
|
|
var VISIBILITY_STATES =
|
|
{
|
|
HIDDEN: "hidden",
|
|
VISIBLE: "visible"
|
|
};
|
|
|
|
var feature_check = false;
|
|
|
|
//
|
|
// All test() functions in the WebPerf PageVis test suite should use pv_test() instead.
|
|
//
|
|
// pv_test() validates the document.hidden and document.visibilityState attributes
|
|
// exist prior to running tests and immediately shows a failure if they do not.
|
|
//
|
|
|
|
function pv_test(func, msg, doc)
|
|
{
|
|
if (!doc)
|
|
{
|
|
doc = document;
|
|
}
|
|
|
|
// only run the feature check once, unless func == null, in which case,
|
|
// this call is intended as a feature check
|
|
if (!feature_check)
|
|
{
|
|
feature_check = true;
|
|
|
|
var hiddenVal = doc.hidden;
|
|
var visStateVal = doc.visibilityState;
|
|
|
|
// show a single error that the Page Visibility feature is undefined
|
|
test(function()
|
|
{
|
|
assert_true(hiddenVal !== undefined && hiddenVal != null,
|
|
"document.hidden is defined and not null.");},
|
|
"document.hidden is defined and not null.");
|
|
|
|
test(function()
|
|
{
|
|
assert_true(visStateVal !== undefined && hiddenVal != null,
|
|
"document.visibilityState is defined and not null.");},
|
|
"document.visibilityState is defined and not null.");
|
|
|
|
}
|
|
|
|
if (func)
|
|
{
|
|
test(func, msg);
|
|
}
|
|
}
|
|
|
|
|
|
function test_feature_exists(doc, msg)
|
|
{
|
|
if (!msg)
|
|
{
|
|
msg = "";
|
|
}
|
|
var hiddenMsg = "document.hidden is defined" + msg + ".";
|
|
var stateMsg = "document.visibilityState is defined" + msg + ".";
|
|
pv_test(function(){assert_true(document.hidden !== undefined, hiddenMsg);}, hiddenMsg, doc);
|
|
pv_test(function(){assert_true(document.visibilityState !== undefined, stateMsg);}, stateMsg, doc);
|
|
}
|
|
|
|
//
|
|
// Common helper functions
|
|
//
|
|
|
|
function test_true(value, msg)
|
|
{
|
|
pv_test(function() { assert_true(value, msg); }, msg);
|
|
}
|
|
|
|
function test_equals(value, equals, msg)
|
|
{
|
|
pv_test(function() { assert_equals(value, equals, msg); }, msg);
|
|
}
|
|
|
|
//
|
|
// asynchronous test helper functions
|
|
//
|
|
|
|
function add_async_result(test_obj, pass_state)
|
|
{
|
|
// add assertion to manual test for the pass state
|
|
test_obj.step(function() { assert_true(pass_state) });
|
|
|
|
// end manual test
|
|
test_obj.done();
|
|
}
|
|
|
|
function add_async_result_assert(test_obj, func)
|
|
{
|
|
// add assertion to manual test for the pass state
|
|
test_obj.step(func);
|
|
|
|
// end manual test
|
|
test_obj.done();
|
|
}
|
|
|
|
var open_link;
|
|
function TabSwitch()
|
|
{
|
|
//var open_link = window.open("http://www.bing.com");
|
|
open_link = window.open('', '_blank');
|
|
setTimeout(function() { open_link.close(); }, 2000);
|
|
}
|