<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>QUnitReport#{{{id}}}</title>
</head>
<body>
<h1>Results:</h1>

<h2><a href="/{{{taskPath}}}">{{{taskPath}}}</a></h2>

<b>Total: </b> {{{total}}} <br/>
<b>Completed: </b> {{{completed}}} <br/>
<b>Success: </b> {{{passed}}} <br/>

{{#failed}}
    <h2>Failed:</h2>
    {{#failedTaskReports}}
        ----------<a href="{{{name}}}" target="_blank"><b>{{{name}}}</b></a>----------<br/>
        {{#result}}
            {{#tests}}
                {{#failed}}
                    <b>Test name:</b> {{{name}}} <br/>

                    {{#assertions}}
                        {{#failed}}
                            {{#module}}<b>Module: </b>{{{module}}}<br/>{{/module}}
                            {{#message}}<b>Message: </b>{{{message}}}<br/>{{/message}}
                            {{#expected}}<b>Expected: </b>{{{expected}}}<br/>{{/expected}}
                            <b>Actual: </b>{{{actual}}}<br/><br/>
                        {{/failed}}
                    {{/assertions}}
                {{/failed}}
            {{/tests}}
        {{/result}}
    {{/failedTaskReports}}
{{/failed}}

<h2><a href="/run-dir/{{{encodedTaskPath}}}">Restart</a></h2>

<!-- Sauce labs report -->
<script type="text/javascript">
    var passedCount = {{{passed}}};
    var totalCount = {{{total}}};
    var failedCount = {{{failed}}};

    var res = {
        passed: passedCount,
        failed: failedCount,
        total:  totalCount,
        errors: [],
        tests:  []
    };

    var failedTest = null;
    var taskPath = null;

        {{#failedTaskReports}}
        taskPath = '{{{name}}}';
            {{#result}}
            var duration = {{{runtime}}};
                {{#tests}}
                    {{#failed}}
                    var name = '{{{name}}}';
                    failedTest = {
                        testPath: taskPath,
                        testName: name
                    };
                        {{#assertions}}
                            {{#failed}}
                            var message = '{{{message}}}';
                            var expected = '{{{expected}}}';
                            var actual = '{{{actual}}}';
                            var source = '{{{source}}}';

                            if (message)
                                failedTest.customMessage = message;

                            failedTest.expected = expected;
                            failedTest.actual = actual;
                            failedTest.source = source;
                            {{/failed}}
                        {{/assertions}}
                    res.errors.push(failedTest);

                    var resMessage = [failedTest.customMessage || 'test failed'];

                    if (name !== 'global failure') {
                        resMessage.push('expected: ' + failedTest.expected);
                        resMessage.push('actual: ' + failedTest.actual);
                    }

                    res.tests.push({
                        name:     failedTest.testPath + ' ---> ' + failedTest.testName,
                        result:   false,
                        message:  failedTest.customMessage || 'test failed',
                        duration: duration,
                        expected: failedTest.expected,
                        actual:   failedTest.actual,
                        source:   failedTest.source
                    });
                    {{/failed}}
                {{/tests}}
            {{/result}}
        {{/failedTaskReports}}

    window.global_test_results = res;
</script>
</body>
</html>
