length-attribute.window.js (970B)
1 async_test(t => { 2 const frame = document.createElement("iframe"); 3 frame.srcdoc = "<iframe name=x srcdoc='<iframe name=z></iframe>'></iframe><iframe name=y></iframe>"; 4 frame.onload = t.step_func_done(() => { 5 const frameW = frame.contentWindow; 6 assert_equals(frameW.length, 2); 7 assert_not_equals(frameW.x, undefined); 8 assert_not_equals(frameW.y, undefined); 9 assert_equals(frameW.z, undefined); 10 assert_equals(frameW.x, frameW[0]); 11 assert_equals(frameW.y, frameW[1]); 12 const xFrameW = frameW.x; 13 assert_equals(xFrameW.length, 1); 14 assert_not_equals(xFrameW.z, undefined); 15 assert_equals(xFrameW.z, xFrameW[0]); 16 frame.remove(); 17 assert_equals(frameW.length, 0); 18 assert_equals(frameW.x, undefined); 19 assert_equals(frameW[0], undefined); 20 assert_equals(xFrameW.length, 0); 21 assert_equals(xFrameW.z, undefined); 22 }); 23 document.body.append(frame); 24 }, "Window object's length IDL attribute (and named access)");