Publish Vulpes Preview 15 sources for desktop, Android and Tundra

Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
This commit is contained in:
OverSu 2026-09-30 23:13:03 +02:00
commit b38dea0597
25901 changed files with 9982925 additions and 369 deletions

View file

@ -0,0 +1,110 @@
'use strict';
/* global MimeMapper */
require('/shared/js/mime_mapper.js');
suite('Shared library mime_mapper api tests', function() {
suite('parse extension test', function() {
test('Filename with extension', function() {
var ext = MimeMapper._parseExtension('test.jpg');
assert.equal(ext, 'jpg');
});
test('Filename without extension', function() {
var ext = MimeMapper._parseExtension('test');
assert.equal(ext, '');
});
test('Filename is empty string', function() {
var ext = MimeMapper._parseExtension('');
assert.equal(ext, '');
});
});
suite('guess valid type from file properties test', function() {
test('Filename/mimetype is matched', function() {
var mimetype =
MimeMapper.guessTypeFromFileProperties('test.jpg', 'image/jpeg');
assert.equal(mimetype, 'image/jpeg');
});
test('Filename without extension but mimetype supported', function() {
var mimetype =
MimeMapper.guessTypeFromFileProperties('test', 'image/jpeg');
assert.equal(mimetype, 'image/jpeg');
});
test('Extension unsupported but mimetype supported', function() {
var mimetype =
MimeMapper.guessTypeFromFileProperties('test.txt', 'image/jpeg');
assert.equal(mimetype, 'image/jpeg');
});
test('Filename with valid extension but mimetype unsupported', function() {
var mimetype =
MimeMapper.guessTypeFromFileProperties('test.jpg',
'application/download');
assert.equal(mimetype, 'image/jpeg');
});
test('Filename and mimetype are both unsupported', function() {
var mimetype =
MimeMapper.guessTypeFromFileProperties('test',
'application/download');
assert.equal(mimetype, '');
});
});
suite('Check is filename matches type test', function() {
test('Extension/mimetype matches', function() {
var match = MimeMapper.isFilenameMatchesType('test.jpg', 'image/jpeg');
assert.isTrue(match);
});
test('Extension/mimetype does not match', function() {
var match = MimeMapper.isFilenameMatchesType('test.txt', 'image/jpeg');
assert.isFalse(match);
});
test('Filename without extension', function() {
var match = MimeMapper.isFilenameMatchesType('test', 'image/jpeg');
assert.isFalse(match);
});
});
suite('Ensure filename matches type test', function() {
test('Filename/mimetype is matched', function() {
var filename =
MimeMapper.ensureFilenameMatchesType('test.jpg', 'image/jpeg');
assert.equal(filename, 'test.jpg');
});
test('Filename without extension but mimetype supported', function() {
var filename =
MimeMapper.ensureFilenameMatchesType('test', 'image/jpeg');
assert.equal(filename, 'test.jpg');
});
test('Extension unsupported but mimetype supported', function() {
var filename =
MimeMapper.ensureFilenameMatchesType('test.txt', 'image/jpeg');
assert.equal(filename, 'test.txt.jpg');
});
test('Filename with valid extension but mimetype unsupported', function() {
var filename =
MimeMapper.ensureFilenameMatchesType('test.jpg',
'application/download');
assert.equal(filename, 'test.jpg');
});
test('Filename and mimetype are both unsupported', function() {
var filename =
MimeMapper.ensureFilenameMatchesType('test',
'application/download');
assert.equal(filename, 'test');
});
});
});