Home / File/ infra.test.js — astro Source File

infra.test.js — astro Source File

Architecture documentation for infra.test.js, a javascript file in the astro codebase. 17 imports, 0 dependents.

Entity Profile

Dependency Diagram

graph LR
  d5696fe9_c690_827d_2f8a_53f43d6035fe["infra.test.js"]
  146314ff_d150_e8d0_e020_1620dde59f6e["../../../../dist/assets/fonts/infra/build-font-file-id-generator.js"]
  d5696fe9_c690_827d_2f8a_53f43d6035fe --> 146314ff_d150_e8d0_e020_1620dde59f6e
  54e4c75c_729e_e772_d662_c1ab5725eebe["../../../../dist/assets/fonts/infra/build-url-resolver.js"]
  d5696fe9_c690_827d_2f8a_53f43d6035fe --> 54e4c75c_729e_e772_d662_c1ab5725eebe
  3e254307_56d8_2c85_3049_1301fac1b65a["../../../../dist/assets/fonts/infra/cached-font-fetcher.js"]
  d5696fe9_c690_827d_2f8a_53f43d6035fe --> 3e254307_56d8_2c85_3049_1301fac1b65a
  e738322e_51c4_624c_0c15_78a8cc48982b["../../../../dist/assets/fonts/infra/capsize-font-metrics-resolver.js"]
  d5696fe9_c690_827d_2f8a_53f43d6035fe --> e738322e_51c4_624c_0c15_78a8cc48982b
  963961c8_d596_d2c3_b432_3b59c436cdf9["../../../../dist/assets/fonts/infra/dev-font-file-id-generator.js"]
  d5696fe9_c690_827d_2f8a_53f43d6035fe --> 963961c8_d596_d2c3_b432_3b59c436cdf9
  1e8b0554_b1c7_9a5a_0af7_d916da00d5e1["../../../../dist/assets/fonts/infra/dev-url-resolver.js"]
  d5696fe9_c690_827d_2f8a_53f43d6035fe --> 1e8b0554_b1c7_9a5a_0af7_d916da00d5e1
  1813a5c9_f67d_80a7_f733_f88dc16fbd48["../../../../dist/assets/fonts/infra/fs-font-file-content-resolver.js"]
  d5696fe9_c690_827d_2f8a_53f43d6035fe --> 1813a5c9_f67d_80a7_f733_f88dc16fbd48
  5d06c074_1725_5933_e1b6_25096e31f865["../../../../dist/assets/fonts/infra/minifiable-css-renderer.js"]
  d5696fe9_c690_827d_2f8a_53f43d6035fe --> 5d06c074_1725_5933_e1b6_25096e31f865
  cd7d38de_ac26_5fd7_add8_993220ad5a40["../../../../dist/assets/fonts/infra/node-font-type-extractor.js"]
  d5696fe9_c690_827d_2f8a_53f43d6035fe --> cd7d38de_ac26_5fd7_add8_993220ad5a40
  c21cfa2a_8daf_1591_6f8d_d27954c64309["../../../../dist/assets/fonts/infra/unifont-font-resolver.js"]
  d5696fe9_c690_827d_2f8a_53f43d6035fe --> c21cfa2a_8daf_1591_6f8d_d27954c64309
  cf581885_d0e2_b165_a30e_db299dd301a8["utils.js"]
  d5696fe9_c690_827d_2f8a_53f43d6035fe --> cf581885_d0e2_b165_a30e_db299dd301a8
  ac3effe4_efb3_67b5_1b0c_04ce9111d92f["FakeHasher"]
  d5696fe9_c690_827d_2f8a_53f43d6035fe --> ac3effe4_efb3_67b5_1b0c_04ce9111d92f
  e73af045_531a_d210_5f55_4989b42dfb4d["SpyStorage"]
  d5696fe9_c690_827d_2f8a_53f43d6035fe --> e73af045_531a_d210_5f55_4989b42dfb4d
  e1e2fac7_5a95_7a88_cb1e_0a3b91c4e607["strict"]
  d5696fe9_c690_827d_2f8a_53f43d6035fe --> e1e2fac7_5a95_7a88_cb1e_0a3b91c4e607
  style d5696fe9_c690_827d_2f8a_53f43d6035fe fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

