products/sources/formale Sprachen/C/Firefox/testing/web-platform/tests/webidl/current-realm.html
<!-- This tests the agreed upon outcome for https://www.w3.org/Bugs/Public/show_bug.cgi?id=24652
that has not been reflected in the IDL standard yet due to lack of editing resources.
TODO: https://github.com/w3c/webcrypto/issues/85 -->
<!
DOCTYPE html >
<
meta charset=utf-8>
<
title >Current Realm</
title >
<
script src=
"/resources/testharness.js" ></
script >
<
script src=
"/resources/testharnessreport.js" ></
script >
<
div id=
"log" ></
div >
<
iframe srcdoc=
"" ></
iframe >
<
script >
setup({explicit_done:true})
function isObjectFromGlobal(
object , global) {
return
object instanceof global.
Object ;
}
function assert_global(obj) {
assert_false(isObjectFromGlobal(obj, self), obj +
" should not be from top-level Realm" )
assert_true(isObjectFromGlobal(obj, self[0]), obj +
" should be from )
}
onload = function() {
[[
"querySelectorAll" ,
"test" ],
[
"createElement" ,
"x" ],
[
"createElementNS" , null,
"x" ],
[
"createDocumentFragment" ],
[
"createTextNode" ,
"test" ],
[
"createComment" ,
"test" ],
[
"createProcessingInstruction" ,
"x" ,
"x" ],
[
"createAttribute" ,
"x" ],
[
"createAttributeNS" ,
"x" ,
"x" ],
[
"createEvent" ,
"Event" ],
[
"createRange" ],
[
"createNodeIterator" , document.
head ],
[
"createTreeWalker" , document.
head ]].forEach(function(val) {
test(function() {
const method = val.shift();
let obj = self[0].document[method](...val);
assert_global(obj)
obj = Document.prototype[method].call(self[0].document, ...val);
assert_global(obj)
}, val[0])
})
;[
"Request" ,
"Response" ].forEach(val => {
test(() => {
const obj = new self[0][val](
"about:blank" );
assert_global(obj);
const cloneObj = obj.clone();
assert_global(cloneObj);
const involvedCloneObj = self[val].prototype[
"clone" ].call(cloneObj);
assert_global(cloneObj);
}, val)
})
// Note: these are not [NewObject] and can be cached. But across globals?
;[[
"getElementsByTagName" ,
"x" ],
[
"getElementsByTagNameNS" , null,
"x" ],
[
"getElementsByClassName" ,
"x" ]].forEach(function(val) {
test(function() {
const method = val.shift();
const obj = self[0].document[method](...val);
assert_global(obj)
const obj2 = Document.prototype[method].call(self[0].document, ...val);
assert_global(obj)
assert_equals(obj, obj2) // XXX this might be controversial
}, val[0])
})
;[[
"createDocumentType" ,
"x" ,
"" ,
"" ],
[
"createDocument" , null,
"" , null],
[
"createHTMLDocument" ,
"x" ]].forEach(function(val) {
test(function() {
const method = val.shift();
let obj = self[0].document.implementation[method](...val);
assert_global(obj)
obj = DOMImplementation.prototype[method].call(self[0].document.implementation, ...
val);
assert_global(obj)
}, val[0])
})
;[["item" , 0],
["getNamedItem" , "test" ],
["getNamedItemNS" , null, "test" ]].forEach(function(val) {
test(function() {
const method = val.shift();
const obj = self[0].document.body .attributes[method](...val);
assert_global(obj)
const obj2 = NamedNodeMap.prototype[method].call(self[0].document.body .attributes, ...val);
assert_global(obj)
assert_equals(obj, obj2)
}, "NamedNodeMap " + val[0])
})
test(function() {
var c = self[0].document.createTextNode("" ),
obj = c.splitText(0)
assert_global(obj)
obj = Text.prototype.splitText.call(c, "" )
assert_global(obj)
}, "splitText" )
;["extractContents" ,
"cloneContents" ,
"cloneRange" ].forEach(function(val) {
test(function() {
var c = self[0].document.createRange(),
obj = c[val]()
assert_global(obj)
obj = Range.prototype[val].call(c)
assert_global(obj)
}, val)
})
;["2d" , "webgl" ].forEach(function(val) {
test(function() {
var c = self[0].document.createElement("canvas" ),
obj = c.getContext(val)
// WebGL might not be enabled in this environment
if (!obj && val === "webgl" ) {
return;
}
assert_global(obj)
obj = HTMLCanvasElement.prototype.getContext.call(c, val)
assert_global(obj)
}, "getContext " + val)
})
;[["createImageData" , 5, 5],
["getImageData" , 5, 5, 5, 5]].forEach(function(val) {
test(function() {
const method = val.shift();
const c = self[0].document.createElement("canvas" ).getContext("2d" );
let obj = c[method](...val);
assert_global(obj)
assert_global(obj.data)
obj = CanvasRenderingContext2D.prototype[method].call(c, ...val);
assert_global(obj)
assert_global(obj.data)
}, val[0])
})
test(function() {
var c = new self[0].FontFace("test" , "about:blank" ),
obj = c.load()
assert_global(obj)
obj = FontFace.prototype.load.call(c)
assert_global(obj)
}, "FontFace's load()" )
done()
}
</script >
Messung V0.5 C=94 H=99 G=96
¤ Dauer der Verarbeitung: 0.0 Sekunden
(vorverarbeitet)
¤
*© Formatika GbR, Deutschland