1e484b35bSopenharmony_ci/* 2e484b35bSopenharmony_ci * Copyright (c) 2021 Huawei Device Co., Ltd. 3e484b35bSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4e484b35bSopenharmony_ci * you may not use this file except in compliance with the License. 5e484b35bSopenharmony_ci * You may obtain a copy of the License at 6e484b35bSopenharmony_ci * 7e484b35bSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8e484b35bSopenharmony_ci * 9e484b35bSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10e484b35bSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11e484b35bSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12e484b35bSopenharmony_ci * See the License for the specific language governing permissions and 13e484b35bSopenharmony_ci * limitations under the License. 14e484b35bSopenharmony_ci */ 15e484b35bSopenharmony_ci 16e484b35bSopenharmony_ciimport chai from 'chai'; 17e484b35bSopenharmony_ciimport { 18e484b35bSopenharmony_ci describe, 19e484b35bSopenharmony_ci it, 20e484b35bSopenharmony_ci} from 'mocha'; 21e484b35bSopenharmony_ciimport { 22e484b35bSopenharmony_ci fakeLog, 23e484b35bSopenharmony_ci fakeLogRestore 24e484b35bSopenharmony_ci} from '../../fakeLog'; 25e484b35bSopenharmony_ciimport dpi from '../../../runtime/main/extend/dpi'; 26e484b35bSopenharmony_ci 27e484b35bSopenharmony_ciconst expect = chai.expect; 28e484b35bSopenharmony_ci 29e484b35bSopenharmony_cidescribe('api of dpi', () => { 30e484b35bSopenharmony_ci fakeLog(); 31e484b35bSopenharmony_ci 32e484b35bSopenharmony_ci const dpiOptions = { 33e484b35bSopenharmony_ci images: [ 34e484b35bSopenharmony_ci { 35e484b35bSopenharmony_ci 'image': { 36e484b35bSopenharmony_ci 'wearable': 'common/wearable.png', 37e484b35bSopenharmony_ci 'computer': 'image/computer.jpg', 38e484b35bSopenharmony_ci 'object': { 39e484b35bSopenharmony_ci 'image0': 'common/wearable.png', 40e484b35bSopenharmony_ci 'image1': 'image/computer.jpg' 41e484b35bSopenharmony_ci }, 42e484b35bSopenharmony_ci 'array': [ 43e484b35bSopenharmony_ci 'common/wearable.png', 44e484b35bSopenharmony_ci 'image/computer.jpg' 45e484b35bSopenharmony_ci ] 46e484b35bSopenharmony_ci } 47e484b35bSopenharmony_ci } 48e484b35bSopenharmony_ci ] 49e484b35bSopenharmony_ci }; 50e484b35bSopenharmony_ci 51e484b35bSopenharmony_ci const Dpi = dpi.dpi.create(0).instance.dpi; 52e484b35bSopenharmony_ci const dpiInstance = new Dpi(dpiOptions); 53e484b35bSopenharmony_ci 54e484b35bSopenharmony_ci describe('dpi', () => { 55e484b35bSopenharmony_ci it('$r(path)', () => { 56e484b35bSopenharmony_ci expect(dpiInstance.$r).to.be.an.instanceof(Function); 57e484b35bSopenharmony_ci expect(dpiInstance.$r('image.wearable')).eql('common/wearable.png'); 58e484b35bSopenharmony_ci expect(dpiInstance.$r('image.com')).eql('image.com'); 59e484b35bSopenharmony_ci expect(dpiInstance.$r('image.object')).eql({ 60e484b35bSopenharmony_ci 'image0': 'common/wearable.png', 61e484b35bSopenharmony_ci 'image1': 'image/computer.jpg' 62e484b35bSopenharmony_ci }); 63e484b35bSopenharmony_ci expect(dpiInstance.$r('image.array')[0]).eql('common/wearable.png'); 64e484b35bSopenharmony_ci expect(dpiInstance.$r(null)).to.be.undefined; 65e484b35bSopenharmony_ci expect(dpiInstance.$r(undefined)).to.be.undefined; 66e484b35bSopenharmony_ci }); 67e484b35bSopenharmony_ci 68e484b35bSopenharmony_ci // @ts-ignore 69e484b35bSopenharmony_ci expect(dpiInstance.$r(1)).to.be.undefined; 70e484b35bSopenharmony_ci }); 71e484b35bSopenharmony_ci 72e484b35bSopenharmony_ci fakeLogRestore(); 73e484b35bSopenharmony_ci}); 74