Skip to content

Commit 867f085

Browse files
committed
test: v2.1.0
1 parent 931ff60 commit 867f085

File tree

2 files changed

+51
-43
lines changed

2 files changed

+51
-43
lines changed

test/fixtures/main.ts

Lines changed: 40 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,49 @@
1+
import path from 'node:path'
2+
13
// TODO: https://github.com/serialport/node-serialport/issues/2464
24
// import * as serialport from 'serialport'
35
import * as fsevents from 'fsevents'
46
import sqlite3 from 'sqlite3'
5-
import better_sqlite3 from 'better-sqlite3'
7+
import BetterSqlite3 from 'better-sqlite3'
68

79
export {
810
fsevents,
911
sqlite3,
10-
better_sqlite3,
12+
}
13+
14+
const root = path.join(__dirname, '..')
15+
16+
export function initSqlite3() {
17+
const sqlite3_db = path.join(root, 'db/sqlite3.db')
18+
19+
return new Promise<{
20+
database: import('sqlite3').Database
21+
error: Error | null
22+
}>(resolve => {
23+
const db = new (sqlite3.verbose().Database)(sqlite3_db, error => {
24+
resolve({
25+
database: db,
26+
error,
27+
})
28+
})
29+
})
30+
}
31+
32+
export function initBetterSqlite3() {
33+
const better_sqlite3_db = path.join(root, 'db/better-sqlite3.db')
34+
35+
return new Promise<{
36+
database: import('better-sqlite3').Database
37+
error: Error | null
38+
}>(resolve => {
39+
const db = new BetterSqlite3(better_sqlite3_db, { verbose: console.log })
40+
// https://github.com/WiseLibs/better-sqlite3/blob/v11.1.0/docs/api.md#pragmastring-options---results
41+
db.pragma('cache_size = 32000')
42+
resolve({
43+
database: db,
44+
error: db.pragma('cache_size', { simple: true }) === 32000
45+
? null
46+
: new Error('better-sqlite3 initialize failed'),
47+
})
48+
})
1149
}

test/index.test.ts

Lines changed: 11 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -9,41 +9,6 @@ import {
99

1010
const root = path.join(__dirname, 'fixtures')
1111

12-
function initSqlite3(sqlite3: typeof import('sqlite3')) {
13-
const sqlite3_db = path.join(root, 'db/sqlite3.db')
14-
15-
return new Promise<{
16-
database: import('sqlite3').Database
17-
error: Error | null
18-
}>(resolve => {
19-
const db = new (sqlite3.verbose().Database)(sqlite3_db, error => {
20-
resolve({
21-
database: db,
22-
error,
23-
})
24-
})
25-
})
26-
}
27-
28-
function initBetterSqlite3(BetterSqlite3: typeof import('better-sqlite3')) {
29-
const better_sqlite3_db = path.join(root, 'db/better-sqlite3.db')
30-
31-
return new Promise<{
32-
database: import('better-sqlite3').Database
33-
error: Error | null
34-
}>(resolve => {
35-
const db = new BetterSqlite3(better_sqlite3_db, { verbose: console.log })
36-
// https://github.com/WiseLibs/better-sqlite3/blob/v11.1.0/docs/api.md#pragmastring-options---results
37-
db.pragma('cache_size = 32000')
38-
resolve({
39-
database: db,
40-
error: db.pragma('cache_size', { simple: true }) === 32000
41-
? null
42-
: new Error('better-sqlite3 initialize failed'),
43-
})
44-
})
45-
}
46-
4712
beforeAll(async () => {
4813
for (const name of ['dist', 'db']) {
4914
fs.rmSync(path.join(root, name), { recursive: true, force: true })
@@ -57,16 +22,21 @@ test('vite-plugin-native', async () => {
5722
const main = require('./fixtures/dist/main')
5823
const fsevents = main.fsevents
5924
const sqlite3 = main.sqlite3
60-
const sqlite3DB = await initSqlite3(main.sqlite3)
61-
const better_sqlite3DB = await initBetterSqlite3(main.better_sqlite3)
25+
const sqlite3DB = await main.initSqlite3()
26+
const better_sqlite3DB = await main.initBetterSqlite3()
27+
28+
const fseventsKeys1 = Object.getOwnPropertyNames(fsevents).filter(name => name !== 'default')
29+
// esm export members will be auto sort.
30+
const fseventsKeys2 = Object.getOwnPropertyNames(require('fsevents')).sort((a, b) => a.localeCompare(b))
31+
expect(fseventsKeys1).toEqual(fseventsKeys2)
6232

63-
expect(Object.getOwnPropertyNames(fsevents).filter(name => name !== 'default').reverse())
64-
.toEqual(Object.getOwnPropertyNames(require('fsevents')))
33+
const sqlite3Keys1 = Object.getOwnPropertyNames(sqlite3).filter(name => name !== 'default')
6534
// `require('sqlite3').path` will only be available after call `initSqlite3()`.
66-
expect(Object.getOwnPropertyNames(sqlite3).filter(name => name !== 'default'))
67-
.toEqual(Object.getOwnPropertyNames(require('sqlite3')).filter(name => name !== 'path'))
35+
const sqlite3Keys2 = Object.getOwnPropertyNames(require('sqlite3')).filter(name => name !== 'path')
36+
expect(sqlite3Keys1).toEqual(sqlite3Keys2)
6837
expect(sqlite3DB.database && typeof sqlite3DB.database).eq('object')
6938
expect(sqlite3DB.error).null
39+
7040
expect(better_sqlite3DB.database && typeof better_sqlite3DB.database).eq('object')
7141
expect(better_sqlite3DB.error).null
7242
})

0 commit comments

Comments
 (0)