Home / File/ completions.test.ts — astro Source File

completions.test.ts — astro Source File

Architecture documentation for completions.test.ts, a typescript file in the astro codebase. 7 imports, 0 dependents.

Entity Profile

Dependency Diagram

graph LR
  dfee8dba_593e_d40c_5cc4_8b07ae7880b1["completions.test.ts"]
  923db4e1_01a0_98ab_9c38_dfe16dd4bada["server.ts"]
  dfee8dba_593e_d40c_5cc4_8b07ae7880b1 --> 923db4e1_01a0_98ab_9c38_dfe16dd4bada
  9cf7acc9_e2e5_26e3_64f0_7304d1983c86["getLanguageServer"]
  dfee8dba_593e_d40c_5cc4_8b07ae7880b1 --> 9cf7acc9_e2e5_26e3_64f0_7304d1983c86
  d8206fa8_f041_14e6_d043_1fc32953407c["utils.ts"]
  dfee8dba_593e_d40c_5cc4_8b07ae7880b1 --> d8206fa8_f041_14e6_d043_1fc32953407c
  db323e8c_04ef_9777_0487_224de5819a30["node:assert"]
  dfee8dba_593e_d40c_5cc4_8b07ae7880b1 --> db323e8c_04ef_9777_0487_224de5819a30
  c52a5f83_66e3_37d7_9ebb_767f7129bc62["node:path"]
  dfee8dba_593e_d40c_5cc4_8b07ae7880b1 --> c52a5f83_66e3_37d7_9ebb_767f7129bc62
  6b0635f9_51ea_77aa_767b_7857878e98a6["node:test"]
  dfee8dba_593e_d40c_5cc4_8b07ae7880b1 --> 6b0635f9_51ea_77aa_767b_7857878e98a6
  6857b6b2_4d48_bfb0_0a0e_8e2e52fabb56["language-server"]
  dfee8dba_593e_d40c_5cc4_8b07ae7880b1 --> 6857b6b2_4d48_bfb0_0a0e_8e2e52fabb56
  style dfee8dba_593e_d40c_5cc4_8b07ae7880b1 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import assert from 'node:assert';
import path from 'node:path';
import { before, describe, it } from 'node:test';
import { Position } from '@volar/language-server';
import { getLanguageServer, type LanguageServer } from '../server.ts';
import { fixtureDir } from '../utils.ts';

describe('TypeScript - Completions', async () => {
	let languageServer: LanguageServer;

	before(async () => (languageServer = await getLanguageServer()));

	it('Can get completions in the frontmatter', async () => {
		const document = await languageServer.openFakeDocument('---\nc\n---', 'astro');
		const completions = await languageServer.handle.sendCompletionRequest(
			document.uri,
			Position.create(1, 1),
		);

		assert.ok(completions?.items && completions?.items.length > 0);
	});

	it('Can get completions in the template', async () => {
		const document = await languageServer.openFakeDocument('{c}', 'astro');
		const completions = await languageServer.handle.sendCompletionRequest(
			document.uri,
			Position.create(0, 1),
		);

		assert.ok(completions?.items && completions?.items.length > 0);
	});

	it('sort completions starting with `astro:` higher than other imports', async () => {
		const document = await languageServer.openFakeDocument('<Image', 'astro');
		const completions = await languageServer.handle.sendCompletionRequest(
			document.uri,
			Position.create(0, 6),
		);

		const imageCompletion = completions?.items.find(
			(item) => item.labelDetails?.description === 'astro:assets',
		);

		assert.strictEqual(imageCompletion?.sortText, '\x00￿16');
	});

	it('Can get completions in all kinds of script tags', async () => {
		const documents = [
			'<script>\nconsole.\n</script>',
			'<script type="module">\nconsole.\n</script>',
			'<script is:inline>\nconsole.\n</script>',
		];

		for (const doc of documents) {
			const document = await languageServer.openFakeDocument(doc, 'astro');
			const completions = await languageServer.handle.sendCompletionRequest(
				document.uri,
				Position.create(1, 8),
			);

// ... (66 more lines)

Domain

Dependencies

Frequently Asked Questions

What does completions.test.ts do?
completions.test.ts is a source file in the astro codebase, written in typescript. It belongs to the CoreAstro domain.
What does completions.test.ts depend on?
completions.test.ts imports 7 module(s): getLanguageServer, language-server, node:assert, node:path, node:test, server.ts, utils.ts.
Where is completions.test.ts in the architecture?
completions.test.ts is located at packages/language-tools/language-server/test/typescript/completions.test.ts (domain: CoreAstro, directory: packages/language-tools/language-server/test/typescript).

Analyze Your Own Codebase

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

Try Supermodel Free