xref: /third_party/jsframework/test/ut/extend/dpi.ts (revision e484b35b)
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