<?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 fieldset elements behave correctly as flex items.
-->
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>CSS Test: Testing flexbox layout algorithm property on fieldset 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-fieldset-horiz-001-ref.xhtml"/>
    <style>
      div.flexbox {
        width: 200px;
        background: lightgreen;
        display: flex;
        justify-content: space-between;
        margin-bottom: 5px;
        line-height: 8px;
      }
      fieldset {
        min-width: 0;
        width: 10px;
        height: 20px;
        border: 1px dotted green;
        margin: 0;
        padding: 0;
      }
    </style>
  </head>
  <body>

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

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

    <!-- C) Two fieldset 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">
      <fieldset style="flex: 5"/>
      <fieldset style="flex: 3"/>
    </div>

    <!-- D) Two fieldset 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">
      <fieldset style="width: 33px; flex: 2 auto"/>
      <fieldset 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">
      <fieldset style="width: 150px; flex: 1 4 auto"/>
      <fieldset 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">
      <fieldset style="width: 33px; flex: 2 auto"/>
      <fieldset 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">
      <fieldset style="width: 33px; flex: 2 auto"/>
      <fieldset style="width: 13px; min-width: 150px; flex: 3 auto"/>
    </div>

  </body>
</html>
