<!DOCTYPE html>
<html>
<head>
<script src="../../../resources/js-test-pre.js"></script>
<style>
#test {
  width: 400px;
  margin: 10px;
}
#test > div {
  margin: 1ex;
}
#outline {
    outline: 2px solid red;
    outline-offset: 5px;
}
#content:before {
    content: 'text';
}
#content:after {
  content: 'test ' url(data:image/gif;base64,R0lGODlhAQABAJAAAP8AAAAAACwAAAAAAQABAAACAgQBADs=);
}
#counter {
    counter-reset: section;
}
#counter > div {
    counter-reset: subsection 0 anothercounter 5;
}
#counter > h1:before {
    counter-increment: section;
    content: counter(section) '. ';
}
#counter > div > h2:before {
    counter-increment: subsection;
    content: counter(section) '.' counter(subsection) '. ';
}
</style>
</head>
<body>
<div id="test">
    <div id="outline">outline</div>
    <div id="content">content</div>
    <div id="counter">
        counter
        <h1 id="counter1">Heading A</h1>
        <div id="subcounter">
            <h2 id="subcounter1">Subheading A</h2>
            <h2 id="subcounter2">Subheading B</h2>
        </div>
        <h1>Heading B</h1>
        </div>
    </div>
    <div id="console"></div>
</body>
<script>
  
function computedStyleFor(id, pseudo, property)
{
    var element = document.getElementById(id);
    var style = window.getComputedStyle(element, pseudo);
    if (!style)
        return null;
    return style.getPropertyValue(property);
}

shouldBe("computedStyleFor('outline', null, 'outline-offset')", "'5px'");

shouldBeEqualToString("computedStyleFor('content', 'before', 'content')", '"text"');
shouldBeEqualToString("computedStyleFor('content', 'after', 'content')", `"test " url(\"data:image/gif;base64,R0lGODlhAQABAJAAAP8AAAAAACwAAAAAAQABAAACAgQBADs=\")`);
shouldBeEqualToString("computedStyleFor('counter', null, 'counter-reset')", "section 0");
var str = computedStyleFor('subcounter', null, 'counter-reset');
shouldBe("str.indexOf('subsection 0') != -1", "true");
shouldBe("str.indexOf('anothercounter 5') != -1", "true");
shouldBeEqualToString("computedStyleFor('counter1', 'before', 'counter-increment')", "section 1");
shouldBeEqualToString("computedStyleFor('subcounter2', 'before', 'counter-increment')", "subsection 1");
shouldBeEqualToString("computedStyleFor('subcounter2', 'before', 'content')", `counter(section) "." counter(subsection) ". "`);
</script>
<script src="../../../resources/js-test-post.js"></script>
</html>
