From ecc8d7f2ca8dd6a61d10695b0398b6bd715e2500 Mon Sep 17 00:00:00 2001 From: Devin Tyler Cunningham Date: Fri, 21 Mar 2025 08:40:03 -0700 Subject: [PATCH 1/5] fix: sony model name does not include 'sony' --- src/platforms/sony.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/platforms/sony.ts b/src/platforms/sony.ts index 251bc5b8..bf6b234d 100644 --- a/src/platforms/sony.ts +++ b/src/platforms/sony.ts @@ -14,7 +14,7 @@ export const formatSonyModel = (model: string) => { version, modifier, // eslint-disable-next-line max-len - ] = /^SONY (ILCE|ILME)-([0-9]*)([a-ln-z]*)M*([0-9]*)([a-z]*)/gi.exec(model) ?? []; + ] = /^(ILCE|ILME)-([0-9]*)([a-ln-z]*)M*([0-9]*)([a-z]*)/gi.exec(model) ?? []; const versionNumber = parseInt(version || '0'); const versionRomanNumeral = versionNumber > 1 && versionNumber < 10 ? ` ${convertNumberToRomanNumeral(versionNumber)}` From 4f7da2d795ff620ad5a7c0f1a59535acd4cc77b8 Mon Sep 17 00:00:00 2001 From: Devin Tyler Cunningham Date: Fri, 21 Mar 2025 08:47:31 -0700 Subject: [PATCH 2/5] Update camera.test.ts --- __tests__/camera.test.ts | 78 ++++++++++++++++++++-------------------- 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/__tests__/camera.test.ts b/__tests__/camera.test.ts index 6bdacae6..80b975b0 100644 --- a/__tests__/camera.test.ts +++ b/__tests__/camera.test.ts @@ -1,5 +1,5 @@ import { Camera, formatCameraText } from '@/camera'; -import { MAKE_SONY } from '@/platforms/sony'; +import { MAKE_} from '@/platforms/sony'; const APPLE : Camera = { make: 'Apple', model: 'iPhone 11 Pro' }; const APPLE_01 : Camera = { make: 'Apple', model: 'iPhone 11' }; @@ -13,43 +13,43 @@ const RICOH : Camera = { }; export const SONY_CAMERAS = { - 'SONY ILCE-1M2': 'Sony A1 II', - 'SONY ILCE-1': 'Sony A1', - 'SONY ILCE-9M3': 'Sony A9 III', - 'SONY ILCE-9M2': 'Sony A9 II', - 'SONY ILCE-9': 'Sony A9', - 'SONY ILCE-7RM5': 'Sony A7R V', - 'SONY ILCE-7RM4': 'Sony A7R IV', - 'SONY ILCE-7RM4A': 'Sony A7R IVA', - 'SONY ILCE-7RM3': 'Sony A7R III', - 'SONY ILCE-7RM3A': 'Sony A7R IIIA', - 'SONY ILCE-7RM2': 'Sony A7R II', - 'SONY ILCE-7R': 'Sony A7R', - 'SONY ILCE-7SM3': 'Sony A7S III', - 'SONY ILCE-7SM2': 'Sony A7S II', - 'SONY ILCE-7S': 'Sony A7S', - 'SONY ILCE-7M4': 'Sony A7 IV', - 'SONY ILCE-7M3': 'Sony A7 III', - 'SONY ILCE-7M2': 'Sony A7 II', - 'SONY ILCE-7': 'Sony A7', - 'SONY ILCE-7CR': 'Sony A7CR', - 'SONY ILCE-7CM2': 'Sony A7C II', - 'SONY ILCE-7C': 'Sony A7C', - 'SONY ILCE-6700': 'Sony A6700', - 'SONY ILCE-6600': 'Sony A6600', - 'SONY ILCE-6500': 'Sony A6500', - 'SONY ILCE-6400': 'Sony A6400', - 'SONY ILCE-6300': 'Sony A6300', - 'SONY ILCE-6100': 'Sony A6100', - 'SONY ILCE-6000': 'Sony A6000', - 'SONY ILCE-5100': 'Sony A5100', - 'SONY ILCE-5000': 'Sony A5000', - 'SONY ILCE-3500': 'Sony A3500', - 'SONY ILCE-3000': 'Sony A3000', - 'SONY ILME-FX3': 'Sony FX3', - 'SONY ILME-FX6V': 'Sony FX6', - 'SONY ILME-FX6VK': 'Sony FX6', - 'SONY ILCE-QX1': 'Sony AQX1', + 'ILCE-1M2': 'A1 II', + 'ILCE-1': 'A1', + 'ILCE-9M3': 'A9 III', + 'ILCE-9M2': 'A9 II', + 'ILCE-9': 'A9', + 'ILCE-7RM5': 'A7R V', + 'ILCE-7RM4': 'A7R IV', + 'ILCE-7RM4A': 'A7R IVA', + 'ILCE-7RM3': 'A7R III', + 'ILCE-7RM3A': 'A7R IIIA', + 'ILCE-7RM2': 'A7R II', + 'ILCE-7R': 'A7R', + 'ILCE-7SM3': 'A7S III', + 'ILCE-7SM2': 'A7S II', + 'ILCE-7S': 'A7S', + 'ILCE-7M4': 'A7 IV', + 'ILCE-7M3': 'A7 III', + 'ILCE-7M2': 'A7 II', + 'ILCE-7': 'A7', + 'ILCE-7CR': 'A7CR', + 'ILCE-7CM2': 'A7C II', + 'ILCE-7C': 'A7C', + 'ILCE-6700': 'A6700', + 'ILCE-6600': 'A6600', + 'ILCE-6500': 'A6500', + 'ILCE-6400': 'A6400', + 'ILCE-6300': 'A6300', + 'ILCE-6100': 'A6100', + 'ILCE-6000': 'A6000', + 'ILCE-5100': 'A5100', + 'ILCE-5000': 'A5000', + 'ILCE-3500': 'A3500', + 'ILCE-3000': 'A3000', + 'ILME-FX3': 'FX3', + 'ILME-FX6V': 'FX6', + 'ILME-FX6VK': 'FX6', + 'ILCE-QX1': 'AQX1', }; describe('Camera', () => { @@ -74,7 +74,7 @@ describe('Camera', () => { expect(formatCameraText(RICOH, 'short')).toBe('GR III'); expect(formatCameraText(NIKON, 'short')).toBe('D7000'); }); - it('formats Sony cameras', () => { + it('formats sony cameras', () => { Object.entries(SONY_CAMERAS).forEach(([model, expected]) => { const camera = { make: MAKE_SONY, model }; expect(formatCameraText(camera, 'medium')) From 47e19f14aa56b58b1b5c8e52698fdb81a7c08379 Mon Sep 17 00:00:00 2001 From: Devin Tyler Cunningham Date: Fri, 21 Mar 2025 08:48:05 -0700 Subject: [PATCH 3/5] Update __tests__/camera.test.ts --- __tests__/camera.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/__tests__/camera.test.ts b/__tests__/camera.test.ts index 80b975b0..78a29ab7 100644 --- a/__tests__/camera.test.ts +++ b/__tests__/camera.test.ts @@ -74,7 +74,7 @@ describe('Camera', () => { expect(formatCameraText(RICOH, 'short')).toBe('GR III'); expect(formatCameraText(NIKON, 'short')).toBe('D7000'); }); - it('formats sony cameras', () => { + it('formats Sony cameras', () => { Object.entries(SONY_CAMERAS).forEach(([model, expected]) => { const camera = { make: MAKE_SONY, model }; expect(formatCameraText(camera, 'medium')) From bded76099bc5a0210f2387665ef350ebb879880d Mon Sep 17 00:00:00 2001 From: Devin Tyler Cunningham Date: Fri, 21 Mar 2025 08:50:56 -0700 Subject: [PATCH 4/5] Update __tests__/camera.test.ts --- __tests__/camera.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/__tests__/camera.test.ts b/__tests__/camera.test.ts index 78a29ab7..79991aa1 100644 --- a/__tests__/camera.test.ts +++ b/__tests__/camera.test.ts @@ -1,5 +1,5 @@ import { Camera, formatCameraText } from '@/camera'; -import { MAKE_} from '@/platforms/sony'; +import { MAKE_SONY } from '@/platforms/sony'; const APPLE : Camera = { make: 'Apple', model: 'iPhone 11 Pro' }; const APPLE_01 : Camera = { make: 'Apple', model: 'iPhone 11' }; From d6fe11f2e22b575eef3e8fc2f45abe0c294a1c84 Mon Sep 17 00:00:00 2001 From: Sam Becker Date: Fri, 21 Mar 2025 18:51:47 -0500 Subject: [PATCH 5/5] Fix camera test --- __tests__/camera.test.ts | 6 +++--- src/platforms/sony.ts | 1 - 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/__tests__/camera.test.ts b/__tests__/camera.test.ts index 79991aa1..81c8171d 100644 --- a/__tests__/camera.test.ts +++ b/__tests__/camera.test.ts @@ -12,7 +12,7 @@ const RICOH : Camera = { model: 'RICOH GR III', }; -export const SONY_CAMERAS = { +export const SONY_MODELS = { 'ILCE-1M2': 'A1 II', 'ILCE-1': 'A1', 'ILCE-9M3': 'A9 III', @@ -75,10 +75,10 @@ describe('Camera', () => { expect(formatCameraText(NIKON, 'short')).toBe('D7000'); }); it('formats Sony cameras', () => { - Object.entries(SONY_CAMERAS).forEach(([model, expected]) => { + Object.entries(SONY_MODELS).forEach(([model, expected]) => { const camera = { make: MAKE_SONY, model }; expect(formatCameraText(camera, 'medium')) - .toBe(expected.toLocaleUpperCase()); + .toBe(`${MAKE_SONY} ${expected}`.toLocaleUpperCase()); }); }); }); diff --git a/src/platforms/sony.ts b/src/platforms/sony.ts index bf6b234d..0b44ff55 100644 --- a/src/platforms/sony.ts +++ b/src/platforms/sony.ts @@ -13,7 +13,6 @@ export const formatSonyModel = (model: string) => { letter, version, modifier, - // eslint-disable-next-line max-len ] = /^(ILCE|ILME)-([0-9]*)([a-ln-z]*)M*([0-9]*)([a-z]*)/gi.exec(model) ?? []; const versionNumber = parseInt(version || '0'); const versionRomanNumeral = versionNumber > 1 && versionNumber < 10