123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- // Copyright (c) Jupyter Development Team.
- // Distributed under the terms of the Modified BSD License.
- import { Gettext } from '@jupyterlab/translation';
- let JSON_TEST_DATA = {
- '': {
- domain: 'jupyterlab',
- language: 'es',
- pluralForms: 'nplurals=2; plural=n>1;',
- version: '2.2.0rc1'
- },
- Welcome: ['Bienvenido'],
- 'Welcome %1': ['Bienvenido %1'],
- 'Context\u0004Welcome': ['Hola'],
- 'Context\u0004Welcome %1': ['Hola %1'],
- 'There is %1 apple': ['Hay %1 manzana', 'Hay %1 manzanas'],
- 'There is %1 apple, %2!': ['Hay %1 manzana, %2!', 'Hay %1 manzanas, %2!']
- };
- let JSON_TEST_DATA_VARIATION = {
- '': {
- domain: 'jupyterlab',
- language: 'es-CO',
- pluralForms: 'nplurals=2; plural=n>1;',
- version: '2.2.0rc1'
- },
- Welcome: ['Bienvenido pirobo']
- };
- describe('@jupyterlab/translation', () => {
- const trans = new Gettext({ domain: 'jupyterlab', locale: 'es' });
- trans.loadJSON(JSON_TEST_DATA, 'jupyterlab');
- trans.loadJSON(JSON_TEST_DATA_VARIATION, 'jupyterlab');
- describe('Gettext', () => {
- describe('#gettext', () => {
- it('should test whether the gettext bundle gettext/__ works', () => {
- // Shorthand method
- expect(trans.__('Welcome')).toBe('Bienvenido');
- expect(trans.__('Welcome %1', 'Joe')).toBe('Bienvenido Joe');
- // Normal method
- expect(trans.gettext('Welcome')).toBe('Bienvenido');
- expect(trans.gettext('Welcome %1', 'Joe')).toBe('Bienvenido Joe');
- });
- });
- describe('#pgettext', () => {
- it('should test whether the gettext bundle pgettext/_p works', () => {
- // Shorthand method
- expect(trans._p('Context', 'Welcome')).toBe('Hola');
- expect(trans._p('Context', 'Welcome %1', 'Joe')).toBe('Hola Joe');
- // Normal method
- expect(trans.pgettext('Context', 'Welcome')).toBe('Hola');
- expect(trans.pgettext('Context', 'Welcome %1', 'Joe')).toBe('Hola Joe');
- });
- });
- describe('#ngettext', () => {
- it('should test whether the gettext bundle ngettext/_n works', () => {
- // Shorthand method
- expect(trans._n('There is %1 apple', 'There are %1 apples', 1)).toBe(
- 'Hay 1 manzana'
- );
- expect(trans._n('There is %1 apple', 'There are %1 apples', 2)).toBe(
- 'Hay 2 manzanas'
- );
- expect(
- trans._n('There is %1 apple, %2!', 'I have %1 apples %2', 1, 'Joe')
- ).toBe('Hay 1 manzana, Joe!');
- expect(
- trans._n('There is %1 apple, %2!', 'I have %1 apples %2', 2, 'Joe')
- ).toBe('Hay 2 manzanas, Joe!');
- // Normal method
- expect(
- trans.ngettext('There is %1 apple', 'There are %1 apples', 1)
- ).toBe('Hay 1 manzana');
- expect(
- trans.ngettext('There is %1 apple', 'There are %1 apples', 2)
- ).toBe('Hay 2 manzanas');
- expect(
- trans.ngettext(
- 'There is %1 apple, %2!',
- 'I have %1 apples %2',
- 1,
- 'Joe'
- )
- ).toBe('Hay 1 manzana, Joe!');
- expect(
- trans.ngettext(
- 'There is %1 apple, %2!',
- 'I have %1 apples %2',
- 2,
- 'Joe'
- )
- ).toBe('Hay 2 manzanas, Joe!');
- });
- });
- describe('#fallbackLocale', () => {
- it('should test whether the gettext bundle pgettext/_p works', () => {
- trans.setLocale('es-CO');
- // Shorthand method
- expect(trans.__('Welcome')).toBe('Bienvenido pirobo');
- // Normal method
- expect(trans.gettext('Welcome')).toBe('Bienvenido pirobo');
- });
- });
- });
- });
|