// @ts-check
import assert from 'node:assert/strict';
import { describe, it } from 'node:test';
import { fileURLToPath } from 'node:url';
import { defineFontProvider } from 'unifont';
import { BuildFontFileIdGenerator } from '../../../../dist/assets/fonts/infra/build-font-file-id-generator.js';
import { BuildUrlResolver } from '../../../../dist/assets/fonts/infra/build-url-resolver.js';
import { CachedFontFetcher } from '../../../../dist/assets/fonts/infra/cached-font-fetcher.js';
import { CapsizeFontMetricsResolver } from '../../../../dist/assets/fonts/infra/capsize-font-metrics-resolver.js';
import { DevFontFileIdGenerator } from '../../../../dist/assets/fonts/infra/dev-font-file-id-generator.js';
import { DevUrlResolver } from '../../../../dist/assets/fonts/infra/dev-url-resolver.js';
import { FsFontFileContentResolver } from '../../../../dist/assets/fonts/infra/fs-font-file-content-resolver.js';
import {
	handleValueWithSpaces,
	MinifiableCssRenderer,
	renderCssVariable,
	renderFontFace,
	withFamily,
} from '../../../../dist/assets/fonts/infra/minifiable-css-renderer.js';
import { NodeFontTypeExtractor } from '../../../../dist/assets/fonts/infra/node-font-type-extractor.js';
import { UnifontFontResolver } from '../../../../dist/assets/fonts/infra/unifont-font-resolver.js';
import { FakeHasher, SpyStorage } from './utils.js';

describe('fonts infra', () => {
	describe('MinifiableCssRenderer', () => {
		describe('renderFontFace()', () => {
			it('filters undefined properties properly', () => {
				assert.equal(renderFontFace({ foo: 'test' }, true).includes('foo:test'), true);
				assert.equal(renderFontFace({ foo: 'test', bar: undefined }, true).includes('bar'), false);
			});

			it('formats properly', () => {
				assert.equal(renderFontFace({ foo: 'test' }, false), '@font-face {\n  foo: test;\n}\n');
				assert.equal(renderFontFace({ foo: 'test' }, true), '@font-face{foo:test;}');
			});
		});

		it('renderCssVariable()', () => {
			assert.equal(
				renderCssVariable('foo', ['bar', 'x y'], false),
				':root {\n  foo: bar, "x y";\n}\n',
			);
			assert.equal(renderCssVariable('foo', ['bar', 'x y'], true), ':root{foo:bar,"x y";}');
		});

		it('withFamily()', () => {
			assert.deepStrictEqual(withFamily('foo', { bar: 'baz' }), {
				'font-family': 'foo',
				bar: 'baz',
			});
			assert.deepStrictEqual(withFamily('x y', { bar: 'baz' }), {
				'font-family': '"x y"',
				bar: 'baz',
			});
		});

		it('handleValueWithSpaces()', () => {
			assert.equal(handleValueWithSpaces('foo'), 'foo');
			assert.equal(handleValueWithSpaces('x y'), '"x y"');
		});
// ... (710 more lines)

Dependencies

  • ../../../../dist/assets/fonts/infra/build-font-file-id-generator.js
  • ../../../../dist/assets/fonts/infra/build-url-resolver.js
  • ../../../../dist/assets/fonts/infra/cached-font-fetcher.js
  • ../../../../dist/assets/fonts/infra/capsize-font-metrics-resolver.js
  • ../../../../dist/assets/fonts/infra/dev-font-file-id-generator.js
  • ../../../../dist/assets/fonts/infra/dev-url-resolver.js
  • ../../../../dist/assets/fonts/infra/fs-font-file-content-resolver.js
  • ../../../../dist/assets/fonts/infra/minifiable-css-renderer.js
  • ../../../../dist/assets/fonts/infra/node-font-type-extractor.js
  • ../../../../dist/assets/fonts/infra/unifont-font-resolver.js
  • FakeHasher
  • SpyStorage
  • node:test
  • node:url
  • strict
  • unifont
  • utils.js

Frequently Asked Questions

What does infra.test.js do?
infra.test.js is a source file in the astro codebase, written in javascript. It belongs to the IntegrationAdapters domain.
What does infra.test.js depend on?
infra.test.js imports 17 module(s): ../../../../dist/assets/fonts/infra/build-font-file-id-generator.js, ../../../../dist/assets/fonts/infra/build-url-resolver.js, ../../../../dist/assets/fonts/infra/cached-font-fetcher.js, ../../../../dist/assets/fonts/infra/capsize-font-metrics-resolver.js, ../../../../dist/assets/fonts/infra/dev-font-file-id-generator.js, ../../../../dist/assets/fonts/infra/dev-url-resolver.js, ../../../../dist/assets/fonts/infra/fs-font-file-content-resolver.js, ../../../../dist/assets/fonts/infra/minifiable-css-renderer.js, and 9 more.
Where is infra.test.js in the architecture?
infra.test.js is located at packages/astro/test/units/assets/fonts/infra.test.js (domain: IntegrationAdapters, directory: packages/astro/test/units/assets/fonts).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free