<!DOCTYPE html>
<style>
.row-wrapper, .column-wrapper {
  margin: 4px 0;
  overflow: auto;
  direction: rtl;
  border: 2px solid black;
}

.column-wrapper {
  width: 300px;
}

.row-wrapper {
  height: 300px;
  writing-mode: vertical-rl;
}

.column-wrapper > div {
  /* This border represents the expected rendering of the testcase's
     "margin:4px". This border should occupy the same space as that margin
     would, and it should create the same amount of scrollable overflow.  (We
     can't just use "margin:4px" here, because this reference case uses block
     layout, and margins have different behavior with respect to collapsing and
     scrollable-overflow impact in block vs. flexbox layout.) */
  border: 4px solid white;
  height: 30px;
  background: #CCC;
}

.h-overflow {
  width: 500px;
}

.row-wrapper > div {
  /* As noted above, this is a mockup for the "margin:4px" in the testcase. */
  border: 4px solid white;
  width: 30px;
  background: #CCC;
}

.v-overflow {
  height: 500px;
}

</style>

<div class=column-wrapper>
  <div>one</div>
  <div class=h-overflow>two</div>
</div>

<div class=row-wrapper>
  <div>one</div>
  <div class=v-overflow>two</div>
</div>
