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

core.test.js — astro Source File

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

Entity Profile

Dependency Diagram

graph LR
  ea0af6c5_d045_60b6_c577_5153cfcaa580["core.test.js"]
  e90bdc3a_92a6_a967_11f8_a684e9308361["../../../../dist/assets/fonts/core/collect-component-data.js"]
  ea0af6c5_d045_60b6_c577_5153cfcaa580 --> e90bdc3a_92a6_a967_11f8_a684e9308361
  cecabc1c_fd4e_769a_e1f0_6e5ea96e2f41["../../../../dist/assets/fonts/core/collect-font-assets-from-faces.js"]
  ea0af6c5_d045_60b6_c577_5153cfcaa580 --> cecabc1c_fd4e_769a_e1f0_6e5ea96e2f41
  baf309e7_9809_cc55_88c6_10366d139330["../../../../dist/assets/fonts/core/collect-font-data.js"]
  ea0af6c5_d045_60b6_c577_5153cfcaa580 --> baf309e7_9809_cc55_88c6_10366d139330
  344273c3_88cd_079e_aa89_96414b550cca["../../../../dist/assets/fonts/core/compute-font-families-assets.js"]
  ea0af6c5_d045_60b6_c577_5153cfcaa580 --> 344273c3_88cd_079e_aa89_96414b550cca
  13277805_8864_ff30_f876_008b680279ec["../../../../dist/assets/fonts/core/filter-and-transform-font-faces.js"]
  ea0af6c5_d045_60b6_c577_5153cfcaa580 --> 13277805_8864_ff30_f876_008b680279ec
  6401aa23_0fb7_2fa6_2d15_b5891b37bfc4["../../../../dist/assets/fonts/core/filter-preloads.js"]
  ea0af6c5_d045_60b6_c577_5153cfcaa580 --> 6401aa23_0fb7_2fa6_2d15_b5891b37bfc4
  9a2613e5_be43_dd9e_5050_b98e031f7929["../../../../dist/assets/fonts/core/get-or-create-font-family-assets.js"]
  ea0af6c5_d045_60b6_c577_5153cfcaa580 --> 9a2613e5_be43_dd9e_5050_b98e031f7929
  cf8881e1_7feb_cad8_8756_08fd107d2b6a["../../../../dist/assets/fonts/core/optimize-fallbacks.js"]
  ea0af6c5_d045_60b6_c577_5153cfcaa580 --> cf8881e1_7feb_cad8_8756_08fd107d2b6a
  4f990e99_aaa1_fa7e_f7dd_496bf9d09b24["../../../../dist/assets/fonts/core/resolve-family.js"]
  ea0af6c5_d045_60b6_c577_5153cfcaa580 --> 4f990e99_aaa1_fa7e_f7dd_496bf9d09b24
  b0be4d0c_86b6_a283_f2af_003189bfd572["test-utils.js"]
  ea0af6c5_d045_60b6_c577_5153cfcaa580 --> b0be4d0c_86b6_a283_f2af_003189bfd572
  e6d936de_adfc_6f29_c26b_58af0a66adc5["SpyLogger"]
  ea0af6c5_d045_60b6_c577_5153cfcaa580 --> e6d936de_adfc_6f29_c26b_58af0a66adc5
  cf581885_d0e2_b165_a30e_db299dd301a8["utils.js"]
  ea0af6c5_d045_60b6_c577_5153cfcaa580 --> cf581885_d0e2_b165_a30e_db299dd301a8
  05cf50ba_41ad_28ff_fdb7_d4b079acb4c0["FakeFontMetricsResolver"]
  ea0af6c5_d045_60b6_c577_5153cfcaa580 --> 05cf50ba_41ad_28ff_fdb7_d4b079acb4c0
  ac3effe4_efb3_67b5_1b0c_04ce9111d92f["FakeHasher"]
  ea0af6c5_d045_60b6_c577_5153cfcaa580 --> ac3effe4_efb3_67b5_1b0c_04ce9111d92f
  style ea0af6c5_d045_60b6_c577_5153cfcaa580 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 { collectComponentData } from '../../../../dist/assets/fonts/core/collect-component-data.js';
