tmdbrjs
Version:
A TypeScript wrapper for The Movie Database (TMDB) API
49 lines • 3.42 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const vitest_1 = require("vitest");
const caseConversion_js_1 = require("../caseConversion.js");
(0, vitest_1.describe)('caseConversion', () => {
(0, vitest_1.describe)('camelToSnakeCase', () => {
(0, vitest_1.it)('converts camelCase to snake_case', () => {
(0, vitest_1.expect)((0, caseConversion_js_1.camelToSnakeCase)('movieCredits')).toBe('movie_credits');
(0, vitest_1.expect)((0, caseConversion_js_1.camelToSnakeCase)('tvCredits')).toBe('tv_credits');
(0, vitest_1.expect)((0, caseConversion_js_1.camelToSnakeCase)('combinedCredits')).toBe('combined_credits');
(0, vitest_1.expect)((0, caseConversion_js_1.camelToSnakeCase)('images')).toBe('images');
(0, vitest_1.expect)((0, caseConversion_js_1.camelToSnakeCase)('latest')).toBe('latest');
});
(0, vitest_1.it)('handles edge cases', () => {
(0, vitest_1.expect)((0, caseConversion_js_1.camelToSnakeCase)('')).toBe('');
(0, vitest_1.expect)((0, caseConversion_js_1.camelToSnakeCase)('alreadySnake_case')).toBe('already_snake_case');
});
(0, vitest_1.it)('handles consecutive uppercase letters correctly', () => {
(0, vitest_1.expect)((0, caseConversion_js_1.camelToSnakeCase)('XMLHttpRequest')).toBe('xml_http_request');
(0, vitest_1.expect)((0, caseConversion_js_1.camelToSnakeCase)('HTMLParser')).toBe('html_parser');
(0, vitest_1.expect)((0, caseConversion_js_1.camelToSnakeCase)('APIKey')).toBe('api_key');
(0, vitest_1.expect)((0, caseConversion_js_1.camelToSnakeCase)('getHTML5Parser')).toBe('get_html5_parser');
});
(0, vitest_1.it)('handles strings starting with uppercase', () => {
(0, vitest_1.expect)((0, caseConversion_js_1.camelToSnakeCase)('CamelCase')).toBe('camel_case');
(0, vitest_1.expect)((0, caseConversion_js_1.camelToSnakeCase)('MovieCredits')).toBe('movie_credits');
});
(0, vitest_1.it)('handles numbers in strings', () => {
(0, vitest_1.expect)((0, caseConversion_js_1.camelToSnakeCase)('version2Update')).toBe('version2_update');
(0, vitest_1.expect)((0, caseConversion_js_1.camelToSnakeCase)('html5Parser')).toBe('html5_parser');
});
(0, vitest_1.it)('handles single character cases', () => {
(0, vitest_1.expect)((0, caseConversion_js_1.camelToSnakeCase)('A')).toBe('a');
(0, vitest_1.expect)((0, caseConversion_js_1.camelToSnakeCase)('AB')).toBe('ab');
(0, vitest_1.expect)((0, caseConversion_js_1.camelToSnakeCase)('aB')).toBe('a_b');
});
});
(0, vitest_1.describe)('camelToSnakeCaseArray', () => {
(0, vitest_1.it)('converts an array of camelCase strings to snake_case', () => {
const input = ['movieCredits', 'tvCredits', 'combinedCredits', 'images', 'latest'];
const expected = ['movie_credits', 'tv_credits', 'combined_credits', 'images', 'latest'];
(0, vitest_1.expect)((0, caseConversion_js_1.camelToSnakeCaseArray)(input)).toEqual(expected);
});
(0, vitest_1.it)('handles empty arrays', () => {
(0, vitest_1.expect)((0, caseConversion_js_1.camelToSnakeCaseArray)([])).toEqual([]);
});
});
});
//# sourceMappingURL=caseConversion.spec.js.map