caching.test.ts — astro Source File
Architecture documentation for caching.test.ts, a typescript file in the astro codebase. 9 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 38eb43bb_eb3b_a13c_c79f_a35b90ae04ef["caching.test.ts"] 923db4e1_01a0_98ab_9c38_dfe16dd4bada["server.ts"] 38eb43bb_eb3b_a13c_c79f_a35b90ae04ef --> 923db4e1_01a0_98ab_9c38_dfe16dd4bada 9cf7acc9_e2e5_26e3_64f0_7304d1983c86["getLanguageServer"] 38eb43bb_eb3b_a13c_c79f_a35b90ae04ef --> 9cf7acc9_e2e5_26e3_64f0_7304d1983c86 d8206fa8_f041_14e6_d043_1fc32953407c["utils.ts"] 38eb43bb_eb3b_a13c_c79f_a35b90ae04ef --> d8206fa8_f041_14e6_d043_1fc32953407c db323e8c_04ef_9777_0487_224de5819a30["node:assert"] 38eb43bb_eb3b_a13c_c79f_a35b90ae04ef --> db323e8c_04ef_9777_0487_224de5819a30 e16a223b_37f3_6b25_1ee1_2b7bcb9d9415["node:fs"] 38eb43bb_eb3b_a13c_c79f_a35b90ae04ef --> e16a223b_37f3_6b25_1ee1_2b7bcb9d9415 c52a5f83_66e3_37d7_9ebb_767f7129bc62["node:path"] 38eb43bb_eb3b_a13c_c79f_a35b90ae04ef --> c52a5f83_66e3_37d7_9ebb_767f7129bc62 6b0635f9_51ea_77aa_767b_7857878e98a6["node:test"] 38eb43bb_eb3b_a13c_c79f_a35b90ae04ef --> 6b0635f9_51ea_77aa_767b_7857878e98a6 6857b6b2_4d48_bfb0_0a0e_8e2e52fabb56["language-server"] 38eb43bb_eb3b_a13c_c79f_a35b90ae04ef --> 6857b6b2_4d48_bfb0_0a0e_8e2e52fabb56 abeb339e_cdba_0d7f_6b7f_3696c1eb86f9["vscode-uri"] 38eb43bb_eb3b_a13c_c79f_a35b90ae04ef --> abeb339e_cdba_0d7f_6b7f_3696c1eb86f9 style 38eb43bb_eb3b_a13c_c79f_a35b90ae04ef fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import assert from 'node:assert';
import fs from 'node:fs';
import path from 'node:path';
import { after, before, describe, it } from 'node:test';
import { Position } from '@volar/language-server';
import { URI } from 'vscode-uri';
import { getLanguageServer, type LanguageServer } from '../server.ts';
import { fixtureDir } from '../utils.ts';
const contentSchemaPath = path.resolve(fixtureDir, '.astro', 'collections', 'caching.schema.json');
describe(
'Content Intellisense - Caching',
{ skip: parseInt(process.versions.node) === 20 },
async () => {
let languageServer: LanguageServer;
before(async () => {
languageServer = await getLanguageServer();
});
it('Properly updates the schema when they are updated', async () => {
const document = await languageServer.handle.openTextDocument(
path.join(fixtureDir, 'src', 'content', 'caching', 'caching.md'),
'markdown',
);
const hover = await languageServer.handle.sendHoverRequest(
document.uri,
Position.create(1, 1),
);
assert.deepStrictEqual(hover?.contents, {
kind: 'markdown',
value: 'I will be changed',
});
fs.writeFileSync(
contentSchemaPath,
fs.readFileSync(contentSchemaPath, 'utf-8').replaceAll('I will be changed', 'I am changed'),
);
await languageServer.handle.didChangeWatchedFiles([
{
uri: URI.file(contentSchemaPath).toString(),
type: 2,
},
]);
const hover2 = await languageServer.handle.sendHoverRequest(
document.uri,
Position.create(1, 1),
);
assert.deepStrictEqual(hover2?.contents, {
kind: 'markdown',
value: 'I am changed',
});
});
after(async () => {
fs.writeFileSync(
contentSchemaPath,
fs.readFileSync(contentSchemaPath, 'utf-8').replaceAll('I am changed', 'I will be changed'),
);
});
},
);
Domain
Dependencies
- getLanguageServer
- language-server
- node:assert
- node:fs
- node:path
- node:test
- server.ts
- utils.ts
- vscode-uri
Source
Frequently Asked Questions
What does caching.test.ts do?
caching.test.ts is a source file in the astro codebase, written in typescript. It belongs to the CoreAstro domain.
What does caching.test.ts depend on?
caching.test.ts imports 9 module(s): getLanguageServer, language-server, node:assert, node:fs, node:path, node:test, server.ts, utils.ts, and 1 more.
Where is caching.test.ts in the architecture?
caching.test.ts is located at packages/language-tools/language-server/test/content-intellisense/caching.test.ts (domain: CoreAstro, directory: packages/language-tools/language-server/test/content-intellisense).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free