chromium/third_party/blink/web_tests/external/wpt/html/rendering/replaced-elements/tools/gen-svgsizing-tests.py

from string import Template
import os
import sys

template = Template("""<!DOCTYPE html>
<!-- This file is generated by $generator -->
<html>
  <head>
    <title>SVG sizing: &lt;$placeholder></title>
    <meta name=timeout content=long>
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
    <script src="../resources/svg-sizing.js"></script>
    <style>
      #testContainer {
          position: absolute;
          left: 0;
          top: 0;
          width: 800px;
          height: 600px
      }
      iframe { border: 0 }
    </style>
    <link rel="help" href="http://www.w3.org/TR/CSS2/visudet.html#inline-replaced-width">
    <link rel="help" href="http://www.w3.org/TR/CSS2/visudet.html#inline-replaced-height">
    <link rel="help" href="https://html.spec.whatwg.org/multipage/#replaced-elements">
    <link rel="help" href="https://html.spec.whatwg.org/multipage/#attr-dim-width">
    <link rel="help" href="http://www.w3.org/TR/SVG/coords.html#ViewportSpace">
  </head>
  <body>
    <div id="log"></div>
    <div id="testContainer"></div>
    <div id="demo"></div>
    <script src="svg-embedded-sizing.js"></script>
    <script>testPlaceholderWithHeight("$placeholder", $placeholderHeightAttr)</script>
  </body>
</html>
""")

placeholders = [ "object", "iframe", "img" ]
placeholderHeightAttrs = [ "null", "'100px'", "'100%'" ]
placeholderHeightAttrsDescriptions = [ "auto", "fixed", "percentage" ]

try:
    os.makedirs("../svg-embedded-sizing")
except OSError:
    pass

for placeholder in placeholders:
    for i, placeholderHeightAttr in enumerate(placeholderHeightAttrs):
        testContent = template.substitute(placeholder=placeholder, placeholderHeightAttr=placeholderHeightAttr, generator=sys.argv[0])
        filename = "../svg-embedded-sizing/svg-in-%s-%s.html" % (placeholder, placeholderHeightAttrsDescriptions[i])
        f = open(filename, "w")
        f.write(testContent)
        f.close()