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

renames.test.ts — astro Source File

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

Entity Profile

Dependency Diagram

graph LR
  4794aa5e_b452_e14a_5cb3_4f1ab0d5922d["renames.test.ts"]
  923db4e1_01a0_98ab_9c38_dfe16dd4bada["server.ts"]
  4794aa5e_b452_e14a_5cb3_4f1ab0d5922d --> 923db4e1_01a0_98ab_9c38_dfe16dd4bada
  9cf7acc9_e2e5_26e3_64f0_7304d1983c86["getLanguageServer"]
  4794aa5e_b452_e14a_5cb3_4f1ab0d5922d --> 9cf7acc9_e2e5_26e3_64f0_7304d1983c86
  d8206fa8_f041_14e6_d043_1fc32953407c["utils.ts"]
  4794aa5e_b452_e14a_5cb3_4f1ab0d5922d --> d8206fa8_f041_14e6_d043_1fc32953407c
  db323e8c_04ef_9777_0487_224de5819a30["node:assert"]
  4794aa5e_b452_e14a_5cb3_4f1ab0d5922d --> db323e8c_04ef_9777_0487_224de5819a30
  c52a5f83_66e3_37d7_9ebb_767f7129bc62["node:path"]
  4794aa5e_b452_e14a_5cb3_4f1ab0d5922d --> c52a5f83_66e3_37d7_9ebb_767f7129bc62
  6b0635f9_51ea_77aa_767b_7857878e98a6["node:test"]
  4794aa5e_b452_e14a_5cb3_4f1ab0d5922d --> 6b0635f9_51ea_77aa_767b_7857878e98a6
  a065e1ce_1c92_e541_ec3a_9e6778333a3f["vscode-languageserver-protocol"]
  4794aa5e_b452_e14a_5cb3_4f1ab0d5922d --> a065e1ce_1c92_e541_ec3a_9e6778333a3f
  style 4794aa5e_b452_e14a_5cb3_4f1ab0d5922d 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 type { RenameFilesParams } from 'vscode-languageserver-protocol';
import { WillRenameFilesRequest } from 'vscode-languageserver-protocol';
import { getLanguageServer, type LanguageServer } from '../server.ts';
import { fixtureDir } from '../utils.ts';

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

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

	it('Renames imports for files when setting is not set', async () => {
		const documentToBeRenamed = await languageServer.handle.openTextDocument(
			path.resolve(fixtureDir, 'renameThis.ts'),
			'typescript',
		);

		const newUri = documentToBeRenamed.uri.replace('renameThis.ts', 'renamed.ts');

		const edits = await languageServer.handle.connection.sendRequest(WillRenameFilesRequest.type, {
			files: [
				{
					oldUri: documentToBeRenamed.uri,
					newUri: newUri,
				},
			],
		});

		assert.notStrictEqual(edits, null);
	});

	it('Does not rename imports for files when setting is disabled', async () => {
		await languageServer.handle.updateConfiguration({
			astro: {
				updateImportsOnFileMove: {
					enabled: false,
				},
			},
		});

		const documentToBeRenamed = await languageServer.handle.openTextDocument(
			path.resolve(fixtureDir, 'renameThis.ts'),
			'typescript',
		);
		const newUri = documentToBeRenamed.uri.replace('renameThis.ts', 'renamed.ts');

		const edits = await languageServer.handle.connection.sendRequest(WillRenameFilesRequest.type, {
			files: [
				{
					oldUri: documentToBeRenamed.uri,
					newUri: newUri,
				},
			],
		} satisfies RenameFilesParams);

		assert.strictEqual(edits, null);
	});

	it('Renames imports for files when setting is enabled', async () => {
		await languageServer.handle.updateConfiguration({
			astro: {
				updateImportsOnFileMove: {
					enabled: true,
				},
			},
		});

		const documentToBeRenamed = await languageServer.handle.openTextDocument(
			path.resolve(fixtureDir, 'renameThis.ts'),
			'typescript',
		);
		const newUri = documentToBeRenamed.uri.replace('renameThis.ts', 'renamed.ts');

		const edits = await languageServer.handle.connection.sendRequest(WillRenameFilesRequest.type, {
			files: [
				{
					oldUri: documentToBeRenamed.uri,
					newUri: newUri,
				},
			],
		});

		assert.notStrictEqual(edits, null);
	});
});

Domain

Dependencies

Frequently Asked Questions

What does renames.test.ts do?
renames.test.ts is a source file in the astro codebase, written in typescript. It belongs to the CoreAstro domain.
What does renames.test.ts depend on?
renames.test.ts imports 7 module(s): getLanguageServer, node:assert, node:path, node:test, server.ts, utils.ts, vscode-languageserver-protocol.
Where is renames.test.ts in the architecture?
renames.test.ts is located at packages/language-tools/language-server/test/typescript/renames.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