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'
|
'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 * 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 { 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', () => {
|
describe('Get file info', () => {
|
||||||
it('Empty file', async (async () => {
|
it('Empty file', async (async () => {
|
||||||
const path = `${__dirname}/resources/emptyfile`;
|
const path = `${_dirname}/resources/emptyfile`;
|
||||||
const info = await getFileInfo(path) as any;
|
const info = await getFileInfo(path) as any;
|
||||||
delete info.warnings;
|
delete info.warnings;
|
||||||
delete info.blurhash;
|
delete info.blurhash;
|
||||||
|
@ -22,7 +27,7 @@ describe('Get file info', () => {
|
||||||
}));
|
}));
|
||||||
|
|
||||||
it('Generic JPEG', async (async () => {
|
it('Generic JPEG', async (async () => {
|
||||||
const path = `${__dirname}/resources/Lenna.jpg`;
|
const path = `${_dirname}/resources/Lenna.jpg`;
|
||||||
const info = await getFileInfo(path) as any;
|
const info = await getFileInfo(path) as any;
|
||||||
delete info.warnings;
|
delete info.warnings;
|
||||||
delete info.blurhash;
|
delete info.blurhash;
|
||||||
|
@ -40,7 +45,7 @@ describe('Get file info', () => {
|
||||||
}));
|
}));
|
||||||
|
|
||||||
it('Generic APNG', async (async () => {
|
it('Generic APNG', async (async () => {
|
||||||
const path = `${__dirname}/resources/anime.png`;
|
const path = `${_dirname}/resources/anime.png`;
|
||||||
const info = await getFileInfo(path) as any;
|
const info = await getFileInfo(path) as any;
|
||||||
delete info.warnings;
|
delete info.warnings;
|
||||||
delete info.blurhash;
|
delete info.blurhash;
|
||||||
|
@ -58,7 +63,7 @@ describe('Get file info', () => {
|
||||||
}));
|
}));
|
||||||
|
|
||||||
it('Generic AGIF', async (async () => {
|
it('Generic AGIF', async (async () => {
|
||||||
const path = `${__dirname}/resources/anime.gif`;
|
const path = `${_dirname}/resources/anime.gif`;
|
||||||
const info = await getFileInfo(path) as any;
|
const info = await getFileInfo(path) as any;
|
||||||
delete info.warnings;
|
delete info.warnings;
|
||||||
delete info.blurhash;
|
delete info.blurhash;
|
||||||
|
@ -76,7 +81,7 @@ describe('Get file info', () => {
|
||||||
}));
|
}));
|
||||||
|
|
||||||
it('PNG with alpha', async (async () => {
|
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;
|
const info = await getFileInfo(path) as any;
|
||||||
delete info.warnings;
|
delete info.warnings;
|
||||||
delete info.blurhash;
|
delete info.blurhash;
|
||||||
|
@ -94,7 +99,7 @@ describe('Get file info', () => {
|
||||||
}));
|
}));
|
||||||
|
|
||||||
it('Generic SVG', async (async () => {
|
it('Generic SVG', async (async () => {
|
||||||
const path = `${__dirname}/resources/image.svg`;
|
const path = `${_dirname}/resources/image.svg`;
|
||||||
const info = await getFileInfo(path) as any;
|
const info = await getFileInfo(path) as any;
|
||||||
delete info.warnings;
|
delete info.warnings;
|
||||||
delete info.blurhash;
|
delete info.blurhash;
|
||||||
|
@ -113,7 +118,7 @@ describe('Get file info', () => {
|
||||||
|
|
||||||
it('SVG with XML definition', async (async () => {
|
it('SVG with XML definition', async (async () => {
|
||||||
// https://github.com/misskey-dev/misskey/issues/4413
|
// 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;
|
const info = await getFileInfo(path) as any;
|
||||||
delete info.warnings;
|
delete info.warnings;
|
||||||
delete info.blurhash;
|
delete info.blurhash;
|
||||||
|
@ -131,7 +136,7 @@ describe('Get file info', () => {
|
||||||
}));
|
}));
|
||||||
|
|
||||||
it('Dimension limit', async (async () => {
|
it('Dimension limit', async (async () => {
|
||||||
const path = `${__dirname}/resources/25000x25000.png`;
|
const path = `${_dirname}/resources/25000x25000.png`;
|
||||||
const info = await getFileInfo(path) as any;
|
const info = await getFileInfo(path) as any;
|
||||||
delete info.warnings;
|
delete info.warnings;
|
||||||
delete info.blurhash;
|
delete info.blurhash;
|
||||||
|
@ -149,7 +154,7 @@ describe('Get file info', () => {
|
||||||
}));
|
}));
|
||||||
|
|
||||||
it('Rotate JPEG', async (async () => {
|
it('Rotate JPEG', async (async () => {
|
||||||
const path = `${__dirname}/resources/rotate.jpg`;
|
const path = `${_dirname}/resources/rotate.jpg`;
|
||||||
const info = await getFileInfo(path) as any;
|
const info = await getFileInfo(path) as any;
|
||||||
delete info.warnings;
|
delete info.warnings;
|
||||||
delete info.blurhash;
|
delete info.blurhash;
|
||||||
|
|
|
@ -2,8 +2,13 @@ process.env.NODE_ENV = 'test';
|
||||||
|
|
||||||
import * as assert from 'assert';
|
import * as assert from 'assert';
|
||||||
import * as childProcess from 'child_process';
|
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';
|
import { async, signup, request, post, uploadFile, startServer, shutdownServer } from './utils.js';
|
||||||
|
|
||||||
|
const _filename = fileURLToPath(import.meta.url);
|
||||||
|
const _dirname = dirname(_filename);
|
||||||
|
|
||||||
describe('users/notes', () => {
|
describe('users/notes', () => {
|
||||||
let p: childProcess.ChildProcess;
|
let p: childProcess.ChildProcess;
|
||||||
|
|
||||||
|
@ -15,8 +20,8 @@ describe('users/notes', () => {
|
||||||
before(async () => {
|
before(async () => {
|
||||||
p = await startServer();
|
p = await startServer();
|
||||||
alice = await signup({ username: 'alice' });
|
alice = await signup({ username: 'alice' });
|
||||||
const jpg = await uploadFile(alice, __dirname + '/resources/Lenna.jpg');
|
const jpg = await uploadFile(alice, _dirname + '/resources/Lenna.jpg');
|
||||||
const png = await uploadFile(alice, __dirname + '/resources/Lenna.png');
|
const png = await uploadFile(alice, _dirname + '/resources/Lenna.png');
|
||||||
jpgNote = await post(alice, {
|
jpgNote = await post(alice, {
|
||||||
fileIds: [jpg.id]
|
fileIds: [jpg.id]
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
import * as fs from 'node:fs';
|
import * as fs from 'node:fs';
|
||||||
|
import { fileURLToPath } from 'node:url';
|
||||||
|
import { dirname } from 'node:path';
|
||||||
import * as WebSocket from 'ws';
|
import * as WebSocket from 'ws';
|
||||||
import * as misskey from 'misskey-js';
|
import * as misskey from 'misskey-js';
|
||||||
import fetch from 'node-fetch';
|
import fetch from 'node-fetch';
|
||||||
|
@ -9,6 +11,9 @@ import loadConfig from '../src/config/load.js';
|
||||||
import { SIGKILL } from 'constants';
|
import { SIGKILL } from 'constants';
|
||||||
import { entities } from '../src/db/postgre.js';
|
import { entities } from '../src/db/postgre.js';
|
||||||
|
|
||||||
|
const _filename = fileURLToPath(import.meta.url);
|
||||||
|
const _dirname = dirname(_filename);
|
||||||
|
|
||||||
const config = loadConfig();
|
const config = loadConfig();
|
||||||
export const port = config.port;
|
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> => {
|
export const uploadFile = (user: any, path?: string): Promise<any> => {
|
||||||
const formData = new FormData();
|
const formData = new FormData();
|
||||||
formData.append('i', user.token);
|
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`, {
|
return fetch(`http://localhost:${port}/api/drive/files/create`, {
|
||||||
method: 'post',
|
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 () => {}) {
|
export function launchServer(callbackSpawnedProcess: (p: childProcess.ChildProcess) => void, moreProcess: () => Promise<void> = async () => {}) {
|
||||||
return (done: (err?: Error) => any) => {
|
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'],
|
stdio: ['inherit', 'inherit', 'inherit', 'ipc'],
|
||||||
env: { NODE_ENV: 'test', PATH: process.env.PATH }
|
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');
|
rej('timeout to start');
|
||||||
}, timeout);
|
}, timeout);
|
||||||
|
|
||||||
const p = childProcess.spawn('node', [__dirname + '/../built/index.js'], {
|
const p = childProcess.spawn('node', [_dirname + '/../built/index.js'], {
|
||||||
stdio: ['inherit', 'inherit', 'inherit', 'ipc'],
|
stdio: ['inherit', 'inherit', 'inherit', 'ipc'],
|
||||||
env: { NODE_ENV: 'test', PATH: process.env.PATH }
|
env: { NODE_ENV: 'test', PATH: process.env.PATH }
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue