<?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 horizontal 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-horiz-001-ref.xhtml"/>
    <style>
      div.flexbox {
        width: 200px;
        background: lightgreen;
        display: flex;
        justify-content: space-between;
        margin-bottom: 5px;
        line-height: 8px;
      }
      textarea {
        min-width: 0;
        width: 10px;
        height: 20px;
        background: white;
        border-radius: 0;
        border: 1px dotted green;
        padding: 0;
        margin: 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">
      some words <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/8 of space: 5/8 * 196px = 122.5px
         1st element gets 3/8 of space: 3/8 * 196px = 73.5px
      -->
    <div class="flexbox">
      <textarea style="flex: 5"/>
      <textarea style="flex: 3"/>
    </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="width: 33px; flex: 2 auto"/>
      <textarea style="width: 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="width: 150px; flex: 1 4 auto"/>
      <textarea style="width: 100px; flex: 1 3 auto"/>
    </div>

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

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

  </body>
</html>