import { collectFontAssetsFromFaces } from '../../../../dist/assets/fonts/core/collect-font-assets-from-faces.js';
import { collectFontData } from '../../../../dist/assets/fonts/core/collect-font-data.js';
import { computeFontFamiliesAssets } from '../../../../dist/assets/fonts/core/compute-font-families-assets.js';
import { filterAndTransformFontFaces } from '../../../../dist/assets/fonts/core/filter-and-transform-font-faces.js';
import { filterPreloads } from '../../../../dist/assets/fonts/core/filter-preloads.js';
import { getOrCreateFontFamilyAssets } from '../../../../dist/assets/fonts/core/get-or-create-font-family-assets.js';
import { optimizeFallbacks } from '../../../../dist/assets/fonts/core/optimize-fallbacks.js';
import { resolveFamily } from '../../../../dist/assets/fonts/core/resolve-family.js';
import { SpyLogger } from '../../test-utils.js';
import {
	FakeFontMetricsResolver,
	FakeHasher,
	FakeStringMatcher,
	markdownBold,
	PassthroughFontResolver,
} from './utils.js';

describe('fonts core', () => {
	describe('resolveFamily()', () => {
		it('removes quotes correctly', () => {
			const hasher = new FakeHasher('xxx');
			let family = resolveFamily({
				family: {
					provider: { name: 'foo', resolveFont: () => undefined },
					name: 'Test',
					cssVariable: '--test',
				},
				hasher,
			});
			assert.equal(family.name, 'Test');
			assert.equal(family.uniqueName, 'Test-xxx');

			family = resolveFamily({
				family: {
					provider: { name: 'foo', resolveFont: () => undefined },
					name: '"Foo bar"',
					cssVariable: '--test',
				},
				hasher,
			});
			assert.equal(family.name, 'Foo bar');
			assert.equal(family.uniqueName, 'Foo bar-xxx');
		});

		it('dedupes properly', () => {
			const family = resolveFamily({
				family: {
					provider: {
						name: 'xxx',
						resolveFont: () => undefined,
					},
					name: '"Foo bar"',
					cssVariable: '--test',
					weights: [400, '400', '500', 'bold'],
					styles: ['normal', 'normal', 'italic'],
					subsets: ['latin', 'latin'],
// ... (1640 more lines)

Dependencies

  • ../../../../dist/assets/fonts/core/collect-component-data.js
  • ../../../../dist/assets/fonts/core/collect-font-assets-from-faces.js
  • ../../../../dist/assets/fonts/core/collect-font-data.js
  • ../../../../dist/assets/fonts/core/compute-font-families-assets.js
  • ../../../../dist/assets/fonts/core/filter-and-transform-font-faces.js
  • ../../../../dist/assets/fonts/core/filter-preloads.js
  • ../../../../dist/assets/fonts/core/get-or-create-font-family-assets.js
  • ../../../../dist/assets/fonts/core/optimize-fallbacks.js
  • ../../../../dist/assets/fonts/core/resolve-family.js
  • FakeFontMetricsResolver
  • FakeHasher
  • FakeStringMatcher
  • PassthroughFontResolver
  • SpyLogger
  • markdownBold
  • node:test
  • strict
  • test-utils.js
  • utils.js

Frequently Asked Questions

What does core.test.js do?
core.test.js is a source file in the astro codebase, written in javascript. It belongs to the IntegrationAdapters domain.
What does core.test.js depend on?
core.test.js imports 19 module(s): ../../../../dist/assets/fonts/core/collect-component-data.js, ../../../../dist/assets/fonts/core/collect-font-assets-from-faces.js, ../../../../dist/assets/fonts/core/collect-font-data.js, ../../../../dist/assets/fonts/core/compute-font-families-assets.js, ../../../../dist/assets/fonts/core/filter-and-transform-font-faces.js, ../../../../dist/assets/fonts/core/filter-preloads.js, ../../../../dist/assets/fonts/core/get-or-create-font-family-assets.js, ../../../../dist/assets/fonts/core/optimize-fallbacks.js, and 11 more.
Where is core.test.js in the architecture?
core.test.js is located at packages/astro/test/units/assets/fonts/core.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