diff --git a/testing/web-platform/tests/html/browsers/history/the-location-interface/no-browsing-context.window.js b/testing/web-platform/tests/html/browsers/history/the-location-interface/no-browsing-context.window.js new file mode 100644 index 0000000000000..8457ef063146b --- /dev/null +++ b/testing/web-platform/tests/html/browsers/history/the-location-interface/no-browsing-context.window.js @@ -0,0 +1,689 @@ +test +( +( +) += +> +{ +const +frame += +document +. +body +. +appendChild +( +document +. +createElement +( +" +iframe +" +) +) +win += +frame +. +contentWindow +loc += +win +. +location +; +frame +. +remove +( +) +; +assert_equals +( +win +. +location +loc +) +; +} +" +Window +and +Location +are +1 +: +1 +after +browsing +context +removal +" +) +; +function +bcLessLocation +( +) +{ +const +frame += +document +. +body +. +appendChild +( +document +. +createElement +( +" +iframe +" +) +) +win += +frame +. +contentWindow +loc += +win +. +location +; +frame +. +remove +( +) +; +return +loc +; +} +[ +{ +" +property +" +: +" +href +" +" +expected +" +: +" +about +: +blank +" +" +values +" +: +[ +" +https +: +/ +/ +example +. +com +/ +" +" +/ +" +" +http +: +/ +/ +test +: +test +/ +" +" +test +test +" +" +test +: +test +" +" +chrome +: +fail +" +] +} +{ +" +property +" +: +" +protocol +" +" +expected +" +: +" +about +: +" +" +values +" +: +[ +" +http +" +" +about +" +" +test +" +] +} +{ +" +property +" +: +" +host +" +" +expected +" +: +" +" +" +values +" +: +[ +" +example +. +com +" +" +test +test +" +" +( +) +" +] +} +{ +" +property +" +: +" +hostname +" +" +expected +" +: +" +" +" +values +" +: +[ +" +example +. +com +" +] +} +{ +" +property +" +: +" +port +" +" +expected +" +: +" +" +" +values +" +: +[ +" +80 +" +" +" +" +443 +" +" +notaport +" +] +} +{ +" +property +" +: +" +pathname +" +" +expected +" +: +" +" +" +values +" +: +[ +" +/ +" +" +x +" +] +} +{ +" +property +" +: +" +search +" +" +expected +" +: +" +" +" +values +" +: +[ +" +test +" +] +} +{ +" +property +" +: +" +hash +" +" +expected +" +: +" +" +" +values +" +: +[ +" +test +" +" +# +" +] +} +] +. +forEach +( +testSetup += +> +{ +testSetup +. +values +. +forEach +( +value += +> +{ +test +( +( +) += +> +{ +const +loc += +bcLessLocation +( +) +; +loc +[ +testSetup +. +property +] += +value +; +assert_equals +( +loc +[ +testSetup +. +property +] +testSetup +. +expected +) +; +} +" +Setting +" ++ +testSetup +. +property ++ +" +to +" ++ +value ++ +" +of +a +Location +object +sans +browsing +context +is +a +no +- +op +" +) +; +} +) +; +} +) +; +test +( +( +) += +> +{ +const +loc += +bcLessLocation +( +) +; +assert_equals +( +loc +. +origin +" +null +" +) +; +} +" +Getting +origin +of +a +Location +object +sans +browsing +context +should +be +\ +" +null +\ +" +" +) +; +[ +" +assign +" +" +replace +" +" +reload +" +] +. +forEach +( +method += +> +{ +[ +" +about +: +blank +" +" +https +: +/ +/ +example +. +com +/ +" +" +/ +" +" +http +: +/ +/ +test +: +test +/ +" +" +test +test +" +" +test +: +test +" +" +chrome +: +fail +" +] +. +forEach +( +value += +> +{ +test +( +( +) += +> +{ +const +loc += +bcLessLocation +( +) +; +loc +[ +method +] +( +value +) +; +assert_equals +( +loc +. +href +" +about +: +blank +" +) +; +} +" +Invoking +" ++ +method ++ +" +with +" ++ +value ++ +" +on +a +Location +object +sans +browsing +context +is +a +no +- +op +" +) +; +} +) +; +} +) +; +test +( +( +) += +> +{ +const +loc += +bcLessLocation +( +) +; +assert_array_equals +( +loc +. +ancestorOrigins +[ +] +) +; +} +" +Getting +ancestorOrigins +of +a +Location +object +sans +browsing +context +should +be +[ +] +" +) +;