<!doctype html>
<html>
    <head>
        <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-F3w7mX95PdgyTmZZMECAngseQB83DfGTowi0iMjiWaeVhAn4FJkqJByhZMI3AhiU" crossorigin="anonymous">
        <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.1/dist/js/bootstrap.bundle.min.js" integrity="sha384-/bQdsTh/da6pkI1MST/rWKFNjaCP5gBSY4sEBT38Q/9RBh9AH40zEOg7Hlq2THRZ" crossorigin="anonymous"></script>
        <title>Map Tests</title>
    </head>
    <body>
        <div class="container">
            <h1>WorkAdventure test cases</h1>
            <label>Base test URL:</label>
            <input id="baseurl" type="text" value="" />
            <h2>Map features / properties</h2>
            <table class="table">
                <tr>
                    <th>Result</th>
                    <th>Test</th>
                </tr>
                <tr>
                    <td>
                        <input type="radio" name="test-jitsi-config"> Success <input type="radio" name="test-jitsi-config"> Failure <input type="radio" name="test-jitsi-config" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="jitsi_config.json" target="_blank">Testing Jitsi special config parameters</a>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="radio" name="test-jitsi-custom-url"> Success <input type="radio" name="test-jitsi-custom-url"> Failure <input type="radio" name="test-jitsi-custom-url" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="jitsi_custom_url.json" target="_blank">Testing jitsiUrl property</a>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="radio" name="test-animated-tiles"> Success <input type="radio" name="test-animated-tiles"> Failure <input type="radio" name="test-animated-tiles" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="animated_tiles.json" target="_blank">Test animated tiles</a>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="radio" name="test-start-tile-S1"> Success <input type="radio" name="test-start-tile-S1"> Failure <input type="radio" name="test-start-tile-S1" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="start-tile.json#S1" target="_blank">Test start tile (S1)</a>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="radio" name="test-start-tile-S2"> Success <input type="radio" name="test-start-tile-S2"> Failure <input type="radio" name="test-start-tile-S2" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="start-tile.json#S2" target="_blank">Test start tile (S2)</a>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="radio" name="test-exits"> Success <input type="radio" name="test-exits"> Failure <input type="radio" name="test-exits" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="exit1.json" target="_blank">Test exits</a>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="radio" name="test-exitSceneUrl"> Success <input type="radio" name="test-exitSceneUrl"> Failure <input type="radio" name="test-exitSceneUrl" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="Properties/exitSceneUrl1.json" target="_blank">Test the (deprecated) exitSceneUrl property</a>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="radio" name="test-start-tile-s1tos2"> Success <input type="radio" name="test-start-tile-s1tos2"> Failure <input type="radio" name="test-start-tile-s1tos2" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="start-tile-teleport.json" target="_blank">Test teleport into the map</a>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="radio" name="test-website-objects"> Success <input type="radio" name="test-website-objects"> Failure <input type="radio" name="test-website-objects" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="EmbeddedWebsite/website_in_map.json" target="_blank">Testing websites inside a map</a>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="radio" name="test-audio"> Success <input type="radio" name="test-audio"> Failure <input type="radio" name="test-audio" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="audio.json" target="_blank">Testing audio layer</a>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="radio" name="test-jitsi-silent"> Success <input type="radio" name="test-jitsi-silent"> Failure <input type="radio" name="test-jitsi-silent" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="jitsi_custom_url.json" target="_blank">Testing Jitsi + silent layer</a>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="radio" name="test-emoji"> Success <input type="radio" name="test-emoji"> Failure <input type="radio" name="test-emoji" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="emoji.json" target="_blank">Testing Emoji</a>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="radio" name="test-emoji"> Success <input type="radio" name="test-emoji"> Failure <input type="radio" name="test-emoji" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="focusable_zone_map.json" target="_blank">Focusable Zones</a>
                    </td>
                </tr>
            </table>
            <h2>Iframe API</h2>
            <table class="table">
                <tr>
                    <td>
                        <input type="radio" name="test-iframe-api"> Success <input type="radio" name="test-iframe-api"> Failure <input type="radio" name="test-iframe-api" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="iframe_api.json" target="_blank">Testing scripting API with an iFrame</a>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="radio" name="test-scripting-api"> Success <input type="radio" name="test-scripting-api"> Failure <input type="radio" name="test-scripting-api" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="script_api.json" target="_blank">Testing scripting API with a script</a>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="radio" name="test-scripting-api-gotopage"> Success <input type="radio" name="test-scripting-api-gotopage"> Failure <input type="radio" name="test-scripting-api-gotopage" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="goToPage.json" target="_blank">Testing goToPage script Api</a>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="radio" name="test-scripting-sound"> Success <input type="radio" name="test-scripting-sound"> Failure <input type="radio" name="test-scripting-sound" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="SoundTest.json" target="_blank">Testing scripting API loadSound() function</a>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="radio" name="test-cowebsite-allowAPI"> Success <input type="radio" name="test-cowebsite-allowAPI"> Failure <input type="radio" name="test-cowebsite-allowAPI" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="Metadata/cowebsiteAllowApi.json" target="_blank">Test a iframe opened by a script can use Iframe API</a>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="radio" name="test-custom-menu"> Success <input type="radio" name="test-custom-menu"> Failure <input type="radio" name="test-custom-menu" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="Metadata/customMenu.json" target="_blank">Testing add a custom menu by scripting API</a>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="radio" name="test-getCurrentUser"> Success <input type="radio" name="test-getCurrentUser"> Failure <input type="radio" name="test-getCurrentUser" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="Metadata/getCurrentRoom.json" target="_blank">Testing return current player attributes in Scripting API + WA.onInit</a>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="radio" name="test-player-move"> Success <input type="radio" name="test-player-move"> Failure <input type="radio" name="test-player-move" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="Metadata/playerMove.json" target="_blank">Test listening player movement by Scripting API</a>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="radio" name="test-setProperty"> Success <input type="radio" name="test-setProperty"> Failure <input type="radio" name="test-setProperty" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="Metadata/setProperty.json" target="_blank">Testing set a property on a layer by Scripting API</a>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="radio" name="test-show-hide"> Success <input type="radio" name="test-show-hide"> Failure <input type="radio" name="test-show-hide" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="Metadata/showHideLayer.json" target="_blank">Testing show or hide a layer by Scripting API</a>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="radio" name="test-set-tiles"> Success <input type="radio" name="test-set-tiles"> Failure <input type="radio" name="test-set-tiles" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="Metadata/setTiles.json" target="_blank">Test set tiles</a>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="radio" name="test-variables"> Success <input type="radio" name="test-variables"> Failure <input type="radio" name="test-variables" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="Variables/variables.json" target="_blank">Testing scripting variables locally</a>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="radio" name="test-shared-variables"> Success <input type="radio" name="test-shared-variables"> Failure <input type="radio" name="test-shared-variables" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="Variables/shared_variables.json" target="_blank">Testing shared scripting variables</a>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="radio" name="test-trigger-message-api"> Success <input type="radio" name="test-trigger-message-api"> Failure <input type="radio" name="test-trigger-message-api" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="TriggerMessageApi/triggerMessage.json" target="_blank">Testing trigger message API</a>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="radio" name="test-scripting-deprecated"> Success <input type="radio" name="test-scripting-deprecated"> Failure <input type="radio" name="test-scripting-deprecated" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="deprecated_functions.json" target="_blank">Testing scripting API deprecated function</a>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="radio" name="test-website-objects-script"> Success <input type="radio" name="test-website-objects-script"> Failure <input type="radio" name="test-website-objects-script" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="EmbeddedWebsite/website_in_map_script.json" target="_blank">Testing scripting API for websites inside a map</a>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="radio" name="test-change-layer-api"> Success <input type="radio" name="test-change-layer-api"> Failure <input type="radio" name="test-change-layer-api" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="ChangeLayerApi/change_layer_api.json" target="_blank">Testing scripting API for enters/leaves layer</a>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="radio" name="test-outline-api"> Success <input type="radio" name="test-outline-api"> Failure <input type="radio" name="test-outline-api" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="Outline/outline.json" target="_blank">Testing scripting API for outline on players</a>
                    </td>
                </tr>
            </table>
            <h2>CoWebsite</h2>
            <table class="table">
                <tr>
                    <td>
                        <input type="radio" name="test-cowebsite-property"> Success <input type="radio" name="test-cowebsite-property"> Failure <input type="radio" name="test-cowebsite-property" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="CoWebsite/cowebsite_property.json" target="_blank">Open co-websites by map property</a>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="radio" name="test-cowebsite-api"> Success <input type="radio" name="test-cowebsite-api"> Failure <input type="radio" name="test-cowebsite-api" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="CoWebsite/cowebsite_api.json" target="_blank">Open co-websites by scripting api</a>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="radio" name="test-cowebsite_jitsiroom-layer-properties"> Success <input type="radio" name="test-cowebsite_jitsiroom-layer-properties"> Failure <input type="radio" name="test-cowebsite_jitsiroom-layer-properties" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="CoWebsite/cowebsite_jitsiroom.json" target="_blank">Open co-websites and Jitsi room by layer properties</a>
                    </td>
                </tr>
            </table>
            <h2>Mobile</h2>
            <table class="table">
                <tr>
                    <td>
                        <input type="radio" name="test-mobile"> Success <input type="radio" name="test-mobile"> Failure <input type="radio" name="test-mobile" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="mobile.json" target="_blank">Testing movement on mobile</a>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="radio" name="test-mobile-video"> Success <input type="radio" name="test-mobile-video"> Failure <input type="radio" name="test-mobile-video" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="mobile_video.json" target="_blank">Testing video on mobile</a>
                    </td>
                </tr>
            </table>
            <h2>WebRTC</h2>
            <table class="table">
                <tr>
                    <td>
                        <input type="radio" name="test-help-camera-setting"> Success <input type="radio" name="test-help-camera-setting"> Failure <input type="radio" name="test-help-camera-setting" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="help_camera_setting.json" target="_blank">Test the HelpCameraSettingScene</a>
                    </td>
                </tr>
            </table>
            <h2>Others</h2>
            <table class="table">
                <tr>
                    <td>
                        <input type="radio" name="test-reconnection"> Success <input type="radio" name="test-reconnection"> Failure <input type="radio" name="test-reconnection" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="reconnection.json" target="_blank">Test reconnection</a>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="radio" name="test-inactive-tabs"> Success <input type="radio" name="test-inactive-tabs"> Failure <input type="radio" name="test-inactive-tabs" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="inactive_tabs.json" target="_blank">Test inactive tabs on Chrome</a>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="radio" name="test-energy"> Success <input type="radio" name="test-energy"> Failure <input type="radio" name="test-energy" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="energy.json" target="_blank">Test energy consumption</a>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="radio" name="test-autoresize"> Success <input type="radio" name="test-autoresize"> Failure <input type="radio" name="test-autoresize" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="autoresize.json" target="_blank">Testing auto-zoom of viewport</a>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="radio" name="test-mouse-wheel"> Success <input type="radio" name="test-mouse-wheel"> Failure <input type="radio" name="test-mouse-wheel" checked> Pending
                    </td>
                    <td>
                        <a href="#" class="testLink" data-testmap="mousewheel.json" target="_blank">Testing zoom via mouse wheel</a>
                    </td>
                </tr>
            </table>
        </div>
        <script>
            const baseInput = document.getElementById('baseurl');

            let host = window.location.host;
            let playHost;
            if (host.startsWith('maps-')) {
                playHost = 'play-'+host.substr(5);
            } else if (host.startsWith('maps.')) {
                playHost = 'play.'+host.substr(5);
            } else {
                playHost = 'localhost';
            }

            let completeUrl = window.location.protocol + '//' + playHost + '/_/global/' + host + window.location.pathname;

            baseInput.value = completeUrl;

            baseInput.addEventListener('change', init);

            function init() {
                console.log(baseInput.value);
                for (const link of document.querySelectorAll('a.testLink')) {
                    const url = baseInput.value + link.dataset.testmap;
                    link.href = url;
                }
            }

            init();
        </script>
    </body>
</html>