mirror of
https://github.com/cupcakearmy/svelte-i18n.git
synced 2024-11-16 18:10:43 +01:00
chore: 🤖 bump package json version
This commit is contained in:
parent
d59105b1fb
commit
09e883ffb5
8
.gitignore
vendored
8
.gitignore
vendored
@ -1,9 +1,5 @@
|
|||||||
node_modules
|
node_modules
|
||||||
*.log
|
*.log
|
||||||
dist/
|
/coverage/
|
||||||
coverage/
|
/dist/
|
||||||
<<<<<<< HEAD
|
|
||||||
/types/
|
/types/
|
||||||
=======
|
|
||||||
types/
|
|
||||||
>>>>>>> feat: 🎸 add runtime typings
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "svelte-i18n",
|
"name": "svelte-i18n",
|
||||||
"version": "2.2.4",
|
"version": "3.0.0-alpha.1",
|
||||||
"main": "dist/runtime.cjs.js",
|
"main": "dist/runtime.cjs.js",
|
||||||
"module": "dist/runtime.esm.js",
|
"module": "dist/runtime.esm.js",
|
||||||
"types": "types/runtime/index.d.ts",
|
"types": "types/runtime/index.d.ts",
|
||||||
|
@ -1,112 +0,0 @@
|
|||||||
<<<<<<< HEAD:test/runtime/stores/format.test.ts
|
|
||||||
import { Formatter } from '../../../src/runtime/types'
|
|
||||||
import { $format } from '../../../src/runtime/stores/format'
|
|
||||||
import { init } from '../../../src/runtime/configs'
|
|
||||||
import { addMessages } from '../../../src/runtime/stores/dictionary'
|
|
||||||
import { $locale } from '../../../src/runtime/stores/locale'
|
|
||||||
=======
|
|
||||||
import { get } from 'svelte/store'
|
|
||||||
|
|
||||||
import {
|
|
||||||
$format,
|
|
||||||
$formatTime,
|
|
||||||
$formatDate,
|
|
||||||
$formatNumber,
|
|
||||||
} from '../../../src/client/stores/formatters'
|
|
||||||
import { init } from '../../../src/client/configs'
|
|
||||||
import { addMessages } from '../../../src/client/stores/dictionary'
|
|
||||||
import { $locale } from '../../../src/client/stores/locale'
|
|
||||||
import { MessageFormatter } from '../../../src/client/types'
|
|
||||||
import {
|
|
||||||
TimeFormatter,
|
|
||||||
DateFormatter,
|
|
||||||
NumberFormatter,
|
|
||||||
} from '../../../src/client/types/index'
|
|
||||||
>>>>>>> feat: 🎸 make date,time and number formatters tree-shakeable:test/client/stores/formatters.test.ts
|
|
||||||
|
|
||||||
let formatMessage: MessageFormatter
|
|
||||||
let formatTime: TimeFormatter
|
|
||||||
let formatDate: DateFormatter
|
|
||||||
let formatNumber: NumberFormatter
|
|
||||||
$locale.subscribe(() => {
|
|
||||||
formatMessage = get($format)
|
|
||||||
formatTime = get($formatTime)
|
|
||||||
formatDate = get($formatDate)
|
|
||||||
formatNumber = get($formatNumber)
|
|
||||||
})
|
|
||||||
|
|
||||||
addMessages('en', require('../../fixtures/en.json'))
|
|
||||||
addMessages('en-GB', require('../../fixtures/en-GB.json'))
|
|
||||||
addMessages('pt', require('../../fixtures/pt.json'))
|
|
||||||
addMessages('pt-BR', require('../../fixtures/pt-BR.json'))
|
|
||||||
addMessages('pt-PT', require('../../fixtures/pt-PT.json'))
|
|
||||||
|
|
||||||
beforeEach(() => {
|
|
||||||
init({ fallbackLocale: 'en' })
|
|
||||||
})
|
|
||||||
|
|
||||||
test('formats a message by its id and the current locale', () => {
|
|
||||||
expect(formatMessage({ id: 'form.field_1_name' })).toBe('Name')
|
|
||||||
})
|
|
||||||
|
|
||||||
test('formats a message by its id and the a passed locale', () => {
|
|
||||||
expect(formatMessage({ id: 'form.field_1_name', locale: 'pt' })).toBe('Nome')
|
|
||||||
})
|
|
||||||
|
|
||||||
test('formats a message with interpolated values', () => {
|
|
||||||
expect(formatMessage({ id: 'photos', values: { n: 0 } })).toBe(
|
|
||||||
'You have no photos.'
|
|
||||||
)
|
|
||||||
expect(formatMessage({ id: 'photos', values: { n: 1 } })).toBe(
|
|
||||||
'You have one photo.'
|
|
||||||
)
|
|
||||||
expect(formatMessage({ id: 'photos', values: { n: 21 } })).toBe(
|
|
||||||
'You have 21 photos.'
|
|
||||||
)
|
|
||||||
})
|
|
||||||
|
|
||||||
test('accepts a message id as first argument', () => {
|
|
||||||
expect(formatMessage('form.field_1_name')).toBe('Name')
|
|
||||||
})
|
|
||||||
|
|
||||||
test('accepts a message id as first argument and formatting options as second', () => {
|
|
||||||
expect(formatMessage('form.field_1_name', { locale: 'pt' })).toBe('Nome')
|
|
||||||
})
|
|
||||||
|
|
||||||
test('throws if no locale is set', () => {
|
|
||||||
$locale.set(null)
|
|
||||||
expect(() => formatMessage('form.field_1_name')).toThrow(
|
|
||||||
'[svelte-i18n] Cannot format a message without first setting the initial locale.'
|
|
||||||
)
|
|
||||||
})
|
|
||||||
|
|
||||||
test('uses a missing message default value', () => {
|
|
||||||
expect(formatMessage('missing', { default: 'Missing Default' })).toBe(
|
|
||||||
'Missing Default'
|
|
||||||
)
|
|
||||||
})
|
|
||||||
|
|
||||||
test('warn on missing messages', () => {
|
|
||||||
const warn = global.console.warn
|
|
||||||
global.console.warn = jest.fn()
|
|
||||||
|
|
||||||
formatMessage('missing')
|
|
||||||
|
|
||||||
expect(console.warn).toBeCalledWith(
|
|
||||||
`[svelte-i18n] The message "missing" was not found in "en".`
|
|
||||||
)
|
|
||||||
|
|
||||||
global.console.warn = warn
|
|
||||||
})
|
|
||||||
|
|
||||||
describe('format utilities', () => {
|
|
||||||
test('time', () => {
|
|
||||||
expect(formatTime(new Date(2019, 0, 1, 20, 37))).toBe('8:37 PM')
|
|
||||||
})
|
|
||||||
test('date', () => {
|
|
||||||
expect(formatDate(new Date(2019, 0, 1, 20, 37))).toBe('1/1/19')
|
|
||||||
})
|
|
||||||
test('number', () => {
|
|
||||||
expect(formatNumber(123123123)).toBe('123,123,123')
|
|
||||||
})
|
|
||||||
})
|
|
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
import { get } from 'svelte/store'
|
import { get } from 'svelte/store'
|
||||||
|
|
||||||
import {
|
import {
|
||||||
@ -10,13 +9,13 @@ import {
|
|||||||
import { init } from '../../../src/runtime/configs'
|
import { init } from '../../../src/runtime/configs'
|
||||||
import { addMessages } from '../../../src/runtime/stores/dictionary'
|
import { addMessages } from '../../../src/runtime/stores/dictionary'
|
||||||
import { $locale } from '../../../src/runtime/stores/locale'
|
import { $locale } from '../../../src/runtime/stores/locale'
|
||||||
import { MessageFormatter ,
|
import {
|
||||||
|
MessageFormatter,
|
||||||
TimeFormatter,
|
TimeFormatter,
|
||||||
DateFormatter,
|
DateFormatter,
|
||||||
NumberFormatter,
|
NumberFormatter,
|
||||||
} from '../../../src/runtime/types'
|
} from '../../../src/runtime/types'
|
||||||
|
|
||||||
|
|
||||||
let formatMessage: MessageFormatter
|
let formatMessage: MessageFormatter
|
||||||
let formatTime: TimeFormatter
|
let formatTime: TimeFormatter
|
||||||
let formatDate: DateFormatter
|
let formatDate: DateFormatter
|
||||||
|
Loading…
Reference in New Issue
Block a user