UNPKG

tmdbrjs

Version:

A TypeScript wrapper for The Movie Database (TMDB) API

49 lines 3.42 kB
"use strict"; 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