<?xml version="1.0" encoding="UTF-8"?>
<!--
     Any copyright is dedicated to the Public Domain.
     http://creativecommons.org/publicdomain/zero/1.0/
-->
<!--
     This test checks that textarea elements behave correctly as flex items.
-->
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>CSS Test: Testing flexbox layout algorithm property on textarea flex items in a vertical flex container</title>
    <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com"/>
    <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#layout-algorithm"/>
    <link rel="match" href="flexbox-basic-textarea-vert-001-ref.xhtml"/>
    <style>
      div.flexbox {
        height: 200px;
        background: lightgreen;
        display: flex;
        justify-content: space-between;
        flex-direction: column;
        float: left;
        margin-right: 10px;
        font: 8px monospace;
      }
      textarea {
        width: 20px;
        height: 10px;
        min-height: 0;
        background: white;
        border-radius: 0;
        border: 1px dotted green;
        margin: 0;
        padding: 0;
      }
    </style>
  </head>
  <body>

    <!-- A) One flex item -->
    <div class="flexbox">
      <textarea/>
    </div>

    <!-- B) Text and a textarea (ensure they aren't merged into one flex item)
      -->
    <div class="flexbox">
      a b <textarea/>
    </div>

    <!-- C) Two textarea elements, getting stretched by different ratios,
         from 0.

         Space-to-be-distributed = 200px - borders = 200 - (1 + 1) - (1 + 1)
                                 = 196px

         1st element gets 5/9 of space: 5/9 * 196px = 108.8px
         1st element gets 4/9 of space: 4/9 * 196px = 87.1px
      -->
    <div class="flexbox">
      <textarea style="flex: 5"/>
      <textarea style="flex: 4"/>
    </div>

    <!-- D) Two textarea elements, getting stretched by different ratios, from
         different flex bases.

         Space-to-be-distributed = 200px - (33 + 1 + 1) - (13 + 1 + 1) = 150px
         1st element gets 2/5 of space: 33px + 2/5 * 150px = 93px
         1st element gets 3/5 of space: 13px + 3/5 * 150px = 103px
      -->
    <div class="flexbox">
      <textarea style="height: 33px; flex: 2 auto"/>
      <textarea style="height: 13px; flex: 3 auto"/>
    </div>

    <!-- E) Two flex items, getting shrunk by different amounts.

         Space-to-be-distributed = 200px - (150 + 1 + 1) - (100 + 1 + 1) = -54px
         First element scaled flex ratio = 4 * 150 = 600
         Second element scaled flex ratio = 3 * 100 = 300
           * So, total flexibility is 600 + 300 = 900

         1st element gets 600/900 of space: 150 + 600/900 * -54 = 114px
         2nd element gets 300/900 of space: 100 + 300/900 * -54 = 82px
      -->
    <div class="flexbox">
      <textarea style="height: 150px; flex: 1 4 auto"/>
      <textarea style="height: 100px; flex: 1 3 auto"/>
    </div>

    <!-- F) Making sure we don't grow past max-height -->
    <!-- Same as (D), except we've added a max-height on the second element.
      -->
    <div class="flexbox">
      <textarea style="height: 33px; flex: 2 auto"/>
      <textarea
         style="height: 13px; max-height: 90px; flex: 3 auto"/>
    </div>

    <!-- G) Making sure we grow at least as large as min-height -->
    <!-- Same as (C), except we've added a min-height on the second element.
      -->
    <div class="flexbox">
      <textarea style="height: 33px; flex: 2 auto"/>
      <textarea
         style="height: 13px; min-height: 150px; flex: 3 auto"/>
    </div>

  </body>
</html>
