<!DOCTYPE html>
<html>
<head>
<script src="../../http/tests/inspector/resources/inspector-test.js"></script>
<script>
function test()
{
    let suite = InspectorTest.createSyncSuite("Audit.VERSION");

    suite.addTestCase({
        name: "Audit.VERSION.MatchesFrontend",
        description: "Check that the audit system version is in sync with the frontend version.",
        test() {
            InspectorTest.expectEqual(InspectorBackend.domains.Audit.VERSION, WI.AuditTestBase.Version, "The audit system version should match the frontend version.");
            return true;
        },
    });

    suite.runTestCasesAndFinish();
}
</script>
</head>
<body onload="runTest()">
    <p>Tests Audit.VERSION value.</p>
</body>
</html>
