11import type { PyodideInterface } from "pyodide" ;
22import { beforeEach , describe , it , expect } from "vitest" ;
33import { setupPyodideForTest } from "./utils" ;
4+ import { version } from "os" ;
45
56describe ( "import_transformers_js" , ( ) => {
67 let pyodide : PyodideInterface ;
@@ -9,42 +10,51 @@ describe("import_transformers_js", () => {
910 pyodide = await setupPyodideForTest ( ) ;
1011 } ) ;
1112
12- it ( "can import specific version of Transformers.js" , async ( ) => {
13- await pyodide . runPythonAsync (
14- `from transformers_js_py import import_transformers_js` ,
15- ) ;
16-
17- await pyodide . runPythonAsync (
18- `transformers = await import_transformers_js()` ,
19- ) ;
20- const versionLatest = await pyodide . runPythonAsync (
21- `transformers.env.version` ,
22- ) ;
13+ it ( "loads the latest version of Transformers.js by default" , async ( ) => {
2314 const expectedLatestVersion = await fetch (
24- "https://registry.npmjs.org/@xenova /transformers/latest" ,
15+ "https://registry.npmjs.org/@huggingface /transformers/latest" ,
2516 )
2617 . then ( ( response ) => response . json ( ) )
2718 . then ( ( json ) => json . version ) ;
28- expect ( versionLatest ) . toBe ( expectedLatestVersion ) ;
2919
3020 await pyodide . runPythonAsync (
31- `transformers = await import_transformers_js("2.4.2")` ,
32- ) ;
33- const version242 = await pyodide . runPythonAsync ( `transformers.env.version` ) ;
34- expect ( version242 ) . toBe ( "2.4.2" ) ;
21+ `
22+ from transformers_js_py import import_transformers_js
3523
36- await pyodide . runPythonAsync (
37- `transformers = await import_transformers_js("2.7.0") `,
24+ transformers = await import_transformers_js()
25+ ` ,
3826 ) ;
39- const version270 = await pyodide . runPythonAsync ( `transformers.env.version` ) ;
40- expect ( version270 ) . toBe ( "2.7.0" ) ;
4127
42- await pyodide . runPythonAsync (
43- `transformers = await import_transformers_js("https://cdn.jsdelivr.net/npm/@xenova/[email protected] ")` , 44- ) ;
45- const version2177 = await pyodide . runPythonAsync (
46- `transformers.env.version` ,
28+ expect ( pyodide . runPython ( `transformers.env.version` ) ) . toBe (
29+ expectedLatestVersion ,
4730 ) ;
48- expect ( version2177 ) . toBe ( "2.17.1" ) ;
31+ } ) ;
32+
33+ [
34+ { versionOrUrl : "2.4.2" , expectedVersion : "2.4.2" } ,
35+ { versionOrUrl : "2.7.0" , expectedVersion : "2.7.0" } ,
36+ {
37+ versionOrUrl :
"https://cdn.jsdelivr.net/npm/@xenova/[email protected] " , 38+ expectedVersion : "2.17.1" ,
39+ } ,
40+ { versionOrUrl : "3.0.0" , expectedVersion : "3.0.0" } ,
41+ {
42+ versionOrUrl :
43+ "https://cdn.jsdelivr.net/npm/@huggingface/[email protected] " , 44+ expectedVersion : "3.1.0" ,
45+ } ,
46+ ] . forEach ( ( { versionOrUrl, expectedVersion } ) => {
47+ it ( `can import specific version of Transformers.js. (${ versionOrUrl } => ${ expectedVersion } )` , async ( ) => {
48+ await pyodide . runPythonAsync (
49+ `from transformers_js_py import import_transformers_js` ,
50+ ) ;
51+
52+ await pyodide . runPythonAsync (
53+ `transformers = await import_transformers_js("${ versionOrUrl } ")` ,
54+ ) ;
55+ expect ( pyodide . runPython ( `transformers.env.version` ) ) . toBe (
56+ expectedVersion ,
57+ ) ;
58+ } ) ;
4959 } ) ;
5060} ) ;
0 commit comments