<!doctype html>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<div style="display: grid;">
    <div id="item1"></div>
</div>
<div style="display: grid;">
    <div id="item2" style="align-self: baseline"></div>
</div>
<div style="display: grid;">
    <div id="item3" style="writing-mode: vertical-lr;"></div>
</div>
<script>
    test(() => {
       document.body.offsetLeft;
       var item = document.getElementById("item1");
       item.style.alignSelf = "baseline";
       assert_equals(item.style.alignSelf, "baseline");
    }, "No crash or assertion failure when changing align-self from 'auto' to 'baseline'.");
    test(() => {
       document.body.offsetLeft;
       var item = document.getElementById("item2");
       item.style.alignSelf = "start";
       assert_equals(item.style.alignSelf, "start");
    }, "No crash or assertion failure when changing align-self from 'baseline' to 'start'.");
    test(() => {
       document.body.offsetLeft;
       var item = document.getElementById("item3");
       item.style.writingMode = "horizontal-tb";
       assert_equals(item.style.writingMode, "horizontal-tb");
    }, "No crash or assertion failure when item's writing-mode changes from orthogonal to parallel.");
</script>
