1/* 2 * Copyright (c) 2022 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 16exports.source = ` 17import 18LinkComponentDefault, { 19 LinkComponent as LinkComponent1Ref, 20 LinkComponent2 as LinkComponent2Ref, 21 LinkComponent3 22} from './test/pages/LinkComponent' 23import DefaultComponent from "./test/pages/DefaultComponent" 24import AMDComponentDefault = require('./test/pages/AMDComponent') 25import TsModule from './test/pages/TsModule' 26 27@Entry 28@Component 29struct ImportTest { 30 @State myState1: any = new TsModule(1).method() 31 @State myState2: number = 0 32 @State myState3: boolean = false 33 @State myState4: string = 'ImportTest' 34 35 build() { 36 Column() { 37 LinkComponent2Ref({ 38 LinkComponent2Link1: $myState1, 39 LinkComponent2Link2: $myState2, 40 LinkComponent2Link3: $myState3, 41 LinkComponent2Link4: $myState4, 42 indexState1: { count: 1 }, 43 indexState2: 1, 44 indexState3: true, 45 indexState4: 'LinkComponent2' 46 }) 47 Text('space') 48 .fontSize(20) 49 .fontColor(Color.Red) 50 LinkComponent1Ref({ 51 LinkComponent1Link1: $myState1, 52 LinkComponent1Link2: $myState2, 53 LinkComponent1Link3: $myState3, 54 LinkComponent1Link4: $myState4, 55 indexState1: { count: 1 }, 56 indexState2: 1, 57 indexState3: true, 58 indexState4: 'LinkComponent1' 59 }) 60 DefaultComponent({ 61 DefaultComponentLink1: $myState1, 62 DefaultComponentLink2: $myState2, 63 DefaultComponentLink3: $myState3, 64 DefaultComponentLink4: $myState4, 65 myVar: 100, 66 myVar2: 100 67 }) 68 LinkComponentDefault({ 69 LinkComponent3Link1: $myState1, 70 LinkComponent3Link2: $myState2, 71 LinkComponent3Link3: $myState3, 72 LinkComponent3Link4: $myState4, 73 indexState1: { count: 1 }, 74 indexState2: 1, 75 indexState3: true, 76 indexState4: 'LinkComponent3' 77 }) 78 AMDComponentDefault({ 79 AMDComponentLink1: $myState1, 80 AMDComponentLink2: $myState2, 81 AMDComponentLink3: $myState3, 82 AMDComponentLink4: $myState4, 83 myVar: 100, 84 myVar2: 100 85 }) 86 LinkComponent3({ 87 LinkComponent3Link1: $myState1, 88 LinkComponent3Link2: $myState2, 89 LinkComponent3Link3: $myState3, 90 LinkComponent3Link4: $myState4, 91 indexState1: { count: 1 }, 92 indexState2: 1, 93 indexState3: true, 94 indexState4: 'LinkComponent1' 95 }) 96 } 97 } 98} 99` 100 101exports.expectResult = 102`"use strict"; 103var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { 104 if (k2 === undefined) k2 = k; 105 var desc = Object.getOwnPropertyDescriptor(m, k); 106 if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { 107 desc = { enumerable: true, get: function() { return m[k]; } }; 108 } 109 Object.defineProperty(o, k2, desc); 110}) : (function(o, m, k, k2) { 111 if (k2 === undefined) k2 = k; 112 o[k2] = m[k]; 113})); 114var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { 115 Object.defineProperty(o, "default", { enumerable: true, value: v }); 116}) : function(o, v) { 117 o["default"] = v; 118}); 119var __importStar = (this && this.__importStar) || function (mod) { 120 if (mod && mod.__esModule) return mod; 121 var result = {}; 122 if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); 123 __setModuleDefault(result, mod); 124 return result; 125}; 126var __importDefault = (this && this.__importDefault) || function (mod) { 127 return (mod && mod.__esModule) ? mod : { "default": mod }; 128}; 129Object.defineProperty(exports, "__esModule", { value: true }); 130if (!("finalizeConstruction" in ViewPU.prototype)) { 131 Reflect.set(ViewPU.prototype, "finalizeConstruction", () => { }); 132} 133const LinkComponent_1 = __importStar(require("./test/pages/LinkComponent")); 134const DefaultComponent_1 = __importDefault(require("./test/pages/DefaultComponent")); 135const AMDComponentDefault = require("./test/pages/AMDComponent"); 136const TsModule_1 = __importDefault(require("./test/pages/TsModule")); 137class ImportTest extends ViewPU { 138 constructor(parent, params, __localStorage, elmtId = -1, paramsLambda = undefined, extraInfo) { 139 super(parent, __localStorage, elmtId, extraInfo); 140 if (typeof paramsLambda === "function") { 141 this.paramsGenerator_ = paramsLambda; 142 } 143 this.__myState1 = new ObservedPropertyObjectPU(new TsModule_1.default(1).method(), this, "myState1"); 144 this.__myState2 = new ObservedPropertySimplePU(0, this, "myState2"); 145 this.__myState3 = new ObservedPropertySimplePU(false, this, "myState3"); 146 this.__myState4 = new ObservedPropertySimplePU('ImportTest', this, "myState4"); 147 this.setInitiallyProvidedValue(params); 148 this.finalizeConstruction(); 149 } 150 setInitiallyProvidedValue(params) { 151 if (params.myState1 !== undefined) { 152 this.myState1 = params.myState1; 153 } 154 if (params.myState2 !== undefined) { 155 this.myState2 = params.myState2; 156 } 157 if (params.myState3 !== undefined) { 158 this.myState3 = params.myState3; 159 } 160 if (params.myState4 !== undefined) { 161 this.myState4 = params.myState4; 162 } 163 } 164 updateStateVars(params) { 165 } 166 purgeVariableDependenciesOnElmtId(rmElmtId) { 167 this.__myState1.purgeDependencyOnElmtId(rmElmtId); 168 this.__myState2.purgeDependencyOnElmtId(rmElmtId); 169 this.__myState3.purgeDependencyOnElmtId(rmElmtId); 170 this.__myState4.purgeDependencyOnElmtId(rmElmtId); 171 } 172 aboutToBeDeleted() { 173 this.__myState1.aboutToBeDeleted(); 174 this.__myState2.aboutToBeDeleted(); 175 this.__myState3.aboutToBeDeleted(); 176 this.__myState4.aboutToBeDeleted(); 177 SubscriberManager.Get().delete(this.id__()); 178 this.aboutToBeDeletedInternal(); 179 } 180 get myState1() { 181 return this.__myState1.get(); 182 } 183 set myState1(newValue) { 184 this.__myState1.set(newValue); 185 } 186 get myState2() { 187 return this.__myState2.get(); 188 } 189 set myState2(newValue) { 190 this.__myState2.set(newValue); 191 } 192 get myState3() { 193 return this.__myState3.get(); 194 } 195 set myState3(newValue) { 196 this.__myState3.set(newValue); 197 } 198 get myState4() { 199 return this.__myState4.get(); 200 } 201 set myState4(newValue) { 202 this.__myState4.set(newValue); 203 } 204 initialRender() { 205 this.observeComponentCreation2((elmtId, isInitialRender) => { 206 Column.create(); 207 }, Column); 208 { 209 this.observeComponentCreation2((elmtId, isInitialRender) => { 210 if (isInitialRender) { 211 let componentCall = new LinkComponent_1.LinkComponent2(this, { 212 LinkComponent2Link1: this.__myState1, 213 LinkComponent2Link2: this.__myState2, 214 LinkComponent2Link3: this.__myState3, 215 LinkComponent2Link4: this.__myState4, 216 indexState1: { count: 1 }, 217 indexState2: 1, 218 indexState3: true, 219 indexState4: 'LinkComponent2' 220 }, undefined, elmtId, () => { }, { page: "importEts.ets", line: 22, col: 7 }); 221 ViewPU.create(componentCall); 222 let paramsLambda = () => { 223 return { 224 LinkComponent2Link1: this.myState1, 225 LinkComponent2Link2: this.myState2, 226 LinkComponent2Link3: this.myState3, 227 LinkComponent2Link4: this.myState4, 228 indexState1: { count: 1 }, 229 indexState2: 1, 230 indexState3: true, 231 indexState4: 'LinkComponent2' 232 }; 233 }; 234 componentCall.paramsGenerator_ = paramsLambda; 235 } 236 else { 237 this.updateStateVarsOfChildByElmtId(elmtId, {}); 238 } 239 }, { name: "LinkComponent2Ref" }); 240 } 241 this.observeComponentCreation2((elmtId, isInitialRender) => { 242 Text.create('space'); 243 Text.fontSize(20); 244 Text.fontColor(Color.Red); 245 }, Text); 246 Text.pop(); 247 { 248 this.observeComponentCreation2((elmtId, isInitialRender) => { 249 if (isInitialRender) { 250 let componentCall = new LinkComponent_1.LinkComponent(this, { 251 LinkComponent1Link1: this.__myState1, 252 LinkComponent1Link2: this.__myState2, 253 LinkComponent1Link3: this.__myState3, 254 LinkComponent1Link4: this.__myState4, 255 indexState1: { count: 1 }, 256 indexState2: 1, 257 indexState3: true, 258 indexState4: 'LinkComponent1' 259 }, undefined, elmtId, () => { }, { page: "importEts.ets", line: 35, col: 7 }); 260 ViewPU.create(componentCall); 261 let paramsLambda = () => { 262 return { 263 LinkComponent1Link1: this.myState1, 264 LinkComponent1Link2: this.myState2, 265 LinkComponent1Link3: this.myState3, 266 LinkComponent1Link4: this.myState4, 267 indexState1: { count: 1 }, 268 indexState2: 1, 269 indexState3: true, 270 indexState4: 'LinkComponent1' 271 }; 272 }; 273 componentCall.paramsGenerator_ = paramsLambda; 274 } 275 else { 276 this.updateStateVarsOfChildByElmtId(elmtId, {}); 277 } 278 }, { name: "LinkComponent1Ref" }); 279 } 280 { 281 this.observeComponentCreation2((elmtId, isInitialRender) => { 282 if (isInitialRender) { 283 let componentCall = new DefaultComponent_1.default(this, { 284 DefaultComponentLink1: this.__myState1, 285 DefaultComponentLink2: this.__myState2, 286 DefaultComponentLink3: this.__myState3, 287 DefaultComponentLink4: this.__myState4, 288 myVar: 100, 289 myVar2: 100 290 }, undefined, elmtId, () => { }, { page: "importEts.ets", line: 45, col: 7 }); 291 ViewPU.create(componentCall); 292 let paramsLambda = () => { 293 return { 294 DefaultComponentLink1: this.myState1, 295 DefaultComponentLink2: this.myState2, 296 DefaultComponentLink3: this.myState3, 297 DefaultComponentLink4: this.myState4, 298 myVar: 100, 299 myVar2: 100 300 }; 301 }; 302 componentCall.paramsGenerator_ = paramsLambda; 303 } 304 else { 305 this.updateStateVarsOfChildByElmtId(elmtId, {}); 306 } 307 }, { name: "DefaultComponent" }); 308 } 309 { 310 this.observeComponentCreation2((elmtId, isInitialRender) => { 311 if (isInitialRender) { 312 let componentCall = new LinkComponent_1.default(this, { 313 LinkComponent3Link1: this.__myState1, 314 LinkComponent3Link2: this.__myState2, 315 LinkComponent3Link3: this.__myState3, 316 LinkComponent3Link4: this.__myState4, 317 indexState1: { count: 1 }, 318 indexState2: 1, 319 indexState3: true, 320 indexState4: 'LinkComponent3' 321 }, undefined, elmtId, () => { }, { page: "importEts.ets", line: 53, col: 7 }); 322 ViewPU.create(componentCall); 323 let paramsLambda = () => { 324 return { 325 LinkComponent3Link1: this.myState1, 326 LinkComponent3Link2: this.myState2, 327 LinkComponent3Link3: this.myState3, 328 LinkComponent3Link4: this.myState4, 329 indexState1: { count: 1 }, 330 indexState2: 1, 331 indexState3: true, 332 indexState4: 'LinkComponent3' 333 }; 334 }; 335 componentCall.paramsGenerator_ = paramsLambda; 336 } 337 else { 338 this.updateStateVarsOfChildByElmtId(elmtId, {}); 339 } 340 }, { name: "LinkComponentDefault" }); 341 } 342 { 343 this.observeComponentCreation2((elmtId, isInitialRender) => { 344 if (isInitialRender) { 345 let componentCall = new AMDComponentDefault(this, { 346 AMDComponentLink1: this.__myState1, 347 AMDComponentLink2: this.__myState2, 348 AMDComponentLink3: this.__myState3, 349 AMDComponentLink4: this.__myState4, 350 myVar: 100, 351 myVar2: 100 352 }, undefined, elmtId, () => { }, { page: "importEts.ets", line: 63, col: 7 }); 353 ViewPU.create(componentCall); 354 let paramsLambda = () => { 355 return { 356 AMDComponentLink1: this.myState1, 357 AMDComponentLink2: this.myState2, 358 AMDComponentLink3: this.myState3, 359 AMDComponentLink4: this.myState4, 360 myVar: 100, 361 myVar2: 100 362 }; 363 }; 364 componentCall.paramsGenerator_ = paramsLambda; 365 } 366 else { 367 this.updateStateVarsOfChildByElmtId(elmtId, {}); 368 } 369 }, { name: "AMDComponentDefault" }); 370 } 371 { 372 this.observeComponentCreation2((elmtId, isInitialRender) => { 373 if (isInitialRender) { 374 let componentCall = new LinkComponent_1.LinkComponent3(this, { 375 LinkComponent3Link1: this.__myState1, 376 LinkComponent3Link2: this.__myState2, 377 LinkComponent3Link3: this.__myState3, 378 LinkComponent3Link4: this.__myState4, 379 indexState1: { count: 1 }, 380 indexState2: 1, 381 indexState3: true, 382 indexState4: 'LinkComponent1' 383 }, undefined, elmtId, () => { }, { page: "importEts.ets", line: 71, col: 7 }); 384 ViewPU.create(componentCall); 385 let paramsLambda = () => { 386 return { 387 LinkComponent3Link1: this.myState1, 388 LinkComponent3Link2: this.myState2, 389 LinkComponent3Link3: this.myState3, 390 LinkComponent3Link4: this.myState4, 391 indexState1: { count: 1 }, 392 indexState2: 1, 393 indexState3: true, 394 indexState4: 'LinkComponent1' 395 }; 396 }; 397 componentCall.paramsGenerator_ = paramsLambda; 398 } 399 else { 400 this.updateStateVarsOfChildByElmtId(elmtId, {}); 401 } 402 }, { name: "LinkComponent3" }); 403 } 404 Column.pop(); 405 } 406 rerender() { 407 this.updateDirtyElements(); 408 } 409} 410ViewStackProcessor.StartGetAccessRecordingFor(ViewStackProcessor.AllocateNewElmetIdForNextComponent()); 411loadDocument(new ImportTest(undefined, {})); 412ViewStackProcessor.StopGetAccessRecording(); 413` 414