• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2023 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from 'deccjsunit/index';
17import UDC from '@ohos.data.unifiedDataChannel';
18import UTD from '@ohos.data.uniformTypeDescriptor';
19
20const TEST_BUNDLE_NAME = 'MyBundleName';
21const KEY_TEST_ELEMENT = 'TestKey';
22const VALUE_TEST_ELEMENT = 'TestValue';
23const TEST_ID = 123456;
24const TEST_ABILITY_NAME = 'MyAbilityName';
25const TEST_MODULE = 'MyModule';
26
27let U8_ARRAY = new Uint8Array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
28
29describe('UdmfJSTest', function () {
30
31  /**
32   * @tc.name UdmfTextTest
33   * @tc.desc Test Js Api Text testcase
34   * @tc.type: FUNC
35   * @tc.require: issueNumber
36   */
37  it('UdmfTextTest', 0, function () {
38    console.info('UdmfTextTest start');
39    let text = new UDC.Text();
40    text.details = {
41      Key: 'text' + KEY_TEST_ELEMENT,
42      Value: 'text' + VALUE_TEST_ELEMENT,
43    };
44    let unifiedData = new UDC.UnifiedData(text);
45    let records = unifiedData.getRecords();
46    expect(records.length).assertEqual(1);
47    expect(records[0].details.Key).assertEqual('text' + KEY_TEST_ELEMENT);
48    expect(records[0].details.Value).assertEqual('text' + VALUE_TEST_ELEMENT);
49    console.info('UdmfTextTest end');
50  });
51
52  /**
53   * @tc.name UdmfPlainTextTest
54   * @tc.desc Test Js Api PlainText testcase
55   * @tc.type: FUNC
56   * @tc.require: issueNumber
57   */
58  it('UdmfPlainTextTest', 0, function () {
59    console.info('UdmfPlainTextTest start');
60    let plainText = new UDC.PlainText();
61    plainText.details = {
62      Key: 'text' + KEY_TEST_ELEMENT,
63      Value: 'text' + VALUE_TEST_ELEMENT,
64    };
65    plainText.textContent = 'textContent';
66    plainText.abstract = 'abstract';
67    let unifiedData = new UDC.UnifiedData(plainText);
68    let records = unifiedData.getRecords();
69    expect(records.length).assertEqual(1);
70    expect(records[0].details.Key).assertEqual('text' + KEY_TEST_ELEMENT);
71    expect(records[0].details.Value).assertEqual('text' + VALUE_TEST_ELEMENT);
72    expect(records[0].textContent).assertEqual('textContent');
73    expect(records[0].abstract).assertEqual('abstract');
74    console.info('UdmfPlainTextTest end');
75  });
76
77  /**
78   * @tc.name UdmfHyperlinkTest
79   * @tc.desc Test Js Api Hyperlink testcase
80   * @tc.type: FUNC
81   * @tc.require: issueNumber
82   */
83  it('UdmfHyperlinkTest', 0, function () {
84    console.info('UdmfHyperlinkTest start');
85    let link = new UDC.Hyperlink();
86    link.details = {
87      Key: 'link' + KEY_TEST_ELEMENT,
88      Value: 'link' + VALUE_TEST_ELEMENT,
89    };
90    link.url = 'url';
91    link.description = 'description';
92    let unifiedData = new UDC.UnifiedData(link);
93    let records = unifiedData.getRecords();
94    expect(records.length).assertEqual(1);
95    expect(records[0].details.Key).assertEqual('link' + KEY_TEST_ELEMENT);
96    expect(records[0].details.Value).assertEqual('link' + VALUE_TEST_ELEMENT);
97    expect(records[0].url).assertEqual('url');
98    expect(records[0].description).assertEqual('description');
99    console.info('UdmfHyperlinkTest end');
100  });
101
102  /**
103   * @tc.name UdmfHtmlTest
104   * @tc.desc Test Js Api HTML testcase
105   * @tc.type: FUNC
106   * @tc.require: issueNumber
107   */
108  it('UdmfHtmlTest', 0, function () {
109    console.info('UdmfHtmlTest start');
110    let html = new UDC.HTML();
111    html.details = {
112      Key: 'html' + KEY_TEST_ELEMENT,
113      Value: 'html' + VALUE_TEST_ELEMENT,
114    };
115    html.htmlContent = 'htmlContent';
116    html.plainContent = 'plainContent';
117    let unifiedData = new UDC.UnifiedData(html);
118    let records = unifiedData.getRecords();
119    expect(records.length).assertEqual(1);
120    expect(records[0].details.Key).assertEqual('html' + KEY_TEST_ELEMENT);
121    expect(records[0].details.Value).assertEqual('html' + VALUE_TEST_ELEMENT);
122    expect(records[0].htmlContent).assertEqual('htmlContent');
123    expect(records[0].plainContent).assertEqual('plainContent');
124    console.info('UdmfHtmlTest end');
125  });
126
127  /**
128   * @tc.name UdmfFileTest
129   * @tc.desc Test Js Api File testcase
130   * @tc.type: FUNC
131   * @tc.require: issueNumber
132   */
133  it('UdmfFileTest', 0, function () {
134    console.info('UdmfFileTest start');
135    let file = new UDC.File();
136    file.details = {
137      Key: 'file' + KEY_TEST_ELEMENT,
138      Value: 'file' + VALUE_TEST_ELEMENT,
139    };
140    file.uri = 'uri';
141    let unifiedData = new UDC.UnifiedData(file);
142    let records = unifiedData.getRecords();
143    expect(records.length).assertEqual(1);
144    expect(records[0].details.Key).assertEqual('file' + KEY_TEST_ELEMENT);
145    expect(records[0].details.Value).assertEqual('file' + VALUE_TEST_ELEMENT);
146    expect(records[0].uri).assertEqual('uri');
147    console.info('UdmfFileTest end');
148  });
149
150  /**
151   * @tc.name UdmfFolderTest
152   * @tc.desc Test Js Api Folder testcase
153   * @tc.type: FUNC
154   * @tc.require: issueNumber
155   */
156  it('UdmfFolderTest', 0, function () {
157    console.info('UdmfFolderTest start');
158    let folder = new UDC.Folder();
159    folder.details = {
160      Key: 'folder' + KEY_TEST_ELEMENT,
161      Value: 'folder' + VALUE_TEST_ELEMENT,
162    };
163    folder.uri = 'folderUri';
164    let unifiedData = new UDC.UnifiedData(folder);
165    let records = unifiedData.getRecords();
166    expect(records.length).assertEqual(1);
167    expect(records[0].details.Key).assertEqual('folder' + KEY_TEST_ELEMENT);
168    expect(records[0].details.Value).assertEqual('folder' + VALUE_TEST_ELEMENT);
169    expect(records[0].uri).assertEqual('folderUri');
170    console.info('UdmfFolderTest end');
171  });
172
173  /**
174   * @tc.name UdmfImageTest
175   * @tc.desc Test Js Api Image testcase
176   * @tc.type: FUNC
177   * @tc.require: issueNumber
178   */
179  it('UdmfImageTest', 0, function () {
180    console.info('UdmfImageTest start');
181    let image = new UDC.Image();
182    image.details = {
183      Key: 'image' + KEY_TEST_ELEMENT,
184      Value: 'image' + VALUE_TEST_ELEMENT,
185    };
186    image.imageUri = 'imageUri';
187    let unifiedData = new UDC.UnifiedData(image);
188    let records = unifiedData.getRecords();
189    expect(records.length).assertEqual(1);
190    expect(records[0].details.Key).assertEqual('image' + KEY_TEST_ELEMENT);
191    expect(records[0].details.Value).assertEqual('image' + VALUE_TEST_ELEMENT);
192    expect(records[0].imageUri).assertEqual('imageUri');
193    console.info('UdmfImageTest end');
194  });
195
196  /**
197   * @tc.name UdmfVideoTest
198   * @tc.desc Test Js Api Video testcase
199   * @tc.type: FUNC
200   * @tc.require: issueNumber
201   */
202  it('UdmfVideoTest', 0, function () {
203    console.info('UdmfVideoTest start');
204    let video = new UDC.Video();
205    video.details = {
206      Key: 'video' + KEY_TEST_ELEMENT,
207      Value: 'video' + VALUE_TEST_ELEMENT,
208    };
209    video.videoUri = 'videoUri';
210    let unifiedData = new UDC.UnifiedData(video);
211    let records = unifiedData.getRecords();
212    expect(records.length).assertEqual(1);
213    expect(records[0].details.Key).assertEqual('video' + KEY_TEST_ELEMENT);
214    expect(records[0].details.Value).assertEqual('video' + VALUE_TEST_ELEMENT);
215    expect(records[0].videoUri).assertEqual('videoUri');
216    console.info('UdmfVideoTest end');
217  });
218
219  /**
220   * @tc.name UdmfSystemDefinedRecordTest
221   * @tc.desc Test Js Api SystemDefinedRecord testcase
222   * @tc.type: FUNC
223   * @tc.require: issueNumber
224   */
225  it('UdmfSystemDefinedRecordTest', 0, function () {
226    console.info('UdmfSystemDefinedRecordTest start');
227    let systemDefinedRecord = new UDC.SystemDefinedRecord();
228    systemDefinedRecord.details = {
229      recordKey1: 'systemDefinedRecord' + KEY_TEST_ELEMENT,
230      recordKey2: 1,
231      recordKey3: U8_ARRAY,
232    };
233    let unifiedData = new UDC.UnifiedData(systemDefinedRecord);
234    let records = unifiedData.getRecords();
235    expect(records.length).assertEqual(1);
236    expect(records[0].details.recordKey1).assertEqual('systemDefinedRecord' + KEY_TEST_ELEMENT);
237    expect(records[0].details.recordKey2).assertEqual(1);
238    for (let i = 0; i < U8_ARRAY.length; i++) {
239      expect(records[0].details.recordKey3[i]).assertEqual(U8_ARRAY[i]);
240    }
241    console.info('UdmfSystemDefinedRecordTest end');
242  });
243
244  /**
245   * @tc.name UdmfSystemDefinedPixelMapTest
246   * @tc.desc Test Js Api SystemDefinedPixelMap testcase
247   * @tc.type: FUNC
248   * @tc.require: issueNumber
249   */
250  it('UdmfSystemDefinedPixelMapTest', 0, function () {
251    console.info('UdmfSystemDefinedPixelMapTest start');
252    let systemDefinedPixelMap = new UDC.SystemDefinedPixelMap();
253    systemDefinedPixelMap.details = {
254      recordKey1: 'systemDefinedPixelMap' + KEY_TEST_ELEMENT,
255      recordKey2: 1,
256      recordKey3: U8_ARRAY,
257    };
258    systemDefinedPixelMap.rawData = U8_ARRAY;
259    let unifiedData = new UDC.UnifiedData(systemDefinedPixelMap);
260    let records = unifiedData.getRecords();
261    expect(records.length).assertEqual(1);
262    expect(records[0].details.recordKey1).assertEqual('systemDefinedPixelMap' + KEY_TEST_ELEMENT);
263    expect(records[0].details.recordKey2).assertEqual(1);
264    for (let i = 0; i < U8_ARRAY.length; i++) {
265      expect(records[0].details.recordKey3[i]).assertEqual(U8_ARRAY[i]);
266    }
267    for (let i = 0; i < U8_ARRAY.length; i++) {
268      expect(records[0].rawData[i]).assertEqual(U8_ARRAY[i]);
269    }
270    console.info('UdmfSystemDefinedPixelMapTest end');
271  });
272
273  /**
274   * @tc.name UdmfSystemDefinedFormTest
275   * @tc.desc Test Js Api SystemDefinedForm testcase
276   * @tc.type: FUNC
277   * @tc.require: issueNumber
278   */
279  it('UdmfSystemDefinedFormTest', 0, function () {
280    console.info('UdmfSystemDefinedFormTest start');
281    let form = new UDC.SystemDefinedForm();
282    form.formId = TEST_ID;
283    form.formName = 'MyFormName';
284    form.bundleName = TEST_BUNDLE_NAME;
285    form.abilityName = TEST_ABILITY_NAME;
286    form.module = TEST_MODULE;
287    form.details = {
288      formKey1: 1,
289      formKey2: 'form' + VALUE_TEST_ELEMENT,
290      formKey3: U8_ARRAY,
291    };
292    let unifiedData = new UDC.UnifiedData(form);
293    let records = unifiedData.getRecords();
294    expect(records.length).assertEqual(1);
295    expect(records[0].details.formKey1).assertEqual(1);
296    expect(records[0].details.formKey2).assertEqual('form' + VALUE_TEST_ELEMENT);
297    for (let i = 0; i < U8_ARRAY.length; i++) {
298      expect(records[0].details.formKey3[i]).assertEqual(U8_ARRAY[i]);
299    }
300    expect(records[0].formId).assertEqual(TEST_ID);
301    expect(records[0].formName).assertEqual('MyFormName');
302    expect(records[0].bundleName).assertEqual(TEST_BUNDLE_NAME);
303    expect(records[0].abilityName).assertEqual(TEST_ABILITY_NAME);
304    expect(records[0].module).assertEqual(TEST_MODULE);
305    console.info('UdmfSystemDefinedFormTest end');
306  });
307
308  /**
309   * @tc.name UdmfSystemDefinedAppItemTest
310   * @tc.desc Test Js Api SystemDefinedAppItem testcase
311   * @tc.type: FUNC
312   * @tc.require: issueNumber
313   */
314  it('UdmfSystemDefinedAppItemTest', 0, function () {
315    console.info('UdmfSystemDefinedAppItemTest start');
316    let appItem = new UDC.SystemDefinedAppItem();
317    appItem.appId = 'MyAppId';
318    appItem.appName = 'MyAppName';
319    appItem.abilityName = TEST_ABILITY_NAME;
320    appItem.bundleName = TEST_BUNDLE_NAME;
321    appItem.appIconId = 'MyAppIconId';
322    appItem.appLabelId = 'MyAppLabelId';
323    appItem.details = {
324      appItemKey1: 1,
325      appItemKey2: 'appItem' + VALUE_TEST_ELEMENT,
326      appItemKey3: U8_ARRAY,
327    };
328    let unifiedData = new UDC.UnifiedData(appItem);
329    let records = unifiedData.getRecords();
330    expect(records.length).assertEqual(1);
331    expect(records[0].details.appItemKey1).assertEqual(1);
332    expect(records[0].details.appItemKey2).assertEqual('appItem' + VALUE_TEST_ELEMENT);
333    for (let i = 0; i < U8_ARRAY.length; i++) {
334      expect(records[0].details.appItemKey3[i]).assertEqual(U8_ARRAY[i]);
335    }
336    expect(records[0].appId).assertEqual('MyAppId');
337    expect(records[0].appName).assertEqual('MyAppName');
338    expect(records[0].abilityName).assertEqual(TEST_ABILITY_NAME);
339    expect(records[0].bundleName).assertEqual(TEST_BUNDLE_NAME);
340    expect(records[0].appIconId).assertEqual('MyAppIconId');
341    expect(records[0].appLabelId).assertEqual('MyAppLabelId');
342    console.info('UdmfSystemDefinedAppItemTest end');
343  });
344
345  /**
346   * @tc.name UdmfSystemDefinedFormTest
347   * @tc.desc Test Js Api ApplicationDefinedRecord testcase
348   * @tc.type: FUNC
349   * @tc.require: issueNumber
350   */
351  it('UdmfApplicationDefinedRecord', 0, function () {
352    console.info('UdmfApplicationDefinedRecord start');
353    let applicationDefinedRecord = new UDC.ApplicationDefinedRecord();
354    applicationDefinedRecord.applicationDefinedType = 'applicationDefinedType';
355    applicationDefinedRecord.rawData = U8_ARRAY;
356    let unifiedData = new UDC.UnifiedData(applicationDefinedRecord);
357    let records = unifiedData.getRecords();
358    expect(records.length).assertEqual(1);
359    expect(records[0].applicationDefinedType).assertEqual('applicationDefinedType');
360    for (let i = 0; i < U8_ARRAY.length; i++) {
361      expect(records[0].rawData[i]).assertEqual(U8_ARRAY[i]);
362    }
363    console.info('UdmfApplicationDefinedRecord end');
364  });
365
366  /**
367   * @tc.name UdmfAllRecordsTest
368   * @tc.desc Test Js AllRecords testcase
369   * @tc.type: FUNC
370   * @tc.require: issueNumber
371   */
372  it('UdmfAllRecordsTest', 0, function () {
373    console.info('UdmfAllRecordsTest start');
374    let text = new UDC.Text();
375    let unifiedDatas = new UDC.UnifiedData(text);
376    let plainText = new UDC.PlainText();
377    unifiedDatas.addRecord(plainText);
378    let link = new UDC.Hyperlink();
379    unifiedDatas.addRecord(link);
380    let html = new UDC.HTML();
381    unifiedDatas.addRecord(html);
382    let file = new UDC.File();
383    unifiedDatas.addRecord(file);
384    let folder = new UDC.Folder();
385    unifiedDatas.addRecord(folder);
386    let image = new UDC.Image();
387    unifiedDatas.addRecord(image);
388    let video = new UDC.Video();
389    unifiedDatas.addRecord(video);
390    let systemDefinedRecord = new UDC.SystemDefinedRecord();
391    unifiedDatas.addRecord(systemDefinedRecord);
392    let systemDefinedPixelMap = new UDC.SystemDefinedPixelMap();
393    unifiedDatas.addRecord(systemDefinedPixelMap);
394    let form = new UDC.SystemDefinedForm();
395    unifiedDatas.addRecord(form);
396    let appItem = new UDC.SystemDefinedAppItem();
397    unifiedDatas.addRecord(appItem);
398    let applicationDefinedRecord = new UDC.ApplicationDefinedRecord();
399    unifiedDatas.addRecord(applicationDefinedRecord);
400    let records = unifiedDatas.getRecords();
401    expect(records.length).assertEqual(13);
402    expect(records[0].getType()).assertEqual(UTD.UniformDataType.TEXT);
403    expect(records[1].getType()).assertEqual(UTD.UniformDataType.PLAIN_TEXT);
404    expect(records[2].getType()).assertEqual(UTD.UniformDataType.HYPERLINK);
405    expect(records[3].getType()).assertEqual(UTD.UniformDataType.HTML);
406    expect(records[4].getType()).assertEqual(UTD.UniformDataType.FILE);
407    expect(records[5].getType()).assertEqual(UTD.UniformDataType.FOLDER);
408    expect(records[6].getType()).assertEqual(UTD.UniformDataType.IMAGE);
409    expect(records[7].getType()).assertEqual(UTD.UniformDataType.VIDEO);
410    expect(records[9].getType()).assertEqual(UTD.UniformDataType.OPENHARMONY_PIXEL_MAP);
411    expect(records[10].getType()).assertEqual(UTD.UniformDataType.OPENHARMONY_FORM);
412    expect(records[11].getType()).assertEqual(UTD.UniformDataType.OPENHARMONY_APP_ITEM);
413    console.info('UdmfAllRecordsTest end');
414  });
415});