1/** 2 * Copyright (c) 2023-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 16const { getTestFunction } = require('ets_function_proxy.test.js'); 17 18{ 19 // test simple function-proxy capabilities 20 const sumDouble = getTestFunction('sum_double'); 21 22 ASSERT_TRUE(Object.isSealed(sumDouble)); 23 ASSERT_EQ(sumDouble(3, 4), 3 + 4); 24 25 ASSERT_THROWS(TypeError, () => sumDouble(1)); 26 ASSERT_THROWS(TypeError, () => sumDouble(1, 2, 3, 4)); 27 ASSERT_THROWS(TypeError, () => sumDouble(1, true)); 28} 29 30{ 31 // test object-proxy 32 const pointCreate = getTestFunction('point_create'); 33 const pointGetX = getTestFunction('point_get_x'); 34 const pointGetY = getTestFunction('point_get_y'); 35 36 let p = pointCreate(2, 6); 37 let x = pointGetX(p); 38 let y = pointGetY(p); 39 40 ASSERT_EQ(x, 2); 41 ASSERT_EQ(y, 6); 42} 43