Eine aufbereitete Darstellung der Quelle

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

Benutzer

Quelle  test_file_blob_upload.html

  Sprache: HTML
 

 products/Sources/formale Sprachen/C/Firefox/dom/serviceworkers/test/test_file_blob_upload.html


<!--
  Any copyright is dedicated to the Public Domain.
  http://creativecommons.org/publicdomain/zero/1.0/
-->

<!DOCTYPE HTML>
<html>
<head>
  <title>Bug 1203680 - Test interception of file blob uploads</title>
  <script src="/tests/SimpleTest/SimpleTest.js"></script>
  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
</head>
<body>
<p id="display"></p>
<div id="content" style="display: none"></div>
<pre id="test"></pre>
<script src="utils.js"></script>
<script class="testbody" type="text/javascript">
  var registration;
  var iframe;
  function start() {
    return navigator.serviceWorker.register("empty.js",
                                            { scope: "./sw_clients/" })
      .then((swr) => {
        registration = swr
        return waitForState(swr.installing, 'activated', swr);
      });
  }

  function unregister() {
    if (iframe) {
      iframe.remove();
      iframe = null;
    }

    return registration.unregister().then(function(result) {
      ok(result, "Unregister should return true.");
    }, function(e) {
      ok(false, "Unregistering the SW failed with " + e + "\n");
    });
  }

  function withFrame() {
    var content = document.getElementById("content");
    ok(content, "Parent exists.");

    iframe = document.createElement("iframe");
    iframe.setAttribute('src'"sw_clients/file_blob_upload_frame.html");
    content.appendChild(iframe);

    return new Promise(function(resolve, reject) {
      window.addEventListener('message', function(evt) {
        if (evt.data.status === 'READY') {
          resolve();
        } else {
          reject(evt.data.result);
        }
      }, {once: true});
    });
  }

  function postBlob(body) {
    return new Promise(function(resolve, reject) {
      window.addEventListener('message', function(evt) {
        if (evt.data.status === 'OK') {
          is(JSON.stringify(body), JSON.stringify(evt.data.result),
             'body echoed back correctly');
          resolve();
        } else {
          reject(evt.data.result);
        }
      }, {once: true});

      iframe.contentWindow.postMessage({ type: 'TEST'body }, '*');
    });
  }

  function generateMessage(length) {

    var lorem =
      'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis egestas '
      'vehicula tortor eget ultrices. Sed et luctus est. Nunc eu orci ligula. '
      'In vel ornare eros, eget lacinia diam. Praesent vel metus mattis, '
      'cursus nulla sit amet, rhoncus diam. Aliquam nulla tortor, aliquet et '
      'viverra non, dignissim vel tellus. Praesent sed ex in dolor aliquet '
      'aliquet. In at facilisis sem, et aliquet eros. Maecenas feugiat nisl '
      'quis elit blandit posuere. Duis viverra odio sed eros consectetur, '
      'viverra mattis ligula volutpat.';

    var result = '';

    while (result.length < length) {
      var remaining = length - result.length;
      if (remaining < lorem.length) {
        result += lorem.slice(0, remaining);
      } else {
        result += lorem;
      }
    }

    return result;
  }

  var smallBody = generateMessage(64);
  var mediumBody = generateMessage(1024);

  // TODO: Test large bodies over the default pipe size.  Currently stalls
  //       due to bug 1134372.
  //var largeBody = generateMessage(100 * 1024);

  function runTest() {
    start()
      .then(withFrame)
      .then(function() {
        return postBlob({ hops: 0, message: smallBody });
      })
      .then(function() {
        return postBlob({ hops: 1, message: smallBody });
      })
      .then(function() {
        return postBlob({ hops: 10, message: smallBody });
      })
      .then(function() {
        return postBlob({ hops: 0, message: mediumBody });
      })
      .then(function() {
        return postBlob({ hops: 1, message: mediumBody });
      })
      .then(function() {
        return postBlob({ hops: 10, message: mediumBody });
      })
      .then(unregister)
      .catch(function(e) {
        ok(false, "Some test failed with error " + e);
      }).then(SimpleTest.finish);
  }

  SimpleTest.waitForExplicitFinish();
  SpecialPowers.pushPrefEnv({"set": [
    ["dom.serviceWorkers.exemptFromPerDomainMax", true],
    ["dom.serviceWorkers.enabled", true],
    ["dom.serviceWorkers.testing.enabled", true]
  ]}, runTest);
</script>
</pre>
</body>
</html>

Messung V0.5 in Prozent
C=100 H=100 G=100

¤ Dauer der Verarbeitung: 0.19 Sekunden  (vorverarbeitet am  2026-08-25) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Statistik
#Sources=277311
#Domains=752002