<!-- Copyright 2014-2021 Signal Messenger, LLC -->
<!-- SPDX-License-Identifier: AGPL-3.0-only -->

<html>
  <head>
    <meta charset="utf-8" />
    <title>TextSecure test runner</title>
    <link rel="stylesheet" href="../node_modules/mocha/mocha.css" />
    <link rel="stylesheet" href="../stylesheets/manifest.css" />
  </head>
  <body>
    <div id="mocha"></div>
    <div id="tests"></div>

    <script type="text/x-tmpl-mustache" id="app-loading-screen">
      <div class='module-title-bar-drag-area'></div>

      <div class='content'>
        <div class="module-splash-screen__logo module-img--150"></div>
        <div class='container'>
          <span class='dot'></span>
          <span class='dot'></span>
          <span class='dot'></span>
        </div>
        <div class='message'>{{ message }}</div>
      </div>
    </script>

    <script type="text/x-tmpl-mustache" id="two-column">
      <div class='module-title-bar-drag-area'></div>

      <div class='left-pane-placeholder'></div>

      <div class='conversation-stack'>
        <div class='no-conversation-open'>
          <div class="module-splash-screen__logo module-img--128 module-logo-blue"></div>
          <h3>{{ welcomeToSignal }}</h3>
          <p class="whats-new-placeholder"></p>
          <p>{{ selectAContact }}</p>
        </div>
        <div id="toast"></div>
      </div>

      <div class='lightbox-container'></div>
    </script>

    <script type="text/x-tmpl-mustache" id="conversation">
      <div id="ConversationView__template"></div>
    </script>

    <script type="text/x-tmpl-mustache" id="recorder">
      <button class='finish'><span class='icon'></span></button>
      <span class='time'>0:00</span>
      <button class='close'><span class='icon'></span></button>
    </script>

    <script type="text/x-tmpl-mustache" id="phone-number">
      <div class='phone-input-form'>
          <div class='number-container'>
              <input type='tel' class='number' placeholder="Phone Number" />
          </div>
      </div>
    </script>

    <script type="text/x-tmpl-mustache" id="file-size-modal">
      {{ file-size-warning }}
      ({{ limit }}{{ units }})
    </script>

    <script type="text/x-tmpl-mustache" id="group-member-list">
      <div class='container'>
        {{ #summary }} <div class='summary'>{{ summary }}</div>{{ /summary }}
      </div>
    </script>

    <script type="text/x-tmpl-mustache" id="link-flow-template">
      <div class='module-title-bar-drag-area'></div>

      {{#isStep3}}
      <div id='step3' class='step'>
        <div class='inner'>
          <div class='step-body'>
            <div class='header'>{{ linkYourPhone }}</div>
            <div id="qr">
              <div class='container'>
                <span class='dot'></span>
                <span class='dot'></span>
                <span class='dot'></span>
              </div>
            </div>
          </div>
          <div class='nav'>
            <div class='instructions'>
              <div class='android'>
                <div class='label'>
                  <span class='os-icon android'></span>
                </div>
                <div class='body'>
                  <div>→ {{ signalSettings }}</div>
                  <div>→ {{ linkedDevices }}</div>
                  <div>→ {{ androidFinalStep }}</div>
                </div>
              </div>
              <div class='apple'>
                <div class='label'>
                  <span class='os-icon apple'></span>
                </div>
                <div class='body'>
                  <div>→ {{ signalSettings }}</div>
                  <div>→ {{ linkedDevices }}</div>
                  <div>→ {{ appleFinalStep }}</div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
      {{/isStep3}}
      {{#isStep4}}
      <form id='link-phone'>
        <div id='step4' class='step'>
          <div class='inner'>
            <div class='step-body'>
              <span class='banner-icon lead-pencil'></span>
              <div class='header'>{{ chooseName }}</div>
              <div>
                <input type='text' class='device-name' spellcheck='false' maxlength='50' tabIndex="0" />
              </div>
            </div>

              <div class='nav'>
                <div>
                  <button class="button finish" type="submit" tabIndex="0">{{ finishLinkingPhoneButton }}</button>
                </div>
              </div>
          </div>
        </div>
      </form>
      {{/isStep4}}
      {{#isStep5}}
      <div id='step5' class='step'>
        <div class='inner'>
          <div class='step-body'>
            <span class='banner-icon sync'></span>
            <div class='header'>{{ syncing }}</div>
          </div>
          <div class='progress'>
            <div class='bar-container'>
              <div class='bar progress-bar progress-bar-striped active'></div>
            </div>
          </div>
        </div>
      </div>
      {{/isStep5}}

      {{#isError}}
      <div id='error' class='step'>
        <div class='inner'>
          <div class='step-body'>
            <span class='banner-icon alert-outline'></span>
            <div class='header'>{{ errorHeader }}</div>
            <div class='body'>{{ errorMessage }}</div>
          </div>
          <div class='nav'>
            <a class='button try-again'>{{ errorButton }}</a>
          </div>
        </div>
      </div>
      {{/isError}}
    </script>

    <script type="text/x-tmpl-mustache" id="standalone">
      <div class='module-title-bar-drag-area'></div>

      <div class='step'>
        <div class='inner'>
          <div class='step-body'>
            <div class="banner-image module-splash-screen__logo module-img--128"></div>
            <div class='header'>Create your Signal Account</div>
            <div id='phone-number-input'>
              <div class='phone-input-form'>
                  <div id='number-container' class='number-container'>
                    <input type='tel' class='number' placeholder='Phone Number' />
                  </div>
              </div>
            </div>
            <div class='clearfix'>
              <a class='button' id='request-sms'>Send SMS</a>
              <a class='link' id='request-voice' tabindex='-1'>Call</a>
            </div>
            <input class='form-control' type='text' pattern='\s*[0-9]{3}-?[0-9]{3}\s*' title='Enter your 6-digit verification code. If you did not receive a code, click Call or Send SMS to request a new one' id='code' placeholder='Verification Code' autocomplete='off'>
            <div id='error' class='collapse'></div>
            <div id='status'></div>
          </div>
          <div class='nav'>
            <a class='button' id='verifyCode' data-loading-text='Please wait...'>Register</a>
          </div>
        </div>
      </div>
    </script>

    <script
      type="text/javascript"
      src="../libtextsecure/test/fake_web_api.js"
    ></script>

    <script type="text/javascript" src="../js/components.js"></script>
    <script type="text/javascript" src="../ts/backboneJquery.js"></script>
    <script
      type="text/javascript"
      src="../js/reliable_trigger.js"
      data-cover
    ></script>
    <script type="text/javascript" src="test.js"></script>

    <script type="text/javascript" src="../js/database.js" data-cover></script>

    <script
      type="text/javascript"
      src="../libtextsecure/protocol_wrapper.js"
    ></script>

    <script type="text/javascript" src="../js/libphonenumber-util.js"></script>
    <script
      type="text/javascript"
      src="../js/expiring_messages.js"
      data-cover
    ></script>
    <script
      type="text/javascript"
      src="../js/expiring_tap_to_view_messages.js"
      data-cover
    ></script>
    <script
      type="text/javascript"
      src="../js/notifications.js"
      data-cover
    ></script>

    <script
      type="text/javascript"
      src="../js/views/react_wrapper_view.js"
    ></script>
    <script
      type="text/javascript"
      src="../js/views/list_view.js"
      data-cover
    ></script>
    <script
      type="text/javascript"
      src="../js/views/contact_list_view.js"
      data-cover
    ></script>
    <script
      type="text/javascript"
      src="../js/views/group_member_list_view.js"
      data-cover
    ></script>
    <script
      type="text/javascript"
      src="../js/views/inbox_view.js"
      data-cover
    ></script>
    <script
      type="text/javascript"
      src="../js/views/banner_view.js"
      data-cover
    ></script>

    <script type="text/javascript" src="views/whisper_view_test.js"></script>
    <script type="text/javascript" src="views/list_view_test.js"></script>

    <script type="text/javascript" src="libphonenumber_util_test.js"></script>
    <script type="text/javascript" src="reliable_trigger_test.js"></script>
    <script type="text/javascript" src="database_test.js"></script>
    <script type="text/javascript" src="i18n_test.js"></script>
    <script type="text/javascript" src="stickers_test.js"></script>

    <script type="text/javascript">
      window.Signal.conversationControllerStart();

      window.test.pendingDescribeCalls.forEach(args => {
        describe(...args);
      });

      mocha.run();
    </script>
  </body>
</html>
