chromium/third_party/blink/web_tests/external/wpt/css/compositing/text-with-svg-background.html

<!DOCTYPE html>
<html>
<head>
    <title>CSS mix-blend-mode API Test</title>
    <link rel="author" title="dmyang" href="mailto:[email protected]">
    <link rel="reviewer" title="Rik Cabanier" href="mailto:[email protected]"><!-- 11-09-2013 @TestTWF Shenzhen -->
    <link rel="help" href="http://www.w3.org/TR/compositing-1/#mix-blend-mode">
    <meta name="flags" content="svg">
    <style type="text/css">
      .svg {
        background-color: #888;
        width: 500px;
        display: block;
        height: 60px;
        margin: 10px auto;
      }
      .svg text {
        font-size: 25px;
        line-height: 20px;
      }
    </style>
    <style id="insert" type="text/css"></style>
</head>
<body>
<script>
var SVG_NS = 'http://www.w3.org/2000/svg';
var modes = [
        'multiply', 'screen', 'overlay', 'darken', 'lighten', 'color-dodge',
        'color-burn', 'hard-light', 'soft-light', 'difference', 'exclusion'
    ];
var mode;
var i = 0;
var flagment = document.createDocumentFragment();
var style = '';

while(mode = modes[i++]) {
    var svg = document.createElementNS(SVG_NS, 'svg');
    var text = document.createElementNS(SVG_NS, 'text');

    svg.setAttribute('class', 'svg');
    text.setAttribute('x', 10);
    text.setAttribute('y', 20);
    text.setAttribute('class', mode);
    text.textContent = 'mix-blend-mode: ' + mode + ';';

    svg.appendChild(text);
    flagment.appendChild(svg);

    style += '.' + mode + ' {mix-blend-mode: ' + mode + ';}';
}

document.getElementById('insert').innerHTML = style;
document.body.appendChild(flagment);
</script>
</body>
</html>