element-plus/packages/locale/__test__/locale.spec.ts
JeremyWuuuuu 48fd68bdf1 fix(locale): fix default translate method
- Fix the wrong logic of default translate method
2021-07-24 20:07:10 +08:00

35 lines
875 B
TypeScript

import { t, use, i18n, restoreHandler } from '../index'
import zhCn from '../lang/zh-cn'
import en from '../lang/en'
describe('Locale', () => {
test('t', () => {
expect(t('el.popconfirm.confirmButtonText')).toBe('Yes')
})
test('return key name if not defined', () => {
expect(t('el.popconfirm.someThing')).toBeUndefined()
})
test('use', () => {
use(zhCn)
expect(t('el.popconfirm.confirmButtonText')).toBe('确定')
use(en)
expect(t('el.popconfirm.confirmButtonText')).toBe('Yes')
})
test('external i18n function', () => {
const emptyKey = 'el.popconfirm.confirmButtonText'
const translator = jest.fn().mockImplementation(k => {
if (k === emptyKey) return ''
return k
})
i18n(translator)
const key = 'test'
expect(t(key)).toBe(key)
expect(t(emptyKey)).toBe('Yes')
restoreHandler()
})
})