test: __dirnameはESModuleでは使えないので置き換えた (#8626)
				
					
				
			This commit is contained in:
		
							parent
							
								
									b2a5076d14
								
							
						
					
					
						commit
						ebb4308a5c
					
				
					 6 changed files with 53 additions and 23 deletions
				
			
		|  | @ -16,6 +16,17 @@ module.exports = { | |||
| 					'position': 'after' | ||||
| 				} | ||||
| 			], | ||||
| 		}] | ||||
| 		}], | ||||
| 		'no-restricted-globals': [ | ||||
| 			'error', | ||||
| 			{ | ||||
| 				'name': '__dirname', | ||||
| 				'message': 'Not in ESModule. Use `import.meta.url` instead.' | ||||
| 			}, | ||||
| 			{ | ||||
| 				'name': '__filename', | ||||
| 				'message': 'Not in ESModule. Use `import.meta.url` instead.' | ||||
| 			} | ||||
| 	] | ||||
| 	}, | ||||
| }; | ||||
|  |  | |||
|  | @ -1,7 +0,0 @@ | |||
| { | ||||
| 	"env": { | ||||
| 		"node": true, | ||||
| 		"mocha": true, | ||||
| 		"commonjs": true | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										11
									
								
								packages/backend/test/.eslintrc.cjs
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								packages/backend/test/.eslintrc.cjs
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,11 @@ | |||
| module.exports = { | ||||
| 	parserOptions: { | ||||
| 		tsconfigRootDir: __dirname, | ||||
| 		project: ['./tsconfig.json'], | ||||
| 	}, | ||||
| 	extends: ['../.eslintrc.cjs'], | ||||
| 	env: { | ||||
| 		node: true, | ||||
| 		mocha: true, | ||||
| 	}, | ||||
| }; | ||||
|  | @ -1,10 +1,15 @@ | |||
| import * as assert from 'assert'; | ||||
| import { async } from './utils.js'; | ||||
| import { fileURLToPath } from 'node:url'; | ||||
| import { dirname } from 'node:path'; | ||||
| import { getFileInfo } from '../src/misc/get-file-info.js'; | ||||
| import { async } from './utils.js'; | ||||
| 
 | ||||
| const _filename = fileURLToPath(import.meta.url); | ||||
| const _dirname = dirname(_filename); | ||||
| 
 | ||||
| describe('Get file info', () => { | ||||
| 	it('Empty file', async (async () => { | ||||
| 		const path = `${__dirname}/resources/emptyfile`; | ||||
| 		const path = `${_dirname}/resources/emptyfile`; | ||||
| 		const info = await getFileInfo(path) as any; | ||||
| 		delete info.warnings; | ||||
| 		delete info.blurhash; | ||||
|  | @ -22,7 +27,7 @@ describe('Get file info', () => { | |||
| 	})); | ||||
| 
 | ||||
| 	it('Generic JPEG', async (async () => { | ||||
| 		const path = `${__dirname}/resources/Lenna.jpg`; | ||||
| 		const path = `${_dirname}/resources/Lenna.jpg`; | ||||
| 		const info = await getFileInfo(path) as any; | ||||
| 		delete info.warnings; | ||||
| 		delete info.blurhash; | ||||
|  | @ -40,7 +45,7 @@ describe('Get file info', () => { | |||
| 	})); | ||||
| 
 | ||||
| 	it('Generic APNG', async (async () => { | ||||
| 		const path = `${__dirname}/resources/anime.png`; | ||||
| 		const path = `${_dirname}/resources/anime.png`; | ||||
| 		const info = await getFileInfo(path) as any; | ||||
| 		delete info.warnings; | ||||
| 		delete info.blurhash; | ||||
|  | @ -58,7 +63,7 @@ describe('Get file info', () => { | |||
| 	})); | ||||
| 
 | ||||
| 	it('Generic AGIF', async (async () => { | ||||
| 		const path = `${__dirname}/resources/anime.gif`; | ||||
| 		const path = `${_dirname}/resources/anime.gif`; | ||||
| 		const info = await getFileInfo(path) as any; | ||||
| 		delete info.warnings; | ||||
| 		delete info.blurhash; | ||||
|  | @ -76,7 +81,7 @@ describe('Get file info', () => { | |||
| 	})); | ||||
| 
 | ||||
| 	it('PNG with alpha', async (async () => { | ||||
| 		const path = `${__dirname}/resources/with-alpha.png`; | ||||
| 		const path = `${_dirname}/resources/with-alpha.png`; | ||||
| 		const info = await getFileInfo(path) as any; | ||||
| 		delete info.warnings; | ||||
| 		delete info.blurhash; | ||||
|  | @ -94,7 +99,7 @@ describe('Get file info', () => { | |||
| 	})); | ||||
| 
 | ||||
| 	it('Generic SVG', async (async () => { | ||||
| 		const path = `${__dirname}/resources/image.svg`; | ||||
| 		const path = `${_dirname}/resources/image.svg`; | ||||
| 		const info = await getFileInfo(path) as any; | ||||
| 		delete info.warnings; | ||||
| 		delete info.blurhash; | ||||
|  | @ -113,7 +118,7 @@ describe('Get file info', () => { | |||
| 
 | ||||
| 	it('SVG with XML definition', async (async () => { | ||||
| 		// https://github.com/misskey-dev/misskey/issues/4413
 | ||||
| 		const path = `${__dirname}/resources/with-xml-def.svg`; | ||||
| 		const path = `${_dirname}/resources/with-xml-def.svg`; | ||||
| 		const info = await getFileInfo(path) as any; | ||||
| 		delete info.warnings; | ||||
| 		delete info.blurhash; | ||||
|  | @ -131,7 +136,7 @@ describe('Get file info', () => { | |||
| 	})); | ||||
| 
 | ||||
| 	it('Dimension limit', async (async () => { | ||||
| 		const path = `${__dirname}/resources/25000x25000.png`; | ||||
| 		const path = `${_dirname}/resources/25000x25000.png`; | ||||
| 		const info = await getFileInfo(path) as any; | ||||
| 		delete info.warnings; | ||||
| 		delete info.blurhash; | ||||
|  | @ -149,7 +154,7 @@ describe('Get file info', () => { | |||
| 	})); | ||||
| 
 | ||||
| 	it('Rotate JPEG', async (async () => { | ||||
| 		const path = `${__dirname}/resources/rotate.jpg`; | ||||
| 		const path = `${_dirname}/resources/rotate.jpg`; | ||||
| 		const info = await getFileInfo(path) as any; | ||||
| 		delete info.warnings; | ||||
| 		delete info.blurhash; | ||||
|  |  | |||
|  | @ -2,8 +2,13 @@ process.env.NODE_ENV = 'test'; | |||
| 
 | ||||
| import * as assert from 'assert'; | ||||
| import * as childProcess from 'child_process'; | ||||
| import { dirname } from 'node:path'; | ||||
| import { fileURLToPath } from 'node:url'; | ||||
| import { async, signup, request, post, uploadFile, startServer, shutdownServer } from './utils.js'; | ||||
| 
 | ||||
| const _filename = fileURLToPath(import.meta.url); | ||||
| const _dirname = dirname(_filename); | ||||
| 
 | ||||
| describe('users/notes', () => { | ||||
| 	let p: childProcess.ChildProcess; | ||||
| 
 | ||||
|  | @ -15,8 +20,8 @@ describe('users/notes', () => { | |||
| 	before(async () => { | ||||
| 		p = await startServer(); | ||||
| 		alice = await signup({ username: 'alice' }); | ||||
| 		const jpg = await uploadFile(alice, __dirname + '/resources/Lenna.jpg'); | ||||
| 		const png = await uploadFile(alice, __dirname + '/resources/Lenna.png'); | ||||
| 		const jpg = await uploadFile(alice, _dirname + '/resources/Lenna.jpg'); | ||||
| 		const png = await uploadFile(alice, _dirname + '/resources/Lenna.png'); | ||||
| 		jpgNote = await post(alice, { | ||||
| 			fileIds: [jpg.id] | ||||
| 		}); | ||||
|  |  | |||
|  | @ -1,4 +1,6 @@ | |||
| import * as fs from 'node:fs'; | ||||
| import { fileURLToPath } from 'node:url'; | ||||
| import { dirname } from 'node:path'; | ||||
| import * as WebSocket from 'ws'; | ||||
| import * as misskey from 'misskey-js'; | ||||
| import fetch from 'node-fetch'; | ||||
|  | @ -9,6 +11,9 @@ import loadConfig from '../src/config/load.js'; | |||
| import { SIGKILL } from 'constants'; | ||||
| import { entities } from '../src/db/postgre.js'; | ||||
| 
 | ||||
| const _filename = fileURLToPath(import.meta.url); | ||||
| const _dirname = dirname(_filename); | ||||
| 
 | ||||
| const config = loadConfig(); | ||||
| export const port = config.port; | ||||
| 
 | ||||
|  | @ -72,7 +77,7 @@ export const react = async (user: any, note: any, reaction: string): Promise<any | |||
| export const uploadFile = (user: any, path?: string): Promise<any> => { | ||||
| 		const formData = new FormData(); | ||||
| 		formData.append('i', user.token); | ||||
| 		formData.append('file', fs.createReadStream(path || __dirname + '/resources/Lenna.png')); | ||||
| 		formData.append('file', fs.createReadStream(path || _dirname + '/resources/Lenna.png')); | ||||
| 
 | ||||
| 		return fetch(`http://localhost:${port}/api/drive/files/create`, { | ||||
| 			method: 'post', | ||||
|  | @ -139,7 +144,7 @@ export const simpleGet = async (path: string, accept = '*/*'): Promise<{ status? | |||
| 
 | ||||
| export function launchServer(callbackSpawnedProcess: (p: childProcess.ChildProcess) => void, moreProcess: () => Promise<void> = async () => {}) { | ||||
| 	return (done: (err?: Error) => any) => { | ||||
| 		const p = childProcess.spawn('node', [__dirname + '/../index.js'], { | ||||
| 		const p = childProcess.spawn('node', [_dirname + '/../index.js'], { | ||||
| 			stdio: ['inherit', 'inherit', 'inherit', 'ipc'], | ||||
| 			env: { NODE_ENV: 'test', PATH: process.env.PATH } | ||||
| 		}); | ||||
|  | @ -178,7 +183,7 @@ export function startServer(timeout = 30 * 1000): Promise<childProcess.ChildProc | |||
| 			rej('timeout to start'); | ||||
| 		}, timeout); | ||||
| 
 | ||||
| 		const p = childProcess.spawn('node', [__dirname + '/../built/index.js'], { | ||||
| 		const p = childProcess.spawn('node', [_dirname + '/../built/index.js'], { | ||||
| 			stdio: ['inherit', 'inherit', 'inherit', 'ipc'], | ||||
| 			env: { NODE_ENV: 'test', PATH: process.env.PATH } | ||||
| 		}); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue