<!DOCTYPE HTML>
<html>
<head>
    <title>Function() called as a constructor should throw without 'unsafe-eval' script-src directive.</title>
    <meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline';">
    <script src='/resources/testharness.js'></script>
    <script src='/resources/testharnessreport.js'></script>
</head>
<body>
    <h1>Function() called as a constructor should throw without 'unsafe-eval' script-src directive.</h1>
    <div id='log'></div>

   	<script>
   	    var t_spv = async_test("Test that securitypolicyviolation event is fired");
        
        window.addEventListener("securitypolicyviolation", t_spv.step_func_done(function(e) {
            assert_equals(e.violatedDirective, "script-src");
        }));
   	    

        test(function() {
            assert_throws(
                new EvalError(),
                function() {
                    var funq = new Function('');
                    funq();
        })}, "Unsafe eval ran in Function() constructor.");

    </script>
</body>
</html>
