Release Android Preview 21 and bilingual changelog
Add permission-based reading of Android contacts, SMS and call history. Include shared Gaia fixes and document device validation limits. Pixel image qualification remains pending.
This commit is contained in:
parent
1c20a0b6d5
commit
200d1fb235
43 changed files with 2271 additions and 65 deletions
24
tests/keyboard-dictionaries.test.mjs
Normal file
24
tests/keyboard-dictionaries.test.mjs
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
import test from 'node:test';
|
||||
import assert from 'node:assert/strict';
|
||||
import vm from 'node:vm';
|
||||
import {readFileSync} from 'node:fs';
|
||||
const root=new URL('../',import.meta.url);
|
||||
const source=readFileSync(new URL('gaia/apps/keyboard/js/settings/layout_dictionary_downloader.js',root),'utf8');
|
||||
test('every offered Latin dictionary is present and has a valid header',()=>{
|
||||
const layouts=JSON.parse(readFileSync(new URL('assets/webapps/keyboard.gaiamobile.org/js/settings/layouts.json',root)));
|
||||
for(const name of new Set(layouts.filter(l=>l.imEngineId==='latin'&&l.dictFilename).map(l=>l.dictFilename))){
|
||||
const data=readFileSync(new URL('gaia/apps/keyboard/js/imes/latin/dictionaries/'+name,root));
|
||||
assert.equal(data.subarray(0,8).toString(),'FxOSDICT',name);
|
||||
}
|
||||
});
|
||||
test('adding a language reads and verifies its local dictionary',async()=>{
|
||||
let requested,aborted=false;
|
||||
class XHR {
|
||||
open(method,url){requested=url;}
|
||||
send(){const b=readFileSync(new URL('gaia/apps/keyboard'+requested,root));this.response=b.buffer.slice(b.byteOffset,b.byteOffset+b.byteLength);this.onloadend();}
|
||||
abort(){aborted=true;}
|
||||
}
|
||||
const window={};vm.runInNewContext(source,{window,XMLHttpRequest:XHR,ArrayBuffer,Uint8Array,Promise});
|
||||
const data=await new window.LayoutDictionaryDownloader('latin','it.dict').load();
|
||||
assert.equal(requested,'/js/imes/latin/dictionaries/it.dict');assert.ok(data.byteLength>8);assert.equal(aborted,false);
|
||||
});
|
||||
Loading…
Reference in a new issue