mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-24 17:51:51 +02:00
Support svg files in figure modal GitOrigin-RevId: 4f0e110dad3c06f5e5ac699e0bfcaf3cd6c784ff
53 lines
1.8 KiB
TypeScript
53 lines
1.8 KiB
TypeScript
import { expect } from 'chai'
|
|
import {
|
|
getFileExtension,
|
|
hasImageExtension,
|
|
isSvgFile,
|
|
} from '../../../../../frontend/js/features/source-editor/utils/file'
|
|
|
|
describe('file utilities', function () {
|
|
describe('getFileExtension', function () {
|
|
;[
|
|
['image.png', 'png'],
|
|
['image.PNG', 'png'],
|
|
['folder/subfolder/image.SVG', 'svg'],
|
|
['my.file.name.jpg', 'jpg'],
|
|
['filename', null],
|
|
['.gitignore.txt', 'txt'],
|
|
].forEach(([input, expected]) => {
|
|
it(`returns correct extension for "${input}"`, function () {
|
|
expect(getFileExtension(input as string)).to.equal(expected)
|
|
})
|
|
})
|
|
})
|
|
|
|
describe('hasImageExtension', function () {
|
|
;['png', 'jpg', 'jpeg', 'pdf', 'eps', 'svg'].forEach(ext => {
|
|
it(`returns true for .${ext} files (including nested and uppercase)`, function () {
|
|
expect(hasImageExtension(`image.${ext}`)).to.equal(true)
|
|
expect(hasImageExtension(`image.${ext.toUpperCase()}`)).to.equal(true)
|
|
expect(hasImageExtension(`folder/image.${ext}`)).to.equal(true)
|
|
})
|
|
})
|
|
|
|
it('returns false for non-image files', function () {
|
|
expect(hasImageExtension('document.tex')).to.equal(false)
|
|
expect(hasImageExtension('README')).to.equal(false)
|
|
})
|
|
})
|
|
|
|
describe('isSvgFile', function () {
|
|
it('returns true for svg files (including nested and uppercase)', function () {
|
|
expect(isSvgFile('diagram.svg')).to.equal(true)
|
|
expect(isSvgFile('diagram.SVG')).to.equal(true)
|
|
expect(isSvgFile('figures/diagram.svg')).to.equal(true)
|
|
})
|
|
|
|
it('returns false for non-svg files', function () {
|
|
expect(isSvgFile('image.png')).to.equal(false)
|
|
expect(isSvgFile('svgfile')).to.equal(false)
|
|
expect(isSvgFile('svg-diagram.png')).to.equal(false)
|
|
})
|
|
})
|
|
})
|