1 /*
2 * Copyright (c) 2024 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
16 #include "napi/native_api.h"
17 #include "hilog/log.h"
18 #include <string>
19 #include <unistd.h>
20 #include "database/pasteboard/oh_pasteboard.h"
21 #include "database/pasteboard/oh_pasteboard_err_code.h"
22 #include "database/udmf/udmf.h"
23 #include "database/udmf/udmf_meta.h"
24 #include "database/udmf/uds.h"
25 #include "database/udmf/utd.h"
26 #include <iostream>
27 #include <map>
28 #include <ctime>
29 #include "common.h"
30 #include <cctype>
31 #include <condition_variable>
32 #include <cstdint>
33 #include <fcntl.h>
34 #include <functional>
35 #include <iostream>
36 #include <list>
37 #include <map>
38 #include <memory>
39 #include <mutex>
40 #include <string>
41 #include <sys/mman.h>
42 #include <thread>
43 #include <vector>
44 #include <string>
45 #include <random>
46 #include <chrono>
47 const char *TAG = "testLog";
48
49
50 int g_changeNum = 0;
51 static Pasteboard_GetDataParams *g_params = nullptr;
52
53
Pasteboard_ProgressListener(Pasteboard_ProgressInfo * progressInfo)54 void Pasteboard_ProgressListener(Pasteboard_ProgressInfo *progressInfo)
55 {
56 int percentage = OH_Pasteboard_ProgressInfo_GetProgress(progressInfo);
57 printf("percentage = %d\n", percentage);
58 if (g_params != nullptr) {
59 OH_Pasteboard_ProgressCancel(g_params);
60 }
61 }
62
oh_Pasteboard_ProgressListener(Pasteboard_ProgressInfo * progressInfo)63 void oh_Pasteboard_ProgressListener(Pasteboard_ProgressInfo *progressInfo)
64 {
65 int percentage = OH_Pasteboard_ProgressInfo_GetProgress(progressInfo);
66 printf("percentage = %d\n", percentage);
67 }
68
OH_Pasteboard_GetDataWithProgress001(napi_env env,napi_callback_info info)69 static napi_value OH_Pasteboard_GetDataWithProgress001(napi_env env, napi_callback_info info)
70 {
71 const char *uri1 = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/files/dstFile.txt";
72 OH_UdmfRecord* record = OH_UdmfRecord_Create();
73 OH_UdmfData* unifiedData = OH_UdmfData_Create();
74 OH_Pasteboard* pasteboard = OH_Pasteboard_Create();
75 OH_UdsFileUri* fileUri = OH_UdsFileUri_Create();
76 OH_UdsFileUri_SetFileUri(fileUri, uri1);
77 OH_UdmfRecord_AddFileUri(record, fileUri);
78 OH_UdmfData_AddRecord(unifiedData, record);
79 int ret = OH_Pasteboard_SetData(pasteboard, unifiedData);
80 NAPI_ASSERT(env, ret == ERR_OK, "OH_Pasteboard_SetData is fail.");
81
82 const char *uri = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/files/haps/";
83
84 Pasteboard_GetDataParams* params = OH_Pasteboard_GetDataParams_Create();
85
86 OH_Pasteboard_GetDataParams_SetDestUri(params, uri, strlen(uri));
87 OH_Pasteboard_GetDataParams_SetFileConflictOptions(params, PASTEBOARD_SKIP);
88 OH_Pasteboard_GetDataParams_SetProgressIndicator(params, PASTEBOARD_DEFAULT);
89 int status = -1;
90
91 OH_UdmfData* getData = OH_Pasteboard_GetDataWithProgress(pasteboard, params, &status);
92 NAPI_ASSERT(env, status == ERR_OK, "OH_Pasteboard_GetDataWithProgress is fail.");
93 NAPI_ASSERT(env, getData != nullptr, "OH_Pasteboard_GetDataWithProgress is fail.");
94
95 unsigned int getrecordCount = 0;
96 OH_UdmfRecord **getRecords = OH_UdmfData_GetRecords(getData, &getrecordCount);
97 NAPI_ASSERT(env, getrecordCount == 1, "OH_UdmfData_GetRecords is fail.");
98 OH_UdsFileUri* getfileUri = OH_UdsFileUri_Create();
99 OH_UdmfRecord_GetFileUri(getRecords[0], getfileUri);
100 const char* getContent = OH_UdsFileUri_GetFileUri(getfileUri);
101 std::string str = uri;
102 std::string str1 = str + "dstFile.txt";
103 NAPI_ASSERT(env, strcmp(getContent, str1.c_str()) == 0, "OH_UdsPlainText_GetContent is fail.");
104 OH_Pasteboard_ClearData(pasteboard);
105
106 int recode = 0;
107 napi_value result;
108 napi_create_int32(env, recode, &result);
109 OH_Pasteboard_GetDataParams_Destroy(params);
110 OH_Pasteboard_Destroy(pasteboard);
111 OH_UdmfRecord_Destroy(record);
112 OH_UdmfData_Destroy(unifiedData);
113 OH_UdsFileUri_Destroy(fileUri);
114 OH_UdsFileUri_Destroy(getfileUri);
115 return result;
116 }
117
OH_Pasteboard_GetDataWithProgress002(napi_env env,napi_callback_info info)118 static napi_value OH_Pasteboard_GetDataWithProgress002(napi_env env, napi_callback_info info)
119 {
120 const char *uri1 = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/files/dstFile.txt";
121 OH_UdmfRecord* record = OH_UdmfRecord_Create();
122 OH_UdmfData* unifiedData = OH_UdmfData_Create();
123 OH_Pasteboard* pasteboard = OH_Pasteboard_Create();
124 OH_UdsFileUri* fileUri = OH_UdsFileUri_Create();
125 OH_UdsFileUri_SetFileUri(fileUri, uri1);
126 OH_UdmfRecord_AddFileUri(record, fileUri);
127 OH_UdmfData_AddRecord(unifiedData, record);
128 int ret = OH_Pasteboard_SetData(pasteboard, unifiedData);
129 NAPI_ASSERT(env, ret == ERR_OK, "OH_Pasteboard_SetData is fail.");
130
131 const char *uri = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/files/haps/daily/";
132
133 Pasteboard_GetDataParams* params = OH_Pasteboard_GetDataParams_Create();
134
135 OH_Pasteboard_GetDataParams_SetDestUri(params, uri, strlen(uri));
136 OH_Pasteboard_GetDataParams_SetFileConflictOptions(params, PASTEBOARD_SKIP);
137 OH_Pasteboard_GetDataParams_SetProgressIndicator(params, PASTEBOARD_DEFAULT);
138 int status = -1;
139
140 OH_UdmfData* getData = OH_Pasteboard_GetDataWithProgress(pasteboard, params, &status);
141 NAPI_ASSERT(env, status == ERR_OK, "OH_Pasteboard_GetDataWithProgress is fail.");
142 NAPI_ASSERT(env, getData != nullptr, "OH_Pasteboard_GetDataWithProgress is fail.");
143
144 unsigned int getrecordCount = 0;
145 OH_UdmfRecord **getRecords = OH_UdmfData_GetRecords(getData, &getrecordCount);
146 NAPI_ASSERT(env, getrecordCount == 1, "OH_UdmfData_GetRecords is fail.");
147 OH_UdsFileUri* getfileUri = OH_UdsFileUri_Create();
148 OH_UdmfRecord_GetFileUri(getRecords[0], getfileUri);
149 const char* getContent = OH_UdsFileUri_GetFileUri(getfileUri);
150 std::string str = uri;
151 std::string str1 = str + "dstFile.txt";
152 NAPI_ASSERT(env, strcmp(getContent, str1.c_str()) == 0, "OH_UdsPlainText_GetContent is fail.");
153 OH_Pasteboard_ClearData(pasteboard);
154
155 int recode = 0;
156 napi_value result;
157 napi_create_int32(env, recode, &result);
158 OH_Pasteboard_Destroy(pasteboard);
159 OH_UdmfRecord_Destroy(record);
160 OH_UdmfData_Destroy(unifiedData);
161 OH_UdsFileUri_Destroy(fileUri);
162 OH_UdsFileUri_Destroy(getfileUri);
163 OH_Pasteboard_GetDataParams_Destroy(params);
164 return result;
165 }
166
OH_Pasteboard_GetDataWithProgress003(napi_env env,napi_callback_info info)167 static napi_value OH_Pasteboard_GetDataWithProgress003(napi_env env, napi_callback_info info)
168 {
169 const char *uri = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/files/dstFile.txt";
170 OH_UdmfRecord* record = OH_UdmfRecord_Create();
171 OH_UdmfData* unifiedData = OH_UdmfData_Create();
172 OH_Pasteboard* pasteboard = OH_Pasteboard_Create();
173 OH_UdsFileUri* fileUri = OH_UdsFileUri_Create();
174 OH_UdsFileUri_SetFileUri(fileUri, uri);
175 OH_UdmfRecord_AddFileUri(record, fileUri);
176 OH_UdmfData_AddRecord(unifiedData, record);
177 int ret = OH_Pasteboard_SetData(pasteboard, unifiedData);
178 NAPI_ASSERT(env, ret == ERR_OK, "OH_Pasteboard_SetData is fail.");
179
180 const char *uri1 = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/files/haps11/";
181 Pasteboard_GetDataParams* params = OH_Pasteboard_GetDataParams_Create();
182
183 OH_Pasteboard_GetDataParams_SetDestUri(params, uri1, strlen(uri1));
184 OH_Pasteboard_GetDataParams_SetFileConflictOptions(params, PASTEBOARD_SKIP);
185 OH_Pasteboard_GetDataParams_SetProgressIndicator(params, PASTEBOARD_DEFAULT);
186 int status = -1;
187
188 OH_UdmfData* getData = OH_Pasteboard_GetDataWithProgress(pasteboard, params, &status);
189 NAPI_ASSERT(env, status == ERR_PASTEBOARD_COPY_FILE_ERROR, "OH_Pasteboard_GetDataWithProgress is fail.");
190 OH_Pasteboard_ClearData(pasteboard);
191
192 int recode = 0;
193 napi_value result;
194 napi_create_int32(env, recode, &result);
195 OH_Pasteboard_Destroy(pasteboard);
196 OH_Pasteboard_GetDataParams_Destroy(params);
197 return result;
198 }
199
OH_Pasteboard_GetDataWithProgress004(napi_env env,napi_callback_info info)200 static napi_value OH_Pasteboard_GetDataWithProgress004(napi_env env, napi_callback_info info)
201 {
202 const char *uri = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/files/dstFile.txt";
203 OH_UdmfRecord* record = OH_UdmfRecord_Create();
204 OH_UdmfData* unifiedData = OH_UdmfData_Create();
205 OH_Pasteboard* pasteboard = OH_Pasteboard_Create();
206 OH_UdsFileUri* fileUri = OH_UdsFileUri_Create();
207 OH_UdsFileUri_SetFileUri(fileUri, uri);
208 OH_UdmfRecord_AddFileUri(record, fileUri);
209 OH_UdmfData_AddRecord(unifiedData, record);
210 int ret = OH_Pasteboard_SetData(pasteboard, unifiedData);
211 NAPI_ASSERT(env, ret == ERR_OK, "OH_Pasteboard_SetData is fail.");
212
213 const char *uri1 = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/文件/";
214 Pasteboard_GetDataParams* params = OH_Pasteboard_GetDataParams_Create();
215
216 OH_Pasteboard_GetDataParams_SetDestUri(params, uri1, strlen(uri1));
217 OH_Pasteboard_GetDataParams_SetFileConflictOptions(params, PASTEBOARD_SKIP);
218 OH_Pasteboard_GetDataParams_SetProgressIndicator(params, PASTEBOARD_DEFAULT);
219 int status = -1;
220
221 OH_UdmfData* getData = OH_Pasteboard_GetDataWithProgress(pasteboard, params, &status);
222 NAPI_ASSERT(env, status == ERR_PASTEBOARD_COPY_FILE_ERROR, "OH_Pasteboard_GetDataWithProgress is fail.");
223 NAPI_ASSERT(env, getData == nullptr, "OH_Pasteboard_GetDataWithProgress is fail.");
224
225 int recode = 0;
226 napi_value result;
227 napi_create_int32(env, recode, &result);
228 OH_Pasteboard_Destroy(pasteboard);
229 OH_Pasteboard_GetDataParams_Destroy(params);
230 return result;
231 }
232
OH_Pasteboard_GetDataWithProgress005(napi_env env,napi_callback_info info)233 static napi_value OH_Pasteboard_GetDataWithProgress005(napi_env env, napi_callback_info info)
234 {
235 const char *uri = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/files/dstFile.txt";
236 OH_UdmfRecord* record = OH_UdmfRecord_Create();
237 OH_UdmfData* unifiedData = OH_UdmfData_Create();
238 OH_Pasteboard* pasteboard = OH_Pasteboard_Create();
239 OH_UdsFileUri* fileUri = OH_UdsFileUri_Create();
240 OH_UdsFileUri_SetFileUri(fileUri, uri);
241 OH_UdmfRecord_AddFileUri(record, fileUri);
242 OH_UdmfData_AddRecord(unifiedData, record);
243 int ret = OH_Pasteboard_SetData(pasteboard, unifiedData);
244 NAPI_ASSERT(env, ret == ERR_OK, "OH_Pasteboard_SetData is fail.");
245
246 const char *uri1 = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/files/haps1122/";
247 Pasteboard_GetDataParams* params = OH_Pasteboard_GetDataParams_Create();
248
249 OH_Pasteboard_GetDataParams_SetDestUri(params, uri1, strlen(uri1));
250 OH_Pasteboard_GetDataParams_SetFileConflictOptions(params, PASTEBOARD_SKIP);
251 OH_Pasteboard_GetDataParams_SetProgressIndicator(params, PASTEBOARD_DEFAULT);
252 int status = -1;
253
254 OH_UdmfData* getData = OH_Pasteboard_GetDataWithProgress(pasteboard, params, &status);
255 NAPI_ASSERT(env, status == ERR_OK, "OH_Pasteboard_GetDataWithProgress is fail.");
256 NAPI_ASSERT(env, getData != nullptr, "OH_Pasteboard_GetDataWithProgress is fail.");
257
258 unsigned int getrecordCount = 0;
259 OH_UdmfRecord **getRecords = OH_UdmfData_GetRecords(getData, &getrecordCount);
260 NAPI_ASSERT(env, getrecordCount == 1, "OH_UdmfData_GetRecords is fail.");
261 OH_UdsFileUri* getfileUri = OH_UdsFileUri_Create();
262 OH_UdmfRecord_GetFileUri(getRecords[0], getfileUri);
263 const char* getContent = OH_UdsFileUri_GetFileUri(getfileUri);
264 std::string str = uri1;
265 std::string str1 = str + "dstFile.txt";
266 NAPI_ASSERT(env, strcmp(getContent, str1.c_str()) == 0, "OH_UdsPlainText_GetContent is fail.");
267 OH_Pasteboard_ClearData(pasteboard);
268
269 int recode = 0;
270 napi_value result;
271 napi_create_int32(env, recode, &result);
272 OH_Pasteboard_Destroy(pasteboard);
273 OH_UdmfRecord_Destroy(record);
274 OH_UdmfData_Destroy(unifiedData);
275 OH_UdsFileUri_Destroy(fileUri);
276 OH_UdsFileUri_Destroy(getfileUri);
277 OH_Pasteboard_GetDataParams_Destroy(params);
278 return result;
279 }
280
OH_Pasteboard_GetDataWithProgress006(napi_env env,napi_callback_info info)281 static napi_value OH_Pasteboard_GetDataWithProgress006(napi_env env, napi_callback_info info)
282 {
283 const char *uri = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/files/dstFile.txt";
284 OH_UdmfRecord* record = OH_UdmfRecord_Create();
285 OH_UdmfData* unifiedData = OH_UdmfData_Create();
286 OH_Pasteboard* pasteboard = OH_Pasteboard_Create();
287 OH_UdsFileUri* fileUri = OH_UdsFileUri_Create();
288 OH_UdsFileUri_SetFileUri(fileUri, uri);
289 OH_UdmfRecord_AddFileUri(record, fileUri);
290 OH_UdmfData_AddRecord(unifiedData, record);
291 int ret = OH_Pasteboard_SetData(pasteboard, unifiedData);
292 NAPI_ASSERT(env, ret == ERR_OK, "OH_Pasteboard_SetData is fail.");
293
294 const char *uri1 = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/files/haps_day/";
295 Pasteboard_GetDataParams* params = OH_Pasteboard_GetDataParams_Create();
296
297 OH_Pasteboard_GetDataParams_SetDestUri(params, uri1, strlen(uri1));
298 OH_Pasteboard_GetDataParams_SetFileConflictOptions(params, PASTEBOARD_SKIP);
299 OH_Pasteboard_GetDataParams_SetProgressIndicator(params, PASTEBOARD_DEFAULT);
300 int status = -1;
301
302 OH_UdmfData* getData = OH_Pasteboard_GetDataWithProgress(pasteboard, params, &status);
303 NAPI_ASSERT(env, status == ERR_OK, "OH_Pasteboard_GetDataWithProgress is fail.");
304 NAPI_ASSERT(env, getData != nullptr, "OH_Pasteboard_GetDataWithProgress is fail.");
305
306 unsigned int getrecordCount = 0;
307 OH_UdmfRecord **getRecords = OH_UdmfData_GetRecords(getData, &getrecordCount);
308 NAPI_ASSERT(env, getrecordCount == 1, "OH_UdmfData_GetRecords is fail.");
309 OH_UdsFileUri* getfileUri = OH_UdsFileUri_Create();
310 OH_UdmfRecord_GetFileUri(getRecords[0], getfileUri);
311 const char* getContent = OH_UdsFileUri_GetFileUri(getfileUri);
312 std::string str = uri1;
313 std::string str1 = str + "dstFile.txt";
314 NAPI_ASSERT(env, strcmp(getContent, str1.c_str()) == 0, "OH_UdsPlainText_GetContent is fail.");
315 OH_Pasteboard_ClearData(pasteboard);
316
317 int recode = 0;
318 napi_value result;
319 napi_create_int32(env, recode, &result);
320 OH_Pasteboard_Destroy(pasteboard);
321 OH_UdmfRecord_Destroy(record);
322 OH_UdmfData_Destroy(unifiedData);
323 OH_UdsFileUri_Destroy(fileUri);
324 OH_UdsFileUri_Destroy(getfileUri);
325 OH_Pasteboard_GetDataParams_Destroy(params);
326 return result;
327 }
328
OH_Pasteboard_GetDataWithProgress007(napi_env env,napi_callback_info info)329 static napi_value OH_Pasteboard_GetDataWithProgress007(napi_env env, napi_callback_info info)
330 {
331 const char *uri = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/files/dstFile.txt";
332 OH_UdmfRecord* record = OH_UdmfRecord_Create();
333 OH_UdmfData* unifiedData = OH_UdmfData_Create();
334 OH_Pasteboard* pasteboard = OH_Pasteboard_Create();
335 OH_UdsFileUri* fileUri = OH_UdsFileUri_Create();
336 OH_UdsFileUri_SetFileUri(fileUri, uri);
337 OH_UdmfRecord_AddFileUri(record, fileUri);
338 OH_UdmfData_AddRecord(unifiedData, record);
339 int ret = OH_Pasteboard_SetData(pasteboard, unifiedData);
340 NAPI_ASSERT(env, ret == ERR_OK, "OH_Pasteboard_SetData is fail.");
341
342 const char *uri1 = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/files/haps.day/";
343 Pasteboard_GetDataParams* params = OH_Pasteboard_GetDataParams_Create();
344
345 OH_Pasteboard_GetDataParams_SetDestUri(params, uri1, strlen(uri1));
346 OH_Pasteboard_GetDataParams_SetFileConflictOptions(params, PASTEBOARD_SKIP);
347 OH_Pasteboard_GetDataParams_SetProgressIndicator(params, PASTEBOARD_DEFAULT);
348 int status = -1;
349
350 OH_UdmfData* getData = OH_Pasteboard_GetDataWithProgress(pasteboard, params, &status);
351 NAPI_ASSERT(env, status == ERR_OK, "OH_Pasteboard_GetDataWithProgress is fail.");
352 NAPI_ASSERT(env, getData != nullptr, "OH_Pasteboard_GetDataWithProgress is fail.");
353
354 unsigned int getrecordCount = 0;
355 OH_UdmfRecord **getRecords = OH_UdmfData_GetRecords(getData, &getrecordCount);
356 NAPI_ASSERT(env, getrecordCount == 1, "OH_UdmfData_GetRecords is fail.");
357 OH_UdsFileUri* getfileUri = OH_UdsFileUri_Create();
358 OH_UdmfRecord_GetFileUri(getRecords[0], getfileUri);
359 const char* getContent = OH_UdsFileUri_GetFileUri(getfileUri);
360 std::string str = uri1;
361 std::string str1 = str + "dstFile.txt";
362 NAPI_ASSERT(env, strcmp(getContent, str1.c_str()) == 0, "OH_UdsPlainText_GetContent is fail.");
363 OH_Pasteboard_ClearData(pasteboard);
364
365 int recode = 0;
366 napi_value result;
367 napi_create_int32(env, recode, &result);
368 OH_Pasteboard_Destroy(pasteboard);
369 OH_UdmfRecord_Destroy(record);
370 OH_UdmfData_Destroy(unifiedData);
371 OH_UdsFileUri_Destroy(fileUri);
372 OH_UdsFileUri_Destroy(getfileUri);
373 OH_Pasteboard_GetDataParams_Destroy(params);
374 return result;
375 }
376
OH_Pasteboard_GetDataWithProgress008(napi_env env,napi_callback_info info)377 static napi_value OH_Pasteboard_GetDataWithProgress008(napi_env env, napi_callback_info info)
378 {
379 const char *uri = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/files/dstFile.txt";
380 OH_UdmfRecord* record = OH_UdmfRecord_Create();
381 OH_UdmfData* unifiedData = OH_UdmfData_Create();
382 OH_Pasteboard* pasteboard = OH_Pasteboard_Create();
383 OH_UdsFileUri* fileUri = OH_UdsFileUri_Create();
384 OH_UdsFileUri_SetFileUri(fileUri, uri);
385 OH_UdmfRecord_AddFileUri(record, fileUri);
386 OH_UdmfData_AddRecord(unifiedData, record);
387 int ret = OH_Pasteboard_SetData(pasteboard, unifiedData);
388 NAPI_ASSERT(env, ret == ERR_OK, "OH_Pasteboard_SetData is fail.");
389
390 const char *uri1 = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/files/haps*day/";
391 Pasteboard_GetDataParams* params = OH_Pasteboard_GetDataParams_Create();
392
393 OH_Pasteboard_GetDataParams_SetDestUri(params, uri1, strlen(uri1));
394 OH_Pasteboard_GetDataParams_SetFileConflictOptions(params, PASTEBOARD_SKIP);
395 OH_Pasteboard_GetDataParams_SetProgressIndicator(params, PASTEBOARD_DEFAULT);
396 int status = -1;
397
398 OH_UdmfData* getData = OH_Pasteboard_GetDataWithProgress(pasteboard, params, &status);
399 NAPI_ASSERT(env, status == ERR_OK, "OH_Pasteboard_GetDataWithProgress is fail.");
400 NAPI_ASSERT(env, getData != nullptr, "OH_Pasteboard_GetDataWithProgress is fail.");
401
402 unsigned int getrecordCount = 0;
403 OH_UdmfRecord **getRecords = OH_UdmfData_GetRecords(getData, &getrecordCount);
404 NAPI_ASSERT(env, getrecordCount == 1, "OH_UdmfData_GetRecords is fail.");
405 OH_UdsFileUri* getfileUri = OH_UdsFileUri_Create();
406 OH_UdmfRecord_GetFileUri(getRecords[0], getfileUri);
407 const char* getContent = OH_UdsFileUri_GetFileUri(getfileUri);
408 std::string str = uri1;
409 std::string str1 = str + "dstFile.txt";
410 NAPI_ASSERT(env, strcmp(getContent, str1.c_str()) == 0, "OH_UdsPlainText_GetContent is fail.");
411 OH_Pasteboard_ClearData(pasteboard);
412
413 int recode = 0;
414 napi_value result;
415 napi_create_int32(env, recode, &result);
416 OH_Pasteboard_Destroy(pasteboard);
417 OH_UdmfRecord_Destroy(record);
418 OH_UdmfData_Destroy(unifiedData);
419 OH_UdsFileUri_Destroy(fileUri);
420 OH_UdsFileUri_Destroy(getfileUri);
421 OH_Pasteboard_GetDataParams_Destroy(params);
422 return result;
423 }
424
OH_Pasteboard_GetDataWithProgress009(napi_env env,napi_callback_info info)425 static napi_value OH_Pasteboard_GetDataWithProgress009(napi_env env, napi_callback_info info)
426 {
427 const char *uri = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/files/dstFile.txt";
428 OH_UdmfRecord* record = OH_UdmfRecord_Create();
429 OH_UdmfData* unifiedData = OH_UdmfData_Create();
430 OH_Pasteboard* pasteboard = OH_Pasteboard_Create();
431 OH_UdsFileUri* fileUri = OH_UdsFileUri_Create();
432 OH_UdsFileUri_SetFileUri(fileUri, uri);
433 OH_UdmfRecord_AddFileUri(record, fileUri);
434 OH_UdmfData_AddRecord(unifiedData, record);
435 int ret = OH_Pasteboard_SetData(pasteboard, unifiedData);
436 NAPI_ASSERT(env, ret == ERR_OK, "OH_Pasteboard_SetData is fail.");
437
438 const char *uri1 = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/files/haps/";
439 Pasteboard_GetDataParams* params = OH_Pasteboard_GetDataParams_Create();
440 Pasteboard_ProgressIndicator num = (Pasteboard_ProgressIndicator) 3;
441 OH_Pasteboard_GetDataParams_SetDestUri(params, uri1, strlen(uri1));
442 OH_Pasteboard_GetDataParams_SetFileConflictOptions(params, PASTEBOARD_SKIP);
443 OH_Pasteboard_GetDataParams_SetProgressIndicator(params, num);
444 int status = -1;
445
446 OH_UdmfData* getData = OH_Pasteboard_GetDataWithProgress(pasteboard, params, &status);
447 NAPI_ASSERT(env, status == ERR_OK, "OH_Pasteboard_GetDataWithProgress is fail.");
448 NAPI_ASSERT(env, getData != nullptr, "OH_Pasteboard_GetDataWithProgress is fail.");
449
450 unsigned int getrecordCount = 0;
451 OH_UdmfRecord **getRecords = OH_UdmfData_GetRecords(getData, &getrecordCount);
452 NAPI_ASSERT(env, getrecordCount == 1, "OH_UdmfData_GetRecords is fail.");
453 OH_UdsFileUri* getfileUri = OH_UdsFileUri_Create();
454 OH_UdmfRecord_GetFileUri(getRecords[0], getfileUri);
455 const char* getContent = OH_UdsFileUri_GetFileUri(getfileUri);
456 std::string str = uri1;
457 std::string str1 = str + "dstFile.txt";
458 NAPI_ASSERT(env, strcmp(getContent, str1.c_str()) == 0, "OH_UdsPlainText_GetContent is fail.");
459 OH_Pasteboard_ClearData(pasteboard);
460 OH_Pasteboard_ClearData(pasteboard);
461
462 int recode = 0;
463 napi_value result;
464 napi_create_int32(env, recode, &result);
465 OH_Pasteboard_Destroy(pasteboard);
466 OH_UdmfRecord_Destroy(record);
467 OH_UdmfData_Destroy(unifiedData);
468 OH_UdsFileUri_Destroy(fileUri);
469 OH_UdsFileUri_Destroy(getfileUri);
470 OH_Pasteboard_GetDataParams_Destroy(params);
471 return result;
472 }
473
OH_Pasteboard_GetDataWithProgress010(napi_env env,napi_callback_info info)474 static napi_value OH_Pasteboard_GetDataWithProgress010(napi_env env, napi_callback_info info)
475 {
476 const char *uri = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/files/le.txt";
477 OH_UdmfRecord* record = OH_UdmfRecord_Create();
478 OH_UdmfData* unifiedData = OH_UdmfData_Create();
479 OH_Pasteboard* pasteboard = OH_Pasteboard_Create();
480 OH_UdsFileUri* fileUri = OH_UdsFileUri_Create();
481 OH_UdsFileUri_SetFileUri(fileUri, uri);
482 OH_UdmfRecord_AddFileUri(record, fileUri);
483 OH_UdmfData_AddRecord(unifiedData, record);
484 int ret = OH_Pasteboard_SetData(pasteboard, unifiedData);
485 NAPI_ASSERT(env, ret == ERR_OK, "OH_Pasteboard_SetData is fail.");
486
487 const char *uri1 = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/"
488 "files/haps22222222222222222222222222222222222222222222222222222222222222222222222222222222"
489 "222222222222222222222222222222222222222222222222222222222222222222222222222222222222222/";
490 Pasteboard_GetDataParams* params = OH_Pasteboard_GetDataParams_Create();
491 OH_Pasteboard_GetDataParams_SetDestUri(params, uri1, strlen(uri1));
492 OH_Pasteboard_GetDataParams_SetFileConflictOptions(params, PASTEBOARD_SKIP);
493 OH_Pasteboard_GetDataParams_SetProgressIndicator(params, PASTEBOARD_DEFAULT);
494 int status = -1;
495
496 OH_UdmfData* getData = OH_Pasteboard_GetDataWithProgress(pasteboard, params, &status);
497 NAPI_ASSERT(env, status == ERR_OK, "OH_Pasteboard_GetDataWithProgress is fail.");
498 NAPI_ASSERT(env, getData != nullptr, "OH_Pasteboard_GetDataWithProgress is fail.");
499
500 unsigned int getrecordCount = 0;
501 OH_UdmfRecord **getRecords = OH_UdmfData_GetRecords(getData, &getrecordCount);
502 NAPI_ASSERT(env, getrecordCount == 1, "OH_UdmfData_GetRecords is fail.");
503 OH_UdsFileUri* getfileUri = OH_UdsFileUri_Create();
504 OH_UdmfRecord_GetFileUri(getRecords[0], getfileUri);
505 const char* getContent = OH_UdsFileUri_GetFileUri(getfileUri);
506 std::string str = uri1;
507 std::string str1 = str + "le.txt";
508 NAPI_ASSERT(env, strcmp(getContent, str1.c_str()) == 0, "OH_UdsPlainText_GetContent is fail.");
509 OH_Pasteboard_ClearData(pasteboard);
510
511 int recode = 0;
512 napi_value result;
513 napi_create_int32(env, recode, &result);
514 OH_Pasteboard_Destroy(pasteboard);
515 OH_UdmfRecord_Destroy(record);
516 OH_UdmfData_Destroy(unifiedData);
517 OH_UdsFileUri_Destroy(fileUri);
518 OH_UdsFileUri_Destroy(getfileUri);
519 return result;
520 }
521
OH_Pasteboard_GetDataWithProgress011(napi_env env,napi_callback_info info)522 static napi_value OH_Pasteboard_GetDataWithProgress011(napi_env env, napi_callback_info info)
523 {
524 const char *uri = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/files/dstFile.txt";
525 OH_UdmfRecord* record = OH_UdmfRecord_Create();
526 OH_UdmfData* unifiedData = OH_UdmfData_Create();
527 OH_Pasteboard* pasteboard = OH_Pasteboard_Create();
528 OH_UdsFileUri* fileUri = OH_UdsFileUri_Create();
529 OH_UdsFileUri_SetFileUri(fileUri, uri);
530 OH_UdmfRecord_AddFileUri(record, fileUri);
531 OH_UdmfData_AddRecord(unifiedData, record);
532 int ret = OH_Pasteboard_SetData(pasteboard, unifiedData);
533 NAPI_ASSERT(env, ret == ERR_OK, "OH_Pasteboard_SetData is fail.");
534
535 const char *uri1 = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/"
536 "files/haps2222222222222222222222222222222222222222222222222222222222222222222222222222222"
537 "222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222/";
538 Pasteboard_GetDataParams* params = OH_Pasteboard_GetDataParams_Create();
539 OH_Pasteboard_GetDataParams_SetDestUri(params, uri1, strlen(uri1));
540 OH_Pasteboard_GetDataParams_SetFileConflictOptions(params, PASTEBOARD_SKIP);
541 OH_Pasteboard_GetDataParams_SetProgressIndicator(params, PASTEBOARD_DEFAULT);
542 int status = -1;
543
544 OH_UdmfData* getData = OH_Pasteboard_GetDataWithProgress(pasteboard, params, &status);
545 NAPI_ASSERT(env, status == ERR_INVALID_PARAMETER, "OH_Pasteboard_GetDataWithProgress is fail.");
546 NAPI_ASSERT(env, getData == nullptr, "OH_Pasteboard_GetDataWithProgress is fail.");
547
548 int recode = 0;
549 napi_value result;
550 napi_create_int32(env, recode, &result);
551 OH_Pasteboard_Destroy(pasteboard);
552 return result;
553 }
554
OH_Pasteboard_GetDataWithProgress012(napi_env env,napi_callback_info info)555 static napi_value OH_Pasteboard_GetDataWithProgress012(napi_env env, napi_callback_info info)
556 {
557 const char *uri = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/files/dstFile.txt";
558 OH_UdmfRecord* record = OH_UdmfRecord_Create();
559 OH_UdmfData* unifiedData = OH_UdmfData_Create();
560 OH_Pasteboard* pasteboard = OH_Pasteboard_Create();
561 OH_UdsFileUri* fileUri = OH_UdsFileUri_Create();
562 OH_UdsFileUri_SetFileUri(fileUri, uri);
563 OH_UdmfRecord_AddFileUri(record, fileUri);
564 OH_UdmfData_AddRecord(unifiedData, record);
565 int ret = OH_Pasteboard_SetData(pasteboard, unifiedData);
566 NAPI_ASSERT(env, ret == ERR_OK, "OH_Pasteboard_SetData is fail.");
567
568 const char *uri1 = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/files/haps/";
569 Pasteboard_GetDataParams* params = OH_Pasteboard_GetDataParams_Create();
570 OH_Pasteboard_GetDataParams_SetDestUri(params, uri1, strlen(uri1));
571 OH_Pasteboard_GetDataParams_SetFileConflictOptions(params, PASTEBOARD_SKIP);
572 OH_Pasteboard_GetDataParams_SetProgressIndicator(params, PASTEBOARD_DEFAULT);
573 int status = -1;
574
575 OH_UdmfData* getData = OH_Pasteboard_GetDataWithProgress(pasteboard, params, &status);
576 NAPI_ASSERT(env, status == ERR_OK, "OH_Pasteboard_GetDataWithProgress is fail.");
577 NAPI_ASSERT(env, getData != nullptr, "OH_Pasteboard_GetDataWithProgress is fail.");
578
579 unsigned int getrecordCount = 0;
580 OH_UdmfRecord **getRecords = OH_UdmfData_GetRecords(getData, &getrecordCount);
581 NAPI_ASSERT(env, getrecordCount == 1, "OH_UdmfData_GetRecords is fail.");
582 OH_UdsFileUri* getfileUri = OH_UdsFileUri_Create();
583 OH_UdmfRecord_GetFileUri(getRecords[0], getfileUri);
584 const char* getContent = OH_UdsFileUri_GetFileUri(getfileUri);
585 std::string str = uri1;
586 std::string str1 = str + "dstFile.txt";
587 NAPI_ASSERT(env, strcmp(getContent, str1.c_str()) == 0, "OH_UdsPlainText_GetContent is fail.");
588 OH_Pasteboard_ClearData(pasteboard);
589
590 int recode = 0;
591 napi_value result;
592 napi_create_int32(env, recode, &result);
593 OH_Pasteboard_Destroy(pasteboard);
594 OH_UdmfRecord_Destroy(record);
595 OH_UdmfData_Destroy(unifiedData);
596 OH_UdsFileUri_Destroy(fileUri);
597 OH_UdsFileUri_Destroy(getfileUri);
598 OH_Pasteboard_GetDataParams_Destroy(params);
599 return result;
600 }
601
OH_Pasteboard_GetDataWithProgress013(napi_env env,napi_callback_info info)602 static napi_value OH_Pasteboard_GetDataWithProgress013(napi_env env, napi_callback_info info)
603 {
604 const char *uri = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/files/dstFile.txt";
605 OH_UdmfRecord* record = OH_UdmfRecord_Create();
606 OH_UdmfData* unifiedData = OH_UdmfData_Create();
607 OH_Pasteboard* pasteboard = OH_Pasteboard_Create();
608 OH_UdsFileUri* fileUri = OH_UdsFileUri_Create();
609 OH_UdsFileUri_SetFileUri(fileUri, uri);
610 OH_UdmfRecord_AddFileUri(record, fileUri);
611 OH_UdmfData_AddRecord(unifiedData, record);
612 int ret = OH_Pasteboard_SetData(pasteboard, unifiedData);
613 NAPI_ASSERT(env, ret == ERR_OK, "OH_Pasteboard_SetData is fail.");
614
615 const char *uri1 = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/files/haps/";
616 Pasteboard_GetDataParams* params = OH_Pasteboard_GetDataParams_Create();
617 int num = strlen(uri1) + 1;
618 OH_Pasteboard_GetDataParams_SetDestUri(params, uri1, num);
619 OH_Pasteboard_GetDataParams_SetFileConflictOptions(params, PASTEBOARD_SKIP);
620 OH_Pasteboard_GetDataParams_SetProgressIndicator(params, PASTEBOARD_DEFAULT);
621 int status = -1;
622
623 OH_UdmfData* getData = OH_Pasteboard_GetDataWithProgress(pasteboard, params, &status);
624 NAPI_ASSERT(env, status == ERR_INVALID_PARAMETER, "OH_Pasteboard_GetDataWithProgress is fail.");
625
626 OH_Pasteboard_ClearData(pasteboard);
627
628 int recode = 0;
629 napi_value result;
630 napi_create_int32(env, recode, &result);
631 OH_Pasteboard_Destroy(pasteboard);
632 OH_UdmfRecord_Destroy(record);
633 OH_UdmfData_Destroy(unifiedData);
634 OH_UdsFileUri_Destroy(fileUri);
635 OH_Pasteboard_GetDataParams_Destroy(params);
636 return result;
637 }
638
OH_Pasteboard_GetDataWithProgress014(napi_env env,napi_callback_info info)639 static napi_value OH_Pasteboard_GetDataWithProgress014(napi_env env, napi_callback_info info)
640 {
641 const char *uri = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/files/dstFile.txt";
642 OH_UdmfRecord* record = OH_UdmfRecord_Create();
643 OH_UdmfData* unifiedData = OH_UdmfData_Create();
644 OH_Pasteboard* pasteboard = OH_Pasteboard_Create();
645 OH_UdsFileUri* fileUri = OH_UdsFileUri_Create();
646 OH_UdsFileUri_SetFileUri(fileUri, uri);
647 OH_UdmfRecord_AddFileUri(record, fileUri);
648 OH_UdmfData_AddRecord(unifiedData, record);
649 int ret = OH_Pasteboard_SetData(pasteboard, unifiedData);
650 NAPI_ASSERT(env, ret == ERR_OK, "OH_Pasteboard_SetData is fail.");
651
652 const char *uri1 = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/files/haps/";
653 Pasteboard_GetDataParams* params = OH_Pasteboard_GetDataParams_Create();
654 int num = strlen(uri1);
655 OH_Pasteboard_GetDataParams_SetDestUri(params, uri1, num);
656 OH_Pasteboard_GetDataParams_SetFileConflictOptions(params, PASTEBOARD_OVERWRITE);
657 int status = -1;
658
659 OH_UdmfData* getData = OH_Pasteboard_GetDataWithProgress(pasteboard, params, &status);
660 NAPI_ASSERT(env, status == ERR_OK, "OH_Pasteboard_GetDataWithProgress is fail.");
661 NAPI_ASSERT(env, getData != nullptr, "OH_Pasteboard_GetDataWithProgress is fail.");
662
663 unsigned int getrecordCount = 0;
664 OH_UdmfRecord **getRecords = OH_UdmfData_GetRecords(getData, &getrecordCount);
665 NAPI_ASSERT(env, getrecordCount == 1, "OH_UdmfData_GetRecords is fail.");
666 OH_UdsFileUri* getfileUri = OH_UdsFileUri_Create();
667 OH_UdmfRecord_GetFileUri(getRecords[0], getfileUri);
668 const char* getContent = OH_UdsFileUri_GetFileUri(getfileUri);
669 std::string str = uri1;
670 std::string str1 = str + "dstFile.txt";
671 NAPI_ASSERT(env, strcmp(getContent, str1.c_str()) == 0, "OH_UdsPlainText_GetContent is fail.");
672 OH_Pasteboard_ClearData(pasteboard);
673
674 int recode = status;
675 napi_value result;
676 napi_create_int32(env, recode, &result);
677 OH_Pasteboard_Destroy(pasteboard);
678 OH_UdmfRecord_Destroy(record);
679 OH_UdmfData_Destroy(unifiedData);
680 OH_UdsFileUri_Destroy(fileUri);
681 OH_UdsFileUri_Destroy(getfileUri);
682 OH_Pasteboard_GetDataParams_Destroy(params);
683 return result;
684 }
685
OH_Pasteboard_GetDataWithProgress015(napi_env env,napi_callback_info info)686 static napi_value OH_Pasteboard_GetDataWithProgress015(napi_env env, napi_callback_info info)
687 {
688 const char *uri = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/files/dstFile.txt";
689 OH_UdmfRecord* record = OH_UdmfRecord_Create();
690 OH_UdmfData* unifiedData = OH_UdmfData_Create();
691 OH_Pasteboard* pasteboard = OH_Pasteboard_Create();
692 OH_UdsFileUri* fileUri = OH_UdsFileUri_Create();
693 OH_UdsFileUri_SetFileUri(fileUri, uri);
694 OH_UdmfRecord_AddFileUri(record, fileUri);
695 OH_UdmfData_AddRecord(unifiedData, record);
696 int ret = OH_Pasteboard_SetData(pasteboard, unifiedData);
697 NAPI_ASSERT(env, ret == ERR_OK, "OH_Pasteboard_SetData is fail.");
698
699 const char *uri1 = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/files/haps/";
700 Pasteboard_GetDataParams* params = OH_Pasteboard_GetDataParams_Create();
701 int num = strlen(uri1);
702 OH_Pasteboard_GetDataParams_SetDestUri(params, uri1, num);
703 OH_Pasteboard_GetDataParams_SetFileConflictOptions(params, PASTEBOARD_OVERWRITE);
704 OH_Pasteboard_GetDataParams_SetProgressIndicator(params, PASTEBOARD_DEFAULT);
705 int status = -1;
706
707 OH_UdmfData* getData = OH_Pasteboard_GetDataWithProgress(pasteboard, params, &status);
708 NAPI_ASSERT(env, status == ERR_OK, "OH_Pasteboard_GetDataWithProgress is fail.");
709 NAPI_ASSERT(env, getData != nullptr, "OH_Pasteboard_GetDataWithProgress is fail.");
710
711 unsigned int getrecordCount = 0;
712 OH_UdmfRecord **getRecords = OH_UdmfData_GetRecords(getData, &getrecordCount);
713 NAPI_ASSERT(env, getrecordCount == 1, "OH_UdmfData_GetRecords is fail.");
714 OH_UdsFileUri* getfileUri = OH_UdsFileUri_Create();
715 OH_UdmfRecord_GetFileUri(getRecords[0], getfileUri);
716 const char* getContent = OH_UdsFileUri_GetFileUri(getfileUri);
717 std::string str = uri1;
718 std::string str1 = str + "dstFile.txt";
719 NAPI_ASSERT(env, strcmp(getContent, str1.c_str()) == 0, "OH_UdsPlainText_GetContent is fail.");
720 OH_Pasteboard_ClearData(pasteboard);
721
722 int recode = status;
723 napi_value result;
724 napi_create_int32(env, recode, &result);
725 OH_Pasteboard_Destroy(pasteboard);
726 OH_UdmfRecord_Destroy(record);
727 OH_UdmfData_Destroy(unifiedData);
728 OH_UdsFileUri_Destroy(fileUri);
729 OH_UdsFileUri_Destroy(getfileUri);
730 OH_Pasteboard_GetDataParams_Destroy(params);
731 return result;
732 }
733
OH_Pasteboard_GetDataWithProgress016(napi_env env,napi_callback_info info)734 static napi_value OH_Pasteboard_GetDataWithProgress016(napi_env env, napi_callback_info info)
735 {
736 const char *uri = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/files/dstFile.txt";
737 OH_UdmfRecord* record = OH_UdmfRecord_Create();
738 OH_UdmfData* unifiedData = OH_UdmfData_Create();
739 OH_Pasteboard* pasteboard = OH_Pasteboard_Create();
740 OH_UdsFileUri* fileUri = OH_UdsFileUri_Create();
741 OH_UdsFileUri_SetFileUri(fileUri, uri);
742 OH_UdmfRecord_AddFileUri(record, fileUri);
743 OH_UdmfData_AddRecord(unifiedData, record);
744 int ret = OH_Pasteboard_SetData(pasteboard, unifiedData);
745 NAPI_ASSERT(env, ret == ERR_OK, "OH_Pasteboard_SetData is fail.");
746
747 const char *uri1 = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/files/haps/";
748 Pasteboard_GetDataParams* params = OH_Pasteboard_GetDataParams_Create();
749 Pasteboard_FileConflictOptions num1 = (Pasteboard_FileConflictOptions) 3;
750 int num = strlen(uri1);
751 OH_Pasteboard_GetDataParams_SetDestUri(params, uri1, num);
752 OH_Pasteboard_GetDataParams_SetFileConflictOptions(params, num1);
753 OH_Pasteboard_GetDataParams_SetProgressIndicator(params, PASTEBOARD_DEFAULT);
754 int status = -1;
755
756 OH_UdmfData* getData = OH_Pasteboard_GetDataWithProgress(pasteboard, params, &status);
757 NAPI_ASSERT(env, status == ERR_OK, "OH_Pasteboard_GetDataWithProgress is fail.");
758 NAPI_ASSERT(env, getData != nullptr, "OH_Pasteboard_GetDataWithProgress is fail.");
759
760 unsigned int getrecordCount = 0;
761 OH_UdmfRecord **getRecords = OH_UdmfData_GetRecords(getData, &getrecordCount);
762 NAPI_ASSERT(env, getrecordCount == 1, "OH_UdmfData_GetRecords is fail.");
763 OH_UdsFileUri* getfileUri = OH_UdsFileUri_Create();
764 OH_UdmfRecord_GetFileUri(getRecords[0], getfileUri);
765 const char* getContent = OH_UdsFileUri_GetFileUri(getfileUri);
766 std::string str = uri1;
767 std::string str1 = str + "dstFile.txt";
768 NAPI_ASSERT(env, strcmp(getContent, str1.c_str()) == 0, "OH_UdsPlainText_GetContent is fail.");
769 OH_Pasteboard_ClearData(pasteboard);
770 OH_Pasteboard_ClearData(pasteboard);
771
772 int recode = 0;
773 napi_value result;
774 napi_create_int32(env, recode, &result);
775 OH_Pasteboard_Destroy(pasteboard);
776 OH_UdmfRecord_Destroy(record);
777 OH_UdmfData_Destroy(unifiedData);
778 OH_UdsFileUri_Destroy(fileUri);
779 OH_UdsFileUri_Destroy(getfileUri);
780 OH_Pasteboard_GetDataParams_Destroy(params);
781 return result;
782 }
783
OH_Pasteboard_GetDataWithProgress017(napi_env env,napi_callback_info info)784 static napi_value OH_Pasteboard_GetDataWithProgress017(napi_env env, napi_callback_info info)
785 {
786 const char *uri = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/files/dstFile.txt";
787 OH_UdmfRecord* record = OH_UdmfRecord_Create();
788 OH_UdmfData* unifiedData = OH_UdmfData_Create();
789 OH_Pasteboard* pasteboard = OH_Pasteboard_Create();
790 OH_UdsFileUri* fileUri = OH_UdsFileUri_Create();
791 OH_UdsFileUri_SetFileUri(fileUri, uri);
792 OH_UdmfRecord_AddFileUri(record, fileUri);
793 OH_UdmfData_AddRecord(unifiedData, record);
794 int ret = OH_Pasteboard_SetData(pasteboard, unifiedData);
795 NAPI_ASSERT(env, ret == ERR_OK, "OH_Pasteboard_SetData is fail.");
796
797 const char *uri1 = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/files/haps/";
798 Pasteboard_GetDataParams* params = OH_Pasteboard_GetDataParams_Create();
799 int num = strlen(uri1);
800 OH_Pasteboard_GetDataParams_SetDestUri(params, uri1, num);
801 int status = -1;
802
803 OH_UdmfData* getData = OH_Pasteboard_GetDataWithProgress(pasteboard, g_params, &status);
804 NAPI_ASSERT(env, status == ERR_INVALID_PARAMETER, "OH_Pasteboard_GetDataWithProgress is fail.");
805 OH_Pasteboard_ClearData(pasteboard);
806
807 int recode = 0;
808 napi_value result;
809 napi_create_int32(env, recode, &result);
810 OH_Pasteboard_Destroy(pasteboard);
811 OH_UdmfRecord_Destroy(record);
812 OH_UdmfData_Destroy(unifiedData);
813 OH_UdsFileUri_Destroy(fileUri);
814 OH_Pasteboard_GetDataParams_Destroy(params);
815 return result;
816 }
817
OH_Pasteboard_GetDataWithProgress018(napi_env env,napi_callback_info info)818 static napi_value OH_Pasteboard_GetDataWithProgress018(napi_env env, napi_callback_info info)
819 {
820 const char *uri = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/files/dstFile.txt";
821 OH_UdmfRecord* record = OH_UdmfRecord_Create();
822 OH_UdmfData* unifiedData = OH_UdmfData_Create();
823 OH_Pasteboard* pasteboard = OH_Pasteboard_Create();
824 OH_UdsFileUri* fileUri = OH_UdsFileUri_Create();
825 OH_UdsFileUri_SetFileUri(fileUri, uri);
826 OH_UdmfRecord_AddFileUri(record, fileUri);
827 OH_UdmfData_AddRecord(unifiedData, record);
828 int ret = OH_Pasteboard_SetData(pasteboard, unifiedData);
829 NAPI_ASSERT(env, ret == ERR_OK, "OH_Pasteboard_SetData is fail.");
830
831 const char* uri1 = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/files/haps/";
832 Pasteboard_GetDataParams* params = OH_Pasteboard_GetDataParams_Create();
833 int num = strlen(uri1);
834 OH_Pasteboard_GetDataParams_SetDestUri(params, uri1, num);
835 OH_Pasteboard_GetDataParams_SetFileConflictOptions(params, PASTEBOARD_SKIP);
836 OH_Pasteboard_GetDataParams_SetProgressIndicator(params, PASTEBOARD_NONE);
837 int status = -1;
838
839 OH_UdmfData* getData = OH_Pasteboard_GetDataWithProgress(pasteboard, params, &status);
840 NAPI_ASSERT(env, status == ERR_OK, "OH_Pasteboard_GetDataWithProgress is fail.");
841 NAPI_ASSERT(env, getData != nullptr, "OH_Pasteboard_GetDataWithProgress is fail.");
842
843 unsigned int getrecordCount = 0;
844 OH_UdmfRecord **getRecords = OH_UdmfData_GetRecords(getData, &getrecordCount);
845 NAPI_ASSERT(env, getrecordCount == 1, "OH_UdmfData_GetRecords is fail.");
846 OH_UdsFileUri* getfileUri = OH_UdsFileUri_Create();
847 OH_UdmfRecord_GetFileUri(getRecords[0], getfileUri);
848 const char* getContent = OH_UdsFileUri_GetFileUri(getfileUri);
849 std::string str = uri1;
850 std::string str1 = str + "dstFile.txt";
851 NAPI_ASSERT(env, strcmp(getContent, str1.c_str()) == 0, "OH_UdsFileUri_GetFileUri is fail.");
852 OH_Pasteboard_ClearData(pasteboard);
853
854 int recode = 0;
855 napi_value result;
856 napi_create_int32(env, recode, &result);
857 OH_Pasteboard_Destroy(pasteboard);
858 OH_UdmfRecord_Destroy(record);
859 OH_UdmfData_Destroy(unifiedData);
860 OH_UdsFileUri_Destroy(fileUri);
861 OH_UdsFileUri_Destroy(getfileUri);
862 OH_Pasteboard_GetDataParams_Destroy(params);
863 return result;
864 }
865
OH_Pasteboard_GetDataWithProgress019(napi_env env,napi_callback_info info)866 static napi_value OH_Pasteboard_GetDataWithProgress019(napi_env env, napi_callback_info info)
867 {
868 const char *uri = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/files/dstFile.txt";
869 OH_UdmfRecord* record = OH_UdmfRecord_Create();
870 OH_UdmfData* unifiedData = OH_UdmfData_Create();
871 OH_Pasteboard* pasteboard = OH_Pasteboard_Create();
872 OH_UdsFileUri* fileUri = OH_UdsFileUri_Create();
873 OH_UdsFileUri_SetFileUri(fileUri, uri);
874 OH_UdmfRecord_AddFileUri(record, fileUri);
875 OH_UdmfData_AddRecord(unifiedData, record);
876 int ret = OH_Pasteboard_SetData(pasteboard, unifiedData);
877 NAPI_ASSERT(env, ret == ERR_OK, "OH_Pasteboard_SetData is fail.");
878
879 const char* uri1 = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/files/haps/";
880 g_params = OH_Pasteboard_GetDataParams_Create();
881 int num = strlen(uri1);
882 OH_Pasteboard_GetDataParams_SetDestUri(g_params, uri1, num);
883 OH_Pasteboard_GetDataParams_SetFileConflictOptions(g_params, PASTEBOARD_SKIP);
884 OH_Pasteboard_GetDataParams_SetProgressIndicator(g_params, PASTEBOARD_NONE);
885 OH_Pasteboard_GetDataParams_SetProgressListener(g_params, Pasteboard_ProgressListener);
886 int status = -1;
887
888 OH_UdmfData* getData = OH_Pasteboard_GetDataWithProgress(pasteboard, g_params, &status);
889 NAPI_ASSERT(env, status == ERR_OK, "OH_Pasteboard_GetDataWithProgress is fail.");
890 NAPI_ASSERT(env, getData != nullptr, "OH_Pasteboard_GetDataWithProgress is fail.");
891
892 OH_Pasteboard_ClearData(pasteboard);
893
894 int recode = 0;
895 napi_value result;
896 napi_create_int32(env, recode, &result);
897 OH_Pasteboard_Destroy(pasteboard);
898 OH_UdmfRecord_Destroy(record);
899 OH_UdmfData_Destroy(unifiedData);
900 OH_UdsFileUri_Destroy(fileUri);
901 OH_Pasteboard_GetDataParams_Destroy(g_params);
902 return result;
903 }
904
OH_Pasteboard_GetDataWithProgress020(napi_env env,napi_callback_info info)905 static napi_value OH_Pasteboard_GetDataWithProgress020(napi_env env, napi_callback_info info)
906 {
907 const char *uri = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/files/dstFile.txt";
908 OH_UdmfRecord* record = OH_UdmfRecord_Create();
909 OH_UdmfData* unifiedData = OH_UdmfData_Create();
910 OH_Pasteboard* pasteboard = OH_Pasteboard_Create();
911 OH_UdsFileUri* fileUri = OH_UdsFileUri_Create();
912 OH_UdsFileUri_SetFileUri(fileUri, uri);
913 OH_UdmfRecord_AddFileUri(record, fileUri);
914 OH_UdmfData_AddRecord(unifiedData, record);
915 int ret = OH_Pasteboard_SetData(pasteboard, unifiedData);
916 NAPI_ASSERT(env, ret == ERR_OK, "OH_Pasteboard_SetData is fail.");
917
918 const char* uri1 = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/files/haps/";
919 g_params = OH_Pasteboard_GetDataParams_Create();
920 int num = strlen(uri1);
921 OH_Pasteboard_GetDataParams_SetDestUri(g_params, uri1, num);
922 OH_Pasteboard_GetDataParams_SetFileConflictOptions(g_params, PASTEBOARD_SKIP);
923 OH_Pasteboard_GetDataParams_SetProgressIndicator(g_params, PASTEBOARD_NONE);
924 OH_Pasteboard_GetDataParams_SetProgressListener(g_params, oh_Pasteboard_ProgressListener);
925 int status = -1;
926
927 OH_UdmfData* getData = OH_Pasteboard_GetDataWithProgress(pasteboard, g_params, &status);
928 NAPI_ASSERT(env, status == ERR_OK, "OH_Pasteboard_GetDataWithProgress is fail.");
929 NAPI_ASSERT(env, getData != nullptr, "OH_Pasteboard_GetDataWithProgress is fail.");
930
931 unsigned int getrecordCount = 0;
932 OH_UdmfRecord **getRecords = OH_UdmfData_GetRecords(getData, &getrecordCount);
933 NAPI_ASSERT(env, getrecordCount == 1, "OH_UdmfData_GetRecords is fail.");
934 OH_UdsFileUri* getfileUri = OH_UdsFileUri_Create();
935 OH_UdmfRecord_GetFileUri(getRecords[0], getfileUri);
936 const char* getContent = OH_UdsFileUri_GetFileUri(getfileUri);
937 std::string str = uri1;
938 std::string str1 = str + "dstFile.txt";
939 NAPI_ASSERT(env, strcmp(getContent, str1.c_str()) == 0, "OH_UdsFileUri_GetFileUri is fail.");
940 OH_Pasteboard_ClearData(pasteboard);
941
942 int recode = status;
943 napi_value result;
944 napi_create_int32(env, recode, &result);
945 OH_Pasteboard_Destroy(pasteboard);
946 OH_UdmfRecord_Destroy(record);
947 OH_UdmfData_Destroy(unifiedData);
948 OH_UdsFileUri_Destroy(fileUri);
949 OH_UdsFileUri_Destroy(getfileUri);
950 OH_Pasteboard_GetDataParams_Destroy(g_params);
951 return result;
952 }
953
OH_Pasteboard_GetDataWithProgress021(napi_env env,napi_callback_info info)954 static napi_value OH_Pasteboard_GetDataWithProgress021(napi_env env, napi_callback_info info)
955 {
956 OH_Pasteboard* pasteboard = OH_Pasteboard_Create();
957 const char* uri1 = "file://com.acts.Pastboard.ndkWithPermissionstest/data/storage/el2/base/files/haps/";
958 g_params = OH_Pasteboard_GetDataParams_Create();
959 int num = strlen(uri1);
960 OH_Pasteboard_GetDataParams_SetDestUri(g_params, uri1, num);
961 OH_Pasteboard_GetDataParams_SetFileConflictOptions(g_params, PASTEBOARD_SKIP);
962 OH_Pasteboard_GetDataParams_SetProgressIndicator(g_params, PASTEBOARD_NONE);
963 OH_Pasteboard_GetDataParams_SetProgressListener(g_params, oh_Pasteboard_ProgressListener);
964 int status = -1;
965
966 OH_UdmfData* getData = OH_Pasteboard_GetDataWithProgress(pasteboard, g_params, &status);
967 NAPI_ASSERT(env, status == ERR_PASTEBOARD_GET_DATA_FAILED, "OH_Pasteboard_GetDataWithProgress is fail.");
968 NAPI_ASSERT(env, getData == nullptr, "OH_Pasteboard_GetDataWithProgress is fail.");
969
970 int recode = 0;
971 napi_value result;
972 napi_create_int32(env, recode, &result);
973 OH_Pasteboard_Destroy(pasteboard);
974 OH_Pasteboard_GetDataParams_Destroy(g_params);
975 return result;
976 }
977
978
OH_Pasteboard_GetChangeCount0100(napi_env env,napi_callback_info info)979 static napi_value OH_Pasteboard_GetChangeCount0100(napi_env env, napi_callback_info info)
980 {
981 OH_Pasteboard* pasteboard = OH_Pasteboard_Create();
982 uint32_t changeCount = OH_Pasteboard_GetChangeCount(pasteboard);
983 OH_Pasteboard_ClearData(pasteboard);
984 uint32_t newCount = OH_Pasteboard_GetChangeCount(pasteboard);
985 NAPI_ASSERT(env, newCount == changeCount, "OH_Pasteboard_GetChangeCount is fail.");
986 OH_Pasteboard_Destroy(pasteboard);
987 int errcode = 0;
988 napi_value result;
989 napi_create_double(env, errcode, &result);
990 return result;
991 }
992
OH_Pasteboard_GetChangeCount0200(napi_env env,napi_callback_info info)993 static napi_value OH_Pasteboard_GetChangeCount0200(napi_env env, napi_callback_info info)
994 {
995 OH_Pasteboard* pasteboard = OH_Pasteboard_Create();
996 uint32_t changeCount = OH_Pasteboard_GetChangeCount(pasteboard);
997 OH_UdmfData* setData = OH_UdmfData_Create();
998 OH_UdmfRecord* record = OH_UdmfRecord_Create();
999 OH_UdsPlainText* plainText = OH_UdsPlainText_Create();
1000 char content[] = "hello world";
1001 OH_UdsPlainText_SetContent(plainText, content);
1002 OH_UdmfRecord_AddPlainText(record, plainText);
1003 OH_UdmfData_AddRecord(setData, record);
1004 OH_Pasteboard_SetData(pasteboard, setData);
1005 uint32_t newCount = OH_Pasteboard_GetChangeCount(pasteboard);
1006 NAPI_ASSERT(env, newCount == changeCount + 1, "OH_Pasteboard_GetChangeCount is fail.");
1007 OH_Pasteboard_Destroy(pasteboard);
1008 int errcode = 0;
1009 napi_value result;
1010 napi_create_double(env, errcode, &result);
1011 return result;
1012 }
1013
OH_Pasteboard_GetChangeCount0300(napi_env env,napi_callback_info info)1014 static napi_value OH_Pasteboard_GetChangeCount0300(napi_env env, napi_callback_info info)
1015 {
1016 OH_Pasteboard* pasteboard = OH_Pasteboard_Create();
1017 uint32_t changeCount = OH_Pasteboard_GetChangeCount(pasteboard);
1018 OH_UdmfData* setData = OH_UdmfData_Create();
1019 OH_UdmfRecord* record = OH_UdmfRecord_Create();
1020 OH_UdsPlainText* plainText = OH_UdsPlainText_Create();
1021 char content[] = "hello world";
1022 OH_UdsPlainText_SetContent(plainText, content);
1023 OH_UdmfRecord_AddPlainText(record, plainText);
1024 OH_UdmfData_AddRecord(setData, record);
1025 OH_Pasteboard_SetData(pasteboard, setData);
1026 OH_UdmfRecord* record2 = OH_UdmfRecord_Create();
1027 OH_UdsHtml* htmlText = OH_UdsHtml_Create();
1028 char html[] = "<div class='disabled'>hello</div>";
1029 OH_UdsHtml_SetContent(htmlText, html);
1030 OH_UdmfRecord_AddHtml(record2, htmlText);
1031 OH_UdmfData_AddRecord(setData, record2);
1032 OH_Pasteboard_SetData(pasteboard, setData);
1033 uint32_t newCount = OH_Pasteboard_GetChangeCount(pasteboard);
1034 NAPI_ASSERT(env, newCount == changeCount + 2, "OH_Pasteboard_GetChangeCount is fail.");
1035 OH_Pasteboard_Destroy(pasteboard);
1036 int errcode = 0;
1037 napi_value result;
1038 napi_create_double(env, errcode, &result);
1039 return result;
1040 }
1041
1042 EXTERN_C_START
Init(napi_env env,napi_value exports)1043 static napi_value Init(napi_env env, napi_value exports)
1044 {
1045 napi_property_descriptor desc[] = {
1046 {"OH_Pasteboard_GetDataWithProgress001", nullptr, OH_Pasteboard_GetDataWithProgress001,
1047 nullptr, nullptr, nullptr, napi_default, nullptr},
1048 {"OH_Pasteboard_GetDataWithProgress002", nullptr, OH_Pasteboard_GetDataWithProgress002,
1049 nullptr, nullptr, nullptr, napi_default, nullptr},
1050 {"OH_Pasteboard_GetDataWithProgress003", nullptr, OH_Pasteboard_GetDataWithProgress003,
1051 nullptr, nullptr, nullptr, napi_default, nullptr},
1052 {"OH_Pasteboard_GetDataWithProgress004", nullptr, OH_Pasteboard_GetDataWithProgress004,
1053 nullptr, nullptr, nullptr, napi_default, nullptr},
1054 {"OH_Pasteboard_GetDataWithProgress005", nullptr, OH_Pasteboard_GetDataWithProgress005,
1055 nullptr, nullptr, nullptr, napi_default, nullptr},
1056 {"OH_Pasteboard_GetDataWithProgress006", nullptr, OH_Pasteboard_GetDataWithProgress006,
1057 nullptr, nullptr, nullptr, napi_default, nullptr},
1058 {"OH_Pasteboard_GetDataWithProgress007", nullptr, OH_Pasteboard_GetDataWithProgress007,
1059 nullptr, nullptr, nullptr, napi_default, nullptr},
1060 {"OH_Pasteboard_GetDataWithProgress008", nullptr, OH_Pasteboard_GetDataWithProgress008,
1061 nullptr, nullptr, nullptr, napi_default, nullptr},
1062 {"OH_Pasteboard_GetDataWithProgress009", nullptr, OH_Pasteboard_GetDataWithProgress009,
1063 nullptr, nullptr, nullptr, napi_default, nullptr},
1064 {"OH_Pasteboard_GetDataWithProgress010", nullptr, OH_Pasteboard_GetDataWithProgress010,
1065 nullptr, nullptr, nullptr, napi_default, nullptr},
1066 {"OH_Pasteboard_GetDataWithProgress011", nullptr, OH_Pasteboard_GetDataWithProgress011,
1067 nullptr, nullptr, nullptr, napi_default, nullptr},
1068 {"OH_Pasteboard_GetDataWithProgress012", nullptr, OH_Pasteboard_GetDataWithProgress012,
1069 nullptr, nullptr, nullptr, napi_default, nullptr},
1070 {"OH_Pasteboard_GetDataWithProgress013", nullptr, OH_Pasteboard_GetDataWithProgress013,
1071 nullptr, nullptr, nullptr, napi_default, nullptr},
1072 {"OH_Pasteboard_GetDataWithProgress014", nullptr, OH_Pasteboard_GetDataWithProgress014,
1073 nullptr, nullptr, nullptr, napi_default, nullptr},
1074 {"OH_Pasteboard_GetDataWithProgress015", nullptr, OH_Pasteboard_GetDataWithProgress015,
1075 nullptr, nullptr, nullptr, napi_default, nullptr},
1076 {"OH_Pasteboard_GetDataWithProgress016", nullptr, OH_Pasteboard_GetDataWithProgress016,
1077 nullptr, nullptr, nullptr, napi_default, nullptr},
1078 {"OH_Pasteboard_GetDataWithProgress017", nullptr, OH_Pasteboard_GetDataWithProgress017,
1079 nullptr, nullptr, nullptr, napi_default, nullptr},
1080 {"OH_Pasteboard_GetDataWithProgress018", nullptr, OH_Pasteboard_GetDataWithProgress018,
1081 nullptr, nullptr, nullptr, napi_default, nullptr},
1082 {"OH_Pasteboard_GetDataWithProgress019", nullptr, OH_Pasteboard_GetDataWithProgress019,
1083 nullptr, nullptr, nullptr, napi_default, nullptr},
1084 {"OH_Pasteboard_GetDataWithProgress020", nullptr, OH_Pasteboard_GetDataWithProgress020,
1085 nullptr, nullptr, nullptr, napi_default, nullptr},
1086 {"OH_Pasteboard_GetDataWithProgress021", nullptr, OH_Pasteboard_GetDataWithProgress021,
1087 nullptr, nullptr, nullptr, napi_default, nullptr},
1088 {"OH_Pasteboard_GetChangeCount0100", nullptr, OH_Pasteboard_GetChangeCount0100,
1089 nullptr, nullptr, nullptr, napi_default, nullptr},
1090 {"OH_Pasteboard_GetChangeCount0200", nullptr, OH_Pasteboard_GetChangeCount0200,
1091 nullptr, nullptr, nullptr, napi_default, nullptr},
1092 {"OH_Pasteboard_GetChangeCount0300", nullptr, OH_Pasteboard_GetChangeCount0300,
1093 nullptr, nullptr, nullptr, napi_default, nullptr},
1094 };
1095 napi_define_properties(env, exports, sizeof(desc) / sizeof(desc[0]), desc);
1096 return exports;
1097 }
1098 EXTERN_C_END
1099
1100 static napi_module demoModule = {
1101 .nm_version = 1,
1102 .nm_flags = 0,
1103 .nm_filename = nullptr,
1104 .nm_register_func = Init,
1105 .nm_modname = "entry",
1106 .nm_priv = ((void*)0),
1107 .reserved = { 0 },
1108 };
1109
RegisterEntryModule(void)1110 extern "C" __attribute__((constructor)) void RegisterEntryModule(void)
1111 {
1112 napi_module_register(&demoModule);
1113 }
1114