import Vue from 'vue'; import Translate from '~/vue_shared/translate'; Vue.use(Translate); describe('Vue translate filter', () => { let el; beforeEach(() => { el = document.createElement('div'); document.body.appendChild(el); }); it('translate single text', (done) => { const comp = new Vue({ el, template: ` {{ __('testing') }} `, }).$mount(); Vue.nextTick(() => { expect( comp.$el.textContent.trim(), ).toBe('testing'); done(); }); }); it('translate plural text with single count', (done) => { const comp = new Vue({ el, template: ` {{ n__('%d day', '%d days', 1) }} `, }).$mount(); Vue.nextTick(() => { expect( comp.$el.textContent.trim(), ).toBe('1 day'); done(); }); }); it('translate plural text with multiple count', (done) => { const comp = new Vue({ el, template: ` {{ n__('%d day', '%d days', 2) }} `, }).$mount(); Vue.nextTick(() => { expect( comp.$el.textContent.trim(), ).toBe('2 days'); done(); }); }); it('translate plural without replacing any text', (done) => { const comp = new Vue({ el, template: ` {{ n__('day', 'days', 2) }} `, }).$mount(); Vue.nextTick(() => { expect( comp.$el.textContent.trim(), ).toBe('days'); done(); }); }); });