<!DOCTYPE html>
<!--
     Any copyright is dedicated to the Public Domain.
     http://creativecommons.org/publicdomain/zero/1.0/

     This test is a text-based variant of text-as-flexitem-size-001.
     (Not sure if all these variants are needed without an aspect ratio,
     but seemed best to keep it in parallel as much as reasonable.)
-->
<html>
  <head>
    <meta charset="utf-8">
    <title>
      CSS Test: Testing how explicit main-size & cross-size constraints
      influence sizing on non-stretched flex item containing text.
    </title>
    <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com">
    <link rel="author" title="David Grogan" href="mailto:dgrogan@chromium.org">
    <link rel="author" title="Elika J. Etemad" href="http://inkedblade.net/contact">
    <link rel="help" href="https://www.w3.org/TR/css-flexbox-1/#hypothetical-main-size">
    <link rel="help" href="https://www.w3.org/TR/css-flexbox-1/#hypothetical-cross-size">
    <style>
      @import "/fonts/ahem.css";
      .flexbox {
        display: flex;
        flex-direction: row;
        border: 1px solid black;
        margin: 0 2px 2px 0; /* (Just for spacing things out, visually) */
        width: 80px;
        height: 50px;

        justify-content: flex-start;
        align-items: flex-start;

        float: left; /* For testing in "rows" */
      }
      br { clear: both; }

      .flexbox > * {
        /* Disable "min-width:auto"/"min-height:auto" to focus purely on
           later channels of influence. */
        min-width: 0;
        min-height: 0;
        background: orange;
      }

      .flexbox p {
        font: 10px/1 Ahem, monospace;
        margin: 0.5em;
        color: #0006;
      }
      /* Depending on wrapping, flex item content will be 35px or 45px tall,
         min-content width = 40px and max-content width = 70px */
    </style>
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
    <script src="/resources/check-layout-th.js"></script>
  </head>
  <body onload="checkLayout('.flexbox > div')">
    <!-- Row 1: no special sizing: -->
    <div class="flexbox">
      <div data-expected-width="70" data-expected-height="35">
        <p>xx xxx</p>
        <p>xx</p>
      </div>
    </div>
    <div class="flexbox" style="width: 50px">
      <div data-expected-width="50" data-expected-height="45">
        <p>xx xxx</p>
        <p>xx</p>
      </div>
    </div>
    <div class="flexbox" style="width: 20px">
      <div data-expected-width="20" data-expected-height="45">
        <p>xx xxx</p>
        <p>xx</p>
      </div>
    </div>
    <br>

    <!-- Row 2: Specified main-size, cross-size, or flex-basis: -->
    <div class="flexbox">
      <div style="width: 30px"
           data-expected-width="30" data-expected-height="45">
        <p>xx xxx</p>
        <p>xx</p>
      </div>
    </div>
    <div class="flexbox">
      <div style="height: 30px"
           data-expected-width="70" data-expected-height="30">
        <p>xx xxx</p>
        <p>xx</p>
      </div>
    </div>
    <div class="flexbox">
      <div style="flex: 0 0 30px"
           data-expected-width="30" data-expected-height="45">
        <p>xx xxx</p>
        <p>xx</p>
      </div>
    </div>
    <br>

    <!-- Row 3: min main-size OR min cross-size, or both -->
    <div class="flexbox">
      <div style="min-width: 75px"
           data-expected-width="75" data-expected-height="35">
        <p>xx xxx</p>
        <p>xx</p>
      </div>
    </div>
    <div class="flexbox">
      <div style="min-height: 40px"
           data-expected-width="70" data-expected-height="40">
        <p>xx xxx</p>
        <p>xx</p>
      </div>
    </div>
    <div class="flexbox">
      <div style="min-width: 75px; min-height: 40px"
           data-expected-width="75" data-expected-height="40">
        <p>xx xxx</p>
        <p>xx</p>
      </div>
    </div>
    <br>

    <!-- Row 4: max main-size OR max cross-size, or both -->
    <div class="flexbox">
      <div style="max-width: 20px"
           data-expected-width="20" data-expected-height="45">
        <p>xx xxx</p>
        <p>xx</p>
      </div>
    </div>
    <div class="flexbox">
      <div style="max-height: 20px"
           data-expected-width="70" data-expected-height="20">
        <p>xx xxx</p>
        <p>xx</p>
      </div>
    </div>
    <div class="flexbox">
      <div style="max-width: 20px; max-height: 20px"
           data-expected-width="20" data-expected-height="20">
        <p>xx xxx</p>
        <p>xx</p>
      </div>
    </div>
    <br>

    <!-- Row 5: min main-size vs. max cross-size, & vice versa -->
    <div class="flexbox">
      <div style="min-width: 70px; max-height: 20px"
           data-expected-width="70" data-expected-height="20">
        <p>xx xxx</p>
        <p>xx</p>
      </div>
    </div>
    <div class="flexbox">
      <div style="max-width: 20px; min-height: 50px"
           data-expected-width="20" data-expected-height="50">
        <p>xx xxx</p>
        <p>xx</p>
      </div>
    </div>
    <br>

    <!-- Row 6: min|max main-size vs. explicit cross-size, & vice versa -->
    <div class="flexbox">
      <div style="min-width: 70px; height: 20px"
           data-expected-width="70" data-expected-height="20">
        <p>xx xxx</p>
        <p>xx</p>
      </div>
    </div>
    <div class="flexbox">
      <div style="width: 40px; max-height: 20px"
           data-expected-width="40" data-expected-height="20">
        <p>xx xxx</p>
        <p>xx</p>
      </div>
    </div>
    <div class="flexbox">
      <div style="max-width: 20px; height: 20px"
           data-expected-width="20" data-expected-height="20">
        <p>xx xxx</p>
        <p>xx</p>
      </div>
    </div>
    <div class="flexbox">
      <div style="width: 20px; min-height: 20px"
           data-expected-width="20" data-expected-height="45">
        <p>xx xxx</p>
        <p>xx</p>
      </div>
    </div>
  </body>
</html>
