You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
1.1 KiB
33 lines
1.1 KiB
import { test } from 'node:test'; |
|
import assert from 'node:assert/strict'; |
|
import { |
|
extractTextFromBuffer, |
|
resolveDocumentKind, |
|
} from './documentExtractService.js'; |
|
|
|
test('resolveDocumentKind: PDF по MIME и по имени', () => { |
|
assert.equal(resolveDocumentKind('application/pdf'), 'pdf'); |
|
assert.equal(resolveDocumentKind('', 'X.PDF'), 'pdf'); |
|
assert.equal(resolveDocumentKind('application/octet-stream', 'a.pdf'), 'pdf'); |
|
}); |
|
|
|
test('resolveDocumentKind: docx, txt, неизвестно', () => { |
|
assert.equal( |
|
resolveDocumentKind( |
|
'application/vnd.openxmlformats-officedocument.wordprocessingml.document' |
|
), |
|
'docx' |
|
); |
|
assert.equal(resolveDocumentKind('text/plain', 'x.txt'), 'text'); |
|
assert.equal(resolveDocumentKind('', 'readme.md'), 'text'); |
|
assert.equal(resolveDocumentKind('image/png'), null); |
|
assert.equal(resolveDocumentKind('application/octet-stream', 'a.exe'), null); |
|
}); |
|
|
|
test('extractTextFromBuffer: text UTF-8', async () => { |
|
const t = await extractTextFromBuffer( |
|
'text', |
|
Buffer.from('Проверка D.2', 'utf8') |
|
); |
|
assert.equal(t, 'Проверка D.2'); |
|
});
|
|
|