<!DOCTYPE html>
<!--
     Any copyright is dedicated to the Public Domain.
     http://creativecommons.org/publicdomain/zero/1.0/
-->
<html>
  <head>
    <meta charset="utf-8">
    <title>CSS Test: Testing min-width:auto & 'overflow' interaction</title>
    <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com">
    <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#min-size-auto">
    <link rel="match" href="flexbox-min-width-auto-004-ref.html">
<!--
     This testcase checks how "overflow-y" indirectly impacts the sizing
     behavior of flex items with "min-width:auto" (the new initial value
     for "min-width"), via its influence on "overflow-x".

     In particular, the flex-item-specific "min-width:auto" behavior is
     supposed to be disabled (e.g. we end up with min-width:0) when
     "overflow-x" is non-"visible".  Moreover, when "overflow-y" is set to a
     scrolling value, it forces "overflow-x" to compute to a scrolling value
     as well, as described at
       http://www.w3.org/TR/css-overflow-3/#overflow-properties
     So, "overflow-y" has an indirect effect (via "overflow-x") here.
-->
    <style>
      .flexbox {
        display: flex;
        width: 30px;  /* Shrink flex items below min-width */
        margin-bottom: 2px; /* (Just for spacing things out, visually) */
      }

      .flexbox > * {
        /* Flex items have purple border: */
        border: 2px dotted purple;
      }

      .flexbox > * > * {
        /* Flex items' contents are gray & fixed-size: */
        background: gray;
        height: 40px;
        width: 80px;
      }

      .yvisible { overflow-y: visible; }
      .yhidden  { overflow-y: hidden;  }
      .yscroll  { overflow-y: scroll;  }
      .yauto    { overflow-y: auto;    }
    </style>
  </head>
  <body>
    <!-- min-width:auto should prevent shrinking below intrinsic width when
         the flex item has "overflow-y: visible", but not for any other
         overflow-y values (because of overflow-y's influence on overflow-x).
    -->
    <div class="flexbox"><div class="yvisible"><div></div></div></div>
    <div class="flexbox"><div class="yhidden"><div></div></div></div>
    <div class="flexbox"><div class="yscroll"><div></div></div></div>
    <div class="flexbox"><div class="yauto"><div></div></div></div>
  </body>
</html>
