|
|
|
@ -110,67 +110,4 @@ describe('OC.L10N tests', function() { |
|
|
|
|
checkPlurals(); |
|
|
|
|
}); |
|
|
|
|
}); |
|
|
|
|
describe('async loading of translations', function() { |
|
|
|
|
afterEach(() => { |
|
|
|
|
document.documentElement.removeAttribute('data-locale') |
|
|
|
|
}) |
|
|
|
|
it('loads bundle for given app and calls callback', function(done) { |
|
|
|
|
document.documentElement.setAttribute('data-locale', 'zh_CN') |
|
|
|
|
var callbackStub = sinon.stub(); |
|
|
|
|
var promiseStub = sinon.stub(); |
|
|
|
|
var loading = OC.L10N.load(TEST_APP, callbackStub); |
|
|
|
|
expect(callbackStub.notCalled).toEqual(true); |
|
|
|
|
var req = fakeServer.requests[0]; |
|
|
|
|
|
|
|
|
|
console.warn('fff-', window.OC.appswebroots) |
|
|
|
|
loading |
|
|
|
|
.then(promiseStub) |
|
|
|
|
.then(function() { |
|
|
|
|
expect(fakeServer.requests.length).toEqual(1); |
|
|
|
|
expect(req.url).toEqual( |
|
|
|
|
OC.getRootPath() + '/apps3/' + TEST_APP + '/l10n/zh_CN.json' |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
expect(callbackStub.calledOnce).toEqual(true); |
|
|
|
|
expect(promiseStub.calledOnce).toEqual(true); |
|
|
|
|
expect(t(TEST_APP, 'Hello world!')).toEqual('你好世界!'); |
|
|
|
|
}) |
|
|
|
|
.then(done) |
|
|
|
|
.catch(e => expect(e).toBe('No error expected!')); |
|
|
|
|
|
|
|
|
|
expect(promiseStub.notCalled).toEqual(true); |
|
|
|
|
req.respond( |
|
|
|
|
200, |
|
|
|
|
{ 'Content-Type': 'application/json' }, |
|
|
|
|
JSON.stringify({ |
|
|
|
|
translations: {'Hello world!': '你好世界!'}, |
|
|
|
|
pluralForm: 'nplurals=2; plural=(n != 1);' |
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
}); |
|
|
|
|
it('calls callback if translation already available', function(done) { |
|
|
|
|
var callbackStub = sinon.stub(); |
|
|
|
|
spyOn(console, 'warn'); |
|
|
|
|
OC.L10N.register(TEST_APP, { |
|
|
|
|
'Hello world!': 'Hallo Welt!' |
|
|
|
|
}); |
|
|
|
|
OC.L10N.load(TEST_APP, callbackStub) |
|
|
|
|
.then(function() { |
|
|
|
|
expect(callbackStub.calledOnce).toEqual(true); |
|
|
|
|
expect(fakeServer.requests.length).toEqual(0); |
|
|
|
|
}) |
|
|
|
|
.then(done); |
|
|
|
|
|
|
|
|
|
}); |
|
|
|
|
it('calls callback if locale is en', function(done) { |
|
|
|
|
var callbackStub = sinon.stub(); |
|
|
|
|
OC.L10N.load(TEST_APP, callbackStub) |
|
|
|
|
.then(function() { |
|
|
|
|
expect(callbackStub.calledOnce).toEqual(true); |
|
|
|
|
expect(fakeServer.requests.length).toEqual(0); |
|
|
|
|
}) |
|
|
|
|
.then(done) |
|
|
|
|
.catch(done); |
|
|
|
|
}); |
|
|
|
|
}); |
|
|
|
|
}); |
|
|
|
|