<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true ] -->

<html>
<head>
    <script>
        if (window.testRunner) {
            testRunner.dumpAsText();
            testRunner.waitUntilDone();
        }

        function getUIScript()
        {
            return `
            (function() {
                var eventStream = {
                    events : [
                        {
                            inputType : "hand",
                            timeOffset : 0,
                            touches : [
                                {
                                    inputType : "finger",
                                    phase : "began",
                                    id : 1,
                                    x : 20,
                                    y : 40,
                                    majorRadius: 0.10,
                                    minorRadius: 0.10,
                                }
                            ]
                        },
                        {
                            inputType : "hand",
                            timeOffset : 0.0005,
                            touches : [
                                {
                                    inputType : "finger",
                                    phase : "ended",
                                    id : 1,
                                    x : 20,
                                    y : 40,
                                    majorRadius: 0.10,
                                    minorRadius: 0.10,
                                }
                            ]
                        },
                    ]
                };

                uiController.sendEventStream(JSON.stringify(eventStream), function() {
                    uiController.uiScriptComplete();
                });
            })();`
        }

        function runTest()
        {
            if (!testRunner.runUIScript)
                return;

            var output = '';
            var target = document.getElementById('target');
            var forces = [];
            
            target.addEventListener('touchstart', function(event) {
                var expected = Math.round(0.10 * window.screen.height * 10) / 10;
                var radiusX = Math.round(event.touches[0].radiusX * 10) / 10;
                if (radiusX == expected)
                    output += 'PASS: radiusX is correct.<br>';
                else
                    output += 'FAIL: radiusX should be ' + expected + ', was ' + radiusX + '<br>';

                var radiusY = Math.round(event.touches[0].radiusY * 10) / 10;
                if (radiusY == expected)
                    output += 'PASS: radiusY is correct.<br>';
                else
                    output += 'FAIL: radiusY should be ' + expected + ', was ' + radiusY + '<br>';
            });
            
            if (testRunner.runUIScript) {
                testRunner.runUIScript(getUIScript(), function(result) {
                    document.getElementById('target').innerHTML = output;
                    testRunner.notifyDone();
               });
            }
        }

        window.addEventListener('load', runTest, false);
    </script>
    <style>
        #target {
            height: 100px;
            width: 200px;
            background-color: silver;
        }
    </style>
    <meta name="viewport" content="initial-scale=1">
</head>
<body>
<div id="target">
    This test requires UIScriptController to run.
</div>
</body>
</html>
