mirror of
https://github.com/nolanlawson/emoji-picker-element.git
synced 2024-06-11 20:47:48 +02:00
test: improve test coverage (#74)
This commit is contained in:
parent
c72bb44a28
commit
9fe31d9a57
|
@ -130,9 +130,7 @@ export default class Database {
|
|||
try {
|
||||
await this._lazyUpdate // allow any lazy updates to process before closing/deleting
|
||||
} catch (err) { /* ignore network errors (offline-first) */ }
|
||||
if (this._db) {
|
||||
return true // we need to actually run the close/delete logic, so we return true
|
||||
}
|
||||
return !!this._db // return true if we need to actually run the close/delete logic
|
||||
}
|
||||
|
||||
// clear references to IDB, e.g. during a close event
|
||||
|
|
|
@ -46,7 +46,7 @@ export function trie (arr, itemToTokens) {
|
|||
|
||||
const results = []
|
||||
// traverse
|
||||
const queue = currentMap ? [currentMap] : []
|
||||
const queue = [currentMap]
|
||||
while (queue.length) {
|
||||
const currentMap = queue.shift()
|
||||
const entriesSortedByKey = [...currentMap.entries()].sort((a, b) => a[0] < b[0] ? -1 : 1)
|
||||
|
|
|
@ -11,6 +11,7 @@ export const emojiSupportLevelPromise = new Promise(resolve => (
|
|||
// are supported (rendered as one glyph) rather than unsupported (rendered as two or more glyphs)
|
||||
export const supportedZwjEmojis = new Map()
|
||||
|
||||
/* istanbul ignore else */
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
emojiSupportLevelPromise.then(emojiSupportLevel => {
|
||||
log('emoji support level', emojiSupportLevel)
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
/* istanbul ignore next */
|
||||
const rIC = typeof requestIdleCallback === 'function' ? requestIdleCallback : setTimeout
|
||||
|
||||
export { rIC as requestIdleCallback }
|
||||
|
|
|
@ -238,4 +238,20 @@ describe('database tests', () => {
|
|||
|
||||
await tick(20)
|
||||
})
|
||||
|
||||
test('close in db2 after deletion in db1', async () => {
|
||||
const dataSource = ALL_EMOJI
|
||||
const db = new Database({ dataSource })
|
||||
const db2 = new Database({ dataSource })
|
||||
await Promise.all([db.delete(), db2.close()])
|
||||
await tick(40)
|
||||
})
|
||||
|
||||
test('delete in db2 after deletion in db1', async () => {
|
||||
const dataSource = ALL_EMOJI
|
||||
const db = new Database({ dataSource })
|
||||
const db2 = new Database({ dataSource })
|
||||
await Promise.all([db.delete(), db2.delete()])
|
||||
await tick(40)
|
||||
})
|
||||
})
|
||||
|
|
|
@ -47,5 +47,6 @@ describe('skin tones tests', () => {
|
|||
expect(applySkinTone('🧘♀️', 3)).toBe('🧘🏽♀️')
|
||||
expect(applySkinTone('🤌', 2)).toBe('🤌🏼')
|
||||
expect(applySkinTone('🖐️', 5)).toBe('🖐🏿')
|
||||
expect(applySkinTone('👨🦰', 4)).toBe('👨🏾🦰')
|
||||
})
|
||||
})
|
Loading…
Reference in a new issue