@carbon/ibm-cloud-cognitive-cdai
Version:
Carbon for Cloud & Cognitive CD&AI UI components
43 lines (42 loc) • 1.8 kB
JavaScript
//
// Copyright IBM Corp. 2020, 2020
//
// This source code is licensed under the Apache-2.0 license found in the
// LICENSE file in the root directory of this source tree.
//
import * as FileHelper from './FileHelper';
describe('FileHelper', function () {
describe('getExtensionFromFilename', function () {
it('returns the expected output for a file with an extension', function () {
expect(FileHelper.getExtensionFromFilename('foo.jpg')).toEqual('jpg');
expect(FileHelper.getExtensionFromFilename('foo.bar.txt')).toEqual('txt');
expect(FileHelper.getExtensionFromFilename('foobar')).toEqual(undefined);
});
});
describe('hasValidFilename', function () {
it('should return true for a valid filename', function () {
expect(FileHelper.hasValidFilename('valid')).toEqual(true);
});
it('should return false for an invalid filename', function () {
expect(FileHelper.hasValidFilename('***')).toEqual(false);
});
});
describe('hasValidExtension', function () {
it('returns true for valid extension', function () {
expect(FileHelper.hasValidExtension('txt', ['txt'])).toEqual(true);
});
it('returns false for invalid extension', function () {
expect(FileHelper.hasValidExtension('bar', ['txt'])).toEqual(false);
});
it('returns true for wildcard extension', function () {
expect(FileHelper.hasValidExtension('txt', ['*'])).toEqual(true);
expect(FileHelper.hasValidExtension('blah', ['*'])).toEqual(true);
expect(FileHelper.hasValidExtension('', ['*'])).toEqual(true);
});
});
describe('parseFileFromUrl', function () {
it('returns the filename for a full url', function () {
expect(FileHelper.parseFileFromUrl('http://foo.com/foo.png')).toEqual('foo.png');
});
});
});