<!DOCTYPE html>
<html>
    <head>
        <title>Changes to the 'async' attribute are reflected in the async property</title>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
        <meta description="This test ensures changes to the 'async' attribute are reflected in the async property." />
        <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
        <link rel="help" href="https://html.spec.whatwg.org/multipage/#dom-script-async"/>
        <script src="/resources/testharness.js"></script>
        <script src="/resources/testharnessreport.js"></script>
    </head>
    <body>
        <div id=log></div>
        <script type="text/javascript">
          test(function() {
            var s = document.createElement("script");
            s.async = false;
            s.setAttribute('async', ''); /*Should change s.async to true*/
            assert_true(s.async)
          }, "Test 'async' attribute are reflected in the async property with setAttribute");

          test(function() {
            var s = document.createElement("script");
            s.async = false;
            s.setAttribute('async', ''); /*Should change s.async to true*/
            s.removeAttribute('async'); /*Should change s.async to false*/
            assert_false(s.async)
          }, "Test 'async' attribute are reflected in the async property with removeAttribute");
        </script>
    </body>
</html>
