Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


SSL test_taskbar_progress.xhtml   Sprache: unbekannt

 
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css"
                 type="text/css"?>
<window title="Taskbar Previews Test"
  xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
  onload="loaded();">

  <script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js" />
  <script class="testbody" type="application/javascript">
  <![CDATA[
    let TP = Ci.nsITaskbarProgress;
    
    function IsWin7OrHigher() {
      try {
        var ver = parseFloat(Services.sysinfo.getProperty("version"));
        if (ver >= 6.1)
          return true;
      } catch (ex) { }
      return false;
    }

    function winProgress() {
      let taskbar = Cc["@mozilla.org/windows-taskbar;1"];
      if (!taskbar) {
        ok(false, "Taskbar service is always available");
        return null;
      }
      taskbar = taskbar.getService(Ci.nsIWinTaskbar);

      is(taskbar.available, IsWin7OrHigher(), "Expected availability of taskbar");
      if (!taskbar.available)
        return null;
      
      // HACK from mconnor:
      let win = Services.wm.getMostRecentWindow("navigator:browser");
      let docShell = win.docShell;

      let progress = taskbar.getTaskbarProgress(docShell);
      isnot(progress, null, "Progress is not null");

      try {
        taskbar.getTaskbarProgress(null);
        ok(false, "Got progress for null docshell");
      } catch (e) {
        ok(true, "Cannot get progress for null docshell");
      }
      
      return progress;
    }
    
    function macProgress() {
      let progress = Cc["@mozilla.org/widget/macdocksupport;1"];
      if (!progress) {
        ok(false, "Should have gotten Mac progress service.");
        return null;
      }
      return progress.getService(TP);
    }

    SimpleTest.waitForExplicitFinish();

    function loaded()
    {
      let isWin = /Win/.test(navigator.platform);
      let progress = isWin ? winProgress() : macProgress();
      if (!TP || !progress) {
        SimpleTest.finish();
        return;
      }
      
      function shouldThrow(s,c,m) {
        try {
          progress.setProgressState(s,c,m);
          return false;
        } catch (e) {
          return true;
        }
      }

      function doesntThrow(s,c,m) {
        return !shouldThrow(s,c,m);
      }

      ok(doesntThrow(TP.STATE_NO_PROGRESS, 0, 0), "No progress state can be set");
      ok(doesntThrow(TP.STATE_INDETERMINATE, 0, 0), "Indeterminate state can be set");
      ok(doesntThrow(TP.STATE_NORMAL, 0, 0), "Normal state can be set");
      ok(doesntThrow(TP.STATE_ERROR, 0, 0), "Error state can be set");
      ok(doesntThrow(TP.STATE_PAUSED, 0, 0), "Paused state can be set");

      ok(shouldThrow(TP.STATE_NO_PROGRESS, 1, 1), "Cannot set no progress with values");
      ok(shouldThrow(TP.STATE_INDETERMINATE, 1, 1), "Cannot set indeterminate with values");

      // Technically passes since unsigned(-1) > 10
      ok(shouldThrow(TP.STATE_NORMAL, -1, 10), "Cannot set negative progress");
      todo(shouldThrow(TP.STATE_NORMAL, 1, -1), "Cannot set negative progress");
      todo(shouldThrow(TP.STATE_NORMAL, -1, -1), "Cannot set negative progress");
      todo(shouldThrow(TP.STATE_NORMAL, -2, -1), "Cannot set negative progress");

      ok(shouldThrow(TP.STATE_NORMAL, 5, 3), "Cannot set progress greater than max");

      ok(doesntThrow(TP.STATE_NORMAL, 1, 5), "Normal state can be set with values");
      ok(doesntThrow(TP.STATE_ERROR, 3, 6), "Error state can be set with values");
      ok(doesntThrow(TP.STATE_PAUSED, 2, 9), "Paused state can be set with values");

      SimpleTest.finish();
    }
  ]]>
  </script>

  <body xmlns="http://www.w3.org/1999/xhtml">
    <p id="display"></p>
    <div id="content" style="display: none"></div>
    <pre id="test"></pre>
  </body>

</window>

[ Verzeichnis aufwärts0.31unsichere Verbindung  Übersetzung europäischer Sprachen durch Browser  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge