Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/testing/web-platform/tests/beacon/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 2 kB image not shown  

Quelle  beacon-common.sub.js   Sprache: JAVA

 
'use strict';

const EMPTY = 'empty';
const SMALL = 'small';
const LARGE = 'large';
const MAX = 'max';
const TOOLARGE = 'toolarge';

const STRING = 'string';
const ARRAYBUFFER = 'arraybuffer';
const FORM = 'form';
const BLOB = 'blob';

function getContentType(type) {
  switch (type) {
    case STRING:
      return 'text/plain;charset=UTF-8';
    case ARRAYBUFFER:
      return null;
    case FORM:
      return 'multipart/form-data';
    case BLOB:
      return null;
    default:
      throw Error(`invalid type: ${type}`);
  }
}

// Create a payload with the given size and type.
// `sizeString` must be one of EMPTY, SMALL, LARGE, MAX, TOOLARGE.
// `type` must be one of STRING, ARRAYBUFFER, FORM, BLOB.
// `contentType` is effective only if `type` is BLOB.
function makePayload(sizeString, type, contentType) {
  let size = 0;
  switch (sizeString) {
    case EMPTY:
      size = 0;
      break;
    case SMALL:
      size = 10;
      break;
    case LARGE:
      size = 10 * 1000;
      break;
    case MAX:
      if (type === FORM) {
        throw Error('Not supported');
      }
      size = 65536;
      break;
    case TOOLARGE:
      size = 65537;
      break;
    default:
      throw Error('invalid size');
  }

  let data = '';
  if (size > 0) {
    const prefix = String(size) + ':';
    data = prefix + Array(size - prefix.length).fill('*').join('');
  }

  switch (type) {
    case STRING:
      return data;
    case ARRAYBUFFER:
      return new TextEncoder().encode(data).buffer;
    case FORM:
      const formData = new FormData();
      if (size > 0) {
        formData.append('payload', data);
      }
      return formData;
    case BLOB:
      const options = contentType ? {type: contentType} : undefined;
      const blob = new Blob([data], options);
      return blob;
    default:
      throw Error('invalid type');
  }
}

function parallelPromiseTest(func, description) {
  async_test((t) => {
    Promise.resolve(func(t)).then(() => t.done()).catch(t.step_func((e) => {
      throw e;
    }));
  }, description);
}

// Poll the server for the test result.
async function waitForResult(id, expectedError = null) {
  const url = `/beacon/resources/beacon.py?cmd=stat&id=${id}`;
  for (let i = 0; i < 30; ++i) {
    const response = await fetch(url);
    const text = await response.text();
    const results = JSON.parse(text);

    if (results.length === 0) {
      await new Promise(resolve => step_timeout(resolve, 100));
      continue;
    }
    assert_equals(results.length, 1, `bad response: '${text}'`);
    const result = results[0];
    // null JSON values parse as null, not undefined
    assert_equals(result.error, expectedError, 'error recorded in stash');
    return result;
  }
  assert_true(false'timeout');
}

Messung V0.5
C=98 H=97 G=97

¤ Dauer der Verarbeitung: 0.1 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

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.