Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/toolkit/themes/shared/design-system/tests/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 3 kB image not shown  

Quelle  try-runner.js   Sprache: JAVA

 
/* eslint-disable no-console */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */


/* eslint-env node */

/*
 * A small test runner/reporter for node-based tests,
 * which are run via taskcluster node(debugger).
 *
 * Adapted from:
 * https://searchfox.org/mozilla-central/rev/9cd4ea81e27db6b767f1d9bbbcf47da238dd64fa/browser/components/newtab/bin/try-runner.js
 */


const { readFileSync, rmSync } = require("fs");
const chalk = require("chalk");
const path = require("path");
const StyleDictionary = require("style-dictionary");
const config = require("../tokens-config.js");

const TEST_BUILD_PATH = "tests/build/css/";

function buildFilesWithTestConfig() {
  // Use our real config, just modify some values for the test. This prevents us
  // from re-building the CSS files that get checked in when we run the tests.
  let testConfig = Object.assign({}, config);
  testConfig.source = [path.join(__dirname, "../design-tokens.json")];
  testConfig.platforms.css.buildPath = TEST_BUILD_PATH;

  // This is effectively the same as running `npm run build` and allows us to
  // use the modified config.
  StyleDictionary.extend(testConfig).buildAllPlatforms();
}

function logErrors(tool, errors) {
  for (const error of errors) {
    console.log(`TEST-UNEXPECTED-FAIL | ${tool} | ${error}`);
  }
  return errors;
}

function logStart(name) {
  console.log(`TEST-START | ${name}`);
}

const FILE_PATHS = {
  "tokens-brand.css": {
    path: path.join("tokens-brand.css"),
    testPath: path.join(TEST_BUILD_PATH, "tokens-brand.css"),
  },
  "tokens-platform.css": {
    path: path.join("tokens-platform.css"),
    testPath: path.join(TEST_BUILD_PATH, "tokens-platform.css"),
  },
  "tokens-shared.css": {
    path: path.join("tokens-shared.css"),
    testPath: path.join(TEST_BUILD_PATH, "tokens-shared.css"),
  },
};

const tests = {
  // Verify the CSS files build successfully and are up to date.
  buildCSS() {
    logStart("build CSS");

    let errors = [];
    let currentCSS = {};

    // Read the contents of our built CSS files.
    for (let [fileName, { path }] of Object.entries(FILE_PATHS)) {
      currentCSS[fileName] = readFileSync(path, "utf8");
    }

    try {
      buildFilesWithTestConfig();
    } catch {
      errors.push("CSS build did not run successfully");
    }

    // Build CSS files to the test directory and compare them to the current CSS
    // files that get checked in. If the contents don't match we either forgot
    // to build the files after making a change, or edited the CSS files directly.
    for (let [fileName, { testPath }] of Object.entries(FILE_PATHS)) {
      let builtCSS = readFileSync(testPath, "utf8");

      if (builtCSS !== currentCSS[fileName]) {
        errors.push(`${fileName} is out of date`);
      }

      if (builtCSS.includes("/** Unspecified **/")) {
        errors.push(
          "Tokens present in the 'Unspecified' section. Please update TOKEN_SECTIONS in tokens-config.js"
        );
      }
    }

    logErrors("build CSS", errors);
    rmSync("tests/build", { recursive: true, force: true });
    return errors.length === 0;
  },
};

(function runTests() {
  let results = [];

  for (let testName of Object.keys(tests)) {
    results.push([testName, tests[testName]()]);
  }

  for (const [name, result] of results) {
    // Colorize output based on result.
    console.log(result ? chalk.green(`✓ ${name}`) : chalk.red(`✗ ${name}`));
  }

  const success = results.every(([, result]) => result);
  process.exitCode = success ? 0 : 1;
  console.log("CODE", process.exitCode);
})();

Messung V0.5
C=88 H=65 G=77

¤ Dauer der Verarbeitung: 0.12 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.