1- import { describe , expect , onTestFinished , test } from "vitest" ;
1+ import { describe , expect , test } from "vitest" ;
22
33import { ExifContent } from "./ExifContent.ts" ;
44import { ExifData } from "./ExifData.ts" ;
55import { ExifEntry } from "./ExifEntry.ts" ;
66import { getTestFixture } from "../__utils__/getTestFixture.ts" ;
7+ import { withDisposable } from "../__utils__/withDisposable.ts" ;
78import { ExifIfd } from "../enums/ExifIfd.ts" ;
89import { getEnumKeyFromValue } from "../utils/getEnumKeyFromValue.ts" ;
910
1011describe ( "ExifContent" , ( ) => {
1112 describe ( "ExifContent.new()" , ( ) => {
1213 test ( "should create a new ExifContent instance" , ( ) => {
13- const exifContent = ExifContent . new ( ) ;
14- onTestFinished ( ( ) => exifContent . free ( ) ) ;
14+ const exifContent = withDisposable ( ExifContent . new ( ) ) ;
1515 expect ( exifContent ) . toBeInstanceOf ( ExifContent ) ;
1616 expect ( exifContent . byteOffset ) . toBeGreaterThan ( 0 ) ;
1717 expect ( exifContent ) . toHaveProperty ( "entriesPtr" , 0 ) ;
@@ -28,8 +28,9 @@ describe("ExifContent", () => {
2828 test ( "should create an array of new ExifContent instances" , async ( ) => {
2929 const testFixture = await getTestFixture ( testFixtureFile ) ;
3030
31- const exifData = ExifData . newFromData ( testFixture . buffer ) ;
32- onTestFinished ( ( ) => exifData . free ( ) ) ;
31+ const exifData = withDisposable (
32+ ExifData . newFromData ( testFixture . buffer ) ,
33+ ) ;
3334 exifData . ifd . forEach ( ( exifContent , index ) => {
3435 expect ( exifContent ) . toBeInstanceOf ( ExifContent ) ;
3536 expect ( exifContent . byteOffset ) . toBeGreaterThan ( 0 ) ;
@@ -43,12 +44,10 @@ describe("ExifContent", () => {
4344 ) ;
4445 describe ( "exifContent.addEntry()" , ( ) => {
4546 test ( "should add an entry to ExifContent" , ( ) => {
46- const exifContent = ExifContent . new ( ) ;
47- onTestFinished ( ( ) => exifContent . free ( ) ) ;
47+ const exifContent = withDisposable ( ExifContent . new ( ) ) ;
4848 expect ( exifContent ) . toHaveProperty ( "count" , 0 ) ;
4949
50- const exifEntry = ExifEntry . new ( ) ;
51- onTestFinished ( ( ) => exifEntry . free ( ) ) ;
50+ const exifEntry = withDisposable ( ExifEntry . new ( ) ) ;
5251 exifContent . addEntry ( exifEntry ) ;
5352 expect ( exifContent . entriesPtr ) . toBeGreaterThan ( 0 ) ;
5453 expect ( exifContent ) . toHaveProperty ( "count" , 1 ) ;
@@ -64,26 +63,22 @@ describe("ExifContent", () => {
6463 } ) ;
6564 describe ( "exifContent.getEntry()" , ( ) => {
6665 test ( "should get an entry from ExifContent" , ( ) => {
67- const exifContent = ExifContent . new ( ) ;
68- onTestFinished ( ( ) => exifContent . free ( ) ) ;
66+ const exifContent = withDisposable ( ExifContent . new ( ) ) ;
67+ // withDisposable is not necessary since exifEntry now belongs to exifData
6968 const exifEntry = ExifEntry . new ( ) ;
70- onTestFinished ( ( ) => exifEntry . free ( ) ) ;
7169 exifEntry . tag = "IMAGE_DESCRIPTION" ;
7270 exifContent . addEntry ( exifEntry ) ;
7371 expect ( exifContent . getEntry ( "IMAGE_DESCRIPTION" ) ) . toEqual ( exifEntry ) ;
7472 } ) ;
7573 test ( "should return null if entry not found" , ( ) => {
76- const exifContent = ExifContent . new ( ) ;
77- onTestFinished ( ( ) => exifContent . free ( ) ) ;
74+ const exifContent = withDisposable ( ExifContent . new ( ) ) ;
7875 expect ( exifContent . getEntry ( "LATITUDE" ) ) . toBeNull ( ) ;
7976 } ) ;
8077 } ) ;
8178 describe ( "exifContent.removeEntry()" , ( ) => {
8279 test ( "should remove an entry from ExifContent" , ( ) => {
83- const exifContent = ExifContent . new ( ) ;
84- onTestFinished ( ( ) => exifContent . free ( ) ) ;
85- const exifEntry = ExifEntry . new ( ) ;
86- onTestFinished ( ( ) => exifEntry . free ( ) ) ;
80+ const exifContent = withDisposable ( ExifContent . new ( ) ) ;
81+ const exifEntry = withDisposable ( ExifEntry . new ( ) ) ;
8782 exifEntry . tag = "IMAGE_DESCRIPTION" ;
8883 exifContent . addEntry ( exifEntry ) ;
8984 expect ( exifContent . getEntry ( "IMAGE_DESCRIPTION" ) ) . toEqual ( exifEntry ) ;
@@ -94,11 +89,9 @@ describe("ExifContent", () => {
9489 } ) ;
9590 describe ( "exifContent.ifd" , ( ) => {
9691 test ( "should return correct ifd" , ( ) => {
92+ // withDisposable is not necessary since exifContent now belongs to exifData
9793 const exifContent = ExifContent . new ( ) ;
98- // Not necessary since exifContent now belongs to exifData
99- // onTestFinished(() => exifContent.free());
100- const exifData = ExifData . new ( ) ;
101- onTestFinished ( ( ) => exifData . free ( ) ) ;
94+ const exifData = withDisposable ( ExifData . new ( ) ) ;
10295
10396 expect ( exifContent ) . toHaveProperty ( "ifd" , null ) ;
10497 exifData . ifd [ 0 ] . free ( ) ;
0 commit comments