|
1 | 1 | /* eslint-disable quotes */
|
2 | 2 | import {
|
3 |
| - parseAiAutoGeneratedFieldsText, |
| 3 | + AI_AUTO_GENERATED_FIELDS_DEFAULT, |
| 4 | + parseAiAutoGeneratedFieldsString, |
4 | 5 | parseTitleAndCaption,
|
5 | 6 | } from "@/photo/ai";
|
6 | 7 |
|
7 | 8 | describe('AI parses', () => {
|
8 | 9 | describe('auto-generated fields', () => {
|
9 | 10 | it('with spaces', () => {
|
10 |
| - expect(parseAiAutoGeneratedFieldsText()) |
| 11 | + expect(parseAiAutoGeneratedFieldsString()) |
| 12 | + .toStrictEqual(AI_AUTO_GENERATED_FIELDS_DEFAULT); |
| 13 | + expect(parseAiAutoGeneratedFieldsString('all')) |
11 | 14 | .toStrictEqual(['title', 'caption', 'tags', 'semantic']);
|
12 |
| - expect(parseAiAutoGeneratedFieldsText('all')) |
13 |
| - .toStrictEqual(['title', 'caption', 'tags', 'semantic']); |
14 |
| - expect(parseAiAutoGeneratedFieldsText('title')) |
| 15 | + expect(parseAiAutoGeneratedFieldsString('title')) |
15 | 16 | .toStrictEqual(['title']);
|
16 |
| - expect(parseAiAutoGeneratedFieldsText('title, caption')) |
| 17 | + expect(parseAiAutoGeneratedFieldsString('title, caption')) |
17 | 18 | .toStrictEqual(['title', 'caption']);
|
18 |
| - expect(parseAiAutoGeneratedFieldsText('title, caption, invalid')) |
| 19 | + expect(parseAiAutoGeneratedFieldsString('title, caption, invalid')) |
19 | 20 | .toStrictEqual(['title', 'caption']);
|
20 |
| - expect(parseAiAutoGeneratedFieldsText('title, caption, invalid, tags')) |
| 21 | + expect(parseAiAutoGeneratedFieldsString('title, caption, invalid, tags')) |
21 | 22 | .toStrictEqual(['title', 'caption', 'tags']);
|
22 |
| - expect(parseAiAutoGeneratedFieldsText('none')) |
| 23 | + expect(parseAiAutoGeneratedFieldsString('none')) |
23 | 24 | .toStrictEqual([]);
|
24 | 25 | });
|
25 | 26 | it('without spaces', () => {
|
26 |
| - expect(parseAiAutoGeneratedFieldsText('title,caption')) |
| 27 | + expect(parseAiAutoGeneratedFieldsString('title,caption')) |
27 | 28 | .toStrictEqual(['title', 'caption']);
|
28 |
| - expect(parseAiAutoGeneratedFieldsText('title,caption,invalid')) |
| 29 | + expect(parseAiAutoGeneratedFieldsString('title,caption,invalid')) |
29 | 30 | .toStrictEqual(['title', 'caption']);
|
30 |
| - expect(parseAiAutoGeneratedFieldsText('title,caption,invalid,tags')) |
| 31 | + expect(parseAiAutoGeneratedFieldsString('title,caption,invalid,tags')) |
31 | 32 | .toStrictEqual(['title', 'caption', 'tags']);
|
32 | 33 | });
|
33 | 34 | });
|
34 | 35 | it('received titles and captions', () => {
|
35 | 36 | // Complex case
|
36 | 37 | expect(parseTitleAndCaption(
|
37 |
| - `'Title: "Ephemeral Beauty" Caption: "Roses bask in fleeting sunlight."'` |
| 38 | + `'Title: "Ephemeral Beauty" Caption: "Roses bask in fleeting sunlight."'`, |
38 | 39 | )).toStrictEqual({
|
39 | 40 | title: 'Ephemeral Beauty',
|
40 | 41 | caption: 'Roses bask in fleeting sunlight',
|
41 | 42 | });
|
42 | 43 | // Without surrounding single quotes
|
43 | 44 | expect(parseTitleAndCaption(
|
44 |
| - `Title: "Ephemeral Beauty" Caption: "Roses bask in fleeting sunlight."` |
| 45 | + `Title: "Ephemeral Beauty" Caption: "Roses bask in fleeting sunlight."`, |
45 | 46 | )).toStrictEqual({
|
46 | 47 | title: 'Ephemeral Beauty',
|
47 | 48 | caption: 'Roses bask in fleeting sunlight',
|
48 | 49 | });
|
49 | 50 | // Without trailing period
|
50 | 51 | expect(parseTitleAndCaption(
|
51 |
| - `Title: "Ephemeral Beauty" Caption: "Roses bask in fleeting sunlight"` |
| 52 | + `Title: "Ephemeral Beauty" Caption: "Roses bask in fleeting sunlight"`, |
52 | 53 | )).toStrictEqual({
|
53 | 54 | title: 'Ephemeral Beauty',
|
54 | 55 | caption: 'Roses bask in fleeting sunlight',
|
55 | 56 | });
|
56 | 57 | // Without and quotes
|
57 | 58 | expect(parseTitleAndCaption(
|
58 |
| - `Title: Ephemeral Beauty Caption: Roses bask in fleeting sunlight` |
| 59 | + `Title: Ephemeral Beauty Caption: Roses bask in fleeting sunlight`, |
59 | 60 | )).toStrictEqual({
|
60 | 61 | title: 'Ephemeral Beauty',
|
61 | 62 | caption: 'Roses bask in fleeting sunlight',
|
62 | 63 | });
|
63 | 64 | // With single space
|
64 | 65 | expect(parseTitleAndCaption(
|
65 |
| - `Title: Ephemeral Beauty Caption: Roses bask in fleeting sunlight` |
| 66 | + `Title: Ephemeral Beauty Caption: Roses bask in fleeting sunlight`, |
66 | 67 | )).toStrictEqual({
|
67 | 68 | title: 'Ephemeral Beauty',
|
68 | 69 | caption: 'Roses bask in fleeting sunlight',
|
|
0 commit comments