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 }); 130const LinkComponent_1 = __importStar(require("./test/pages/LinkComponent")); 131const DefaultComponent_1 = __importDefault(require("./test/pages/DefaultComponent")); 132const AMDComponentDefault = require("./test/pages/AMDComponent"); 133const TsModule_1 = __importDefault(require("./test/pages/TsModule")); 134class ImportTest extends ViewPU { 135 constructor(parent, params, __localStorage, elmtId = -1, paramsLambda = undefined, extraInfo) { 136 super(parent, __localStorage, elmtId, extraInfo); 137 if (typeof paramsLambda === "function") { 138 this.paramsGenerator_ = paramsLambda; 139 } 140 this.__myState1 = new ObservedPropertyObjectPU(new TsModule_1.default(1).method(), this, "myState1"); 141 this.__myState2 = new ObservedPropertySimplePU(0, this, "myState2"); 142 this.__myState3 = new ObservedPropertySimplePU(false, this, "myState3"); 143 this.__myState4 = new ObservedPropertySimplePU('ImportTest', this, "myState4"); 144 this.setInitiallyProvidedValue(params); 145 } 146 setInitiallyProvidedValue(params) { 147 if (params.myState1 !== undefined) { 148 this.myState1 = params.myState1; 149 } 150 if (params.myState2 !== undefined) { 151 this.myState2 = params.myState2; 152 } 153 if (params.myState3 !== undefined) { 154 this.myState3 = params.myState3; 155 } 156 if (params.myState4 !== undefined) { 157 this.myState4 = params.myState4; 158 } 159 } 160 updateStateVars(params) { 161 } 162 purgeVariableDependenciesOnElmtId(rmElmtId) { 163 this.__myState1.purgeDependencyOnElmtId(rmElmtId); 164 this.__myState2.purgeDependencyOnElmtId(rmElmtId); 165 this.__myState3.purgeDependencyOnElmtId(rmElmtId); 166 this.__myState4.purgeDependencyOnElmtId(rmElmtId); 167 } 168 aboutToBeDeleted() { 169 this.__myState1.aboutToBeDeleted(); 170 this.__myState2.aboutToBeDeleted(); 171 this.__myState3.aboutToBeDeleted(); 172 this.__myState4.aboutToBeDeleted(); 173 SubscriberManager.Get().delete(this.id__()); 174 this.aboutToBeDeletedInternal(); 175 } 176 get myState1() { 177 return this.__myState1.get(); 178 } 179 set myState1(newValue) { 180 this.__myState1.set(newValue); 181 } 182 get myState2() { 183 return this.__myState2.get(); 184 } 185 set myState2(newValue) { 186 this.__myState2.set(newValue); 187 } 188 get myState3() { 189 return this.__myState3.get(); 190 } 191 set myState3(newValue) { 192 this.__myState3.set(newValue); 193 } 194 get myState4() { 195 return this.__myState4.get(); 196 } 197 set myState4(newValue) { 198 this.__myState4.set(newValue); 199 } 200 initialRender() { 201 this.observeComponentCreation2((elmtId, isInitialRender) => { 202 Column.create(); 203 }, Column); 204 { 205 this.observeComponentCreation2((elmtId, isInitialRender) => { 206 if (isInitialRender) { 207 let componentCall = new LinkComponent_1.LinkComponent2(this, { 208 LinkComponent2Link1: this.__myState1, 209 LinkComponent2Link2: this.__myState2, 210 LinkComponent2Link3: this.__myState3, 211 LinkComponent2Link4: this.__myState4, 212 indexState1: { count: 1 }, 213 indexState2: 1, 214 indexState3: true, 215 indexState4: 'LinkComponent2' 216 }, undefined, elmtId, () => { }, { page: "importEts.ets", line: 22 }); 217 ViewPU.create(componentCall); 218 let paramsLambda = () => { 219 return { 220 LinkComponent2Link1: this.myState1, 221 LinkComponent2Link2: this.myState2, 222 LinkComponent2Link3: this.myState3, 223 LinkComponent2Link4: this.myState4, 224 indexState1: { count: 1 }, 225 indexState2: 1, 226 indexState3: true, 227 indexState4: 'LinkComponent2' 228 }; 229 }; 230 componentCall.paramsGenerator_ = paramsLambda; 231 } 232 else { 233 this.updateStateVarsOfChildByElmtId(elmtId, {}); 234 } 235 }, { name: "LinkComponent2Ref" }); 236 } 237 this.observeComponentCreation2((elmtId, isInitialRender) => { 238 Text.create('space'); 239 Text.fontSize(20); 240 Text.fontColor(Color.Red); 241 }, Text); 242 Text.pop(); 243 { 244 this.observeComponentCreation2((elmtId, isInitialRender) => { 245 if (isInitialRender) { 246 let componentCall = new LinkComponent_1.LinkComponent(this, { 247 LinkComponent1Link1: this.__myState1, 248 LinkComponent1Link2: this.__myState2, 249 LinkComponent1Link3: this.__myState3, 250 LinkComponent1Link4: this.__myState4, 251 indexState1: { count: 1 }, 252 indexState2: 1, 253 indexState3: true, 254 indexState4: 'LinkComponent1' 255 }, undefined, elmtId, () => { }, { page: "importEts.ets", line: 35 }); 256 ViewPU.create(componentCall); 257 let paramsLambda = () => { 258 return { 259 LinkComponent1Link1: this.myState1, 260 LinkComponent1Link2: this.myState2, 261 LinkComponent1Link3: this.myState3, 262 LinkComponent1Link4: this.myState4, 263 indexState1: { count: 1 }, 264 indexState2: 1, 265 indexState3: true, 266 indexState4: 'LinkComponent1' 267 }; 268 }; 269 componentCall.paramsGenerator_ = paramsLambda; 270 } 271 else { 272 this.updateStateVarsOfChildByElmtId(elmtId, {}); 273 } 274 }, { name: "LinkComponent1Ref" }); 275 } 276 { 277 this.observeComponentCreation2((elmtId, isInitialRender) => { 278 if (isInitialRender) { 279 let componentCall = new DefaultComponent_1.default(this, { 280 DefaultComponentLink1: this.__myState1, 281 DefaultComponentLink2: this.__myState2, 282 DefaultComponentLink3: this.__myState3, 283 DefaultComponentLink4: this.__myState4, 284 myVar: 100, 285 myVar2: 100 286 }, undefined, elmtId, () => { }, { page: "importEts.ets", line: 45 }); 287 ViewPU.create(componentCall); 288 let paramsLambda = () => { 289 return { 290 DefaultComponentLink1: this.myState1, 291 DefaultComponentLink2: this.myState2, 292 DefaultComponentLink3: this.myState3, 293 DefaultComponentLink4: this.myState4, 294 myVar: 100, 295 myVar2: 100 296 }; 297 }; 298 componentCall.paramsGenerator_ = paramsLambda; 299 } 300 else { 301 this.updateStateVarsOfChildByElmtId(elmtId, {}); 302 } 303 }, { name: "DefaultComponent" }); 304 } 305 { 306 this.observeComponentCreation2((elmtId, isInitialRender) => { 307 if (isInitialRender) { 308 let componentCall = new LinkComponent_1.default(this, { 309 LinkComponent3Link1: this.__myState1, 310 LinkComponent3Link2: this.__myState2, 311 LinkComponent3Link3: this.__myState3, 312 LinkComponent3Link4: this.__myState4, 313 indexState1: { count: 1 }, 314 indexState2: 1, 315 indexState3: true, 316 indexState4: 'LinkComponent3' 317 }, undefined, elmtId, () => { }, { page: "importEts.ets", line: 53 }); 318 ViewPU.create(componentCall); 319 let paramsLambda = () => { 320 return { 321 LinkComponent3Link1: this.myState1, 322 LinkComponent3Link2: this.myState2, 323 LinkComponent3Link3: this.myState3, 324 LinkComponent3Link4: this.myState4, 325 indexState1: { count: 1 }, 326 indexState2: 1, 327 indexState3: true, 328 indexState4: 'LinkComponent3' 329 }; 330 }; 331 componentCall.paramsGenerator_ = paramsLambda; 332 } 333 else { 334 this.updateStateVarsOfChildByElmtId(elmtId, {}); 335 } 336 }, { name: "LinkComponentDefault" }); 337 } 338 { 339 this.observeComponentCreation2((elmtId, isInitialRender) => { 340 if (isInitialRender) { 341 let componentCall = new AMDComponentDefault(this, { 342 AMDComponentLink1: this.__myState1, 343 AMDComponentLink2: this.__myState2, 344 AMDComponentLink3: this.__myState3, 345 AMDComponentLink4: this.__myState4, 346 myVar: 100, 347 myVar2: 100 348 }, undefined, elmtId, () => { }, { page: "importEts.ets", line: 63 }); 349 ViewPU.create(componentCall); 350 let paramsLambda = () => { 351 return { 352 AMDComponentLink1: this.myState1, 353 AMDComponentLink2: this.myState2, 354 AMDComponentLink3: this.myState3, 355 AMDComponentLink4: this.myState4, 356 myVar: 100, 357 myVar2: 100 358 }; 359 }; 360 componentCall.paramsGenerator_ = paramsLambda; 361 } 362 else { 363 this.updateStateVarsOfChildByElmtId(elmtId, {}); 364 } 365 }, { name: "AMDComponentDefault" }); 366 } 367 { 368 this.observeComponentCreation2((elmtId, isInitialRender) => { 369 if (isInitialRender) { 370 let componentCall = new LinkComponent_1.LinkComponent3(this, { 371 LinkComponent3Link1: this.__myState1, 372 LinkComponent3Link2: this.__myState2, 373 LinkComponent3Link3: this.__myState3, 374 LinkComponent3Link4: this.__myState4, 375 indexState1: { count: 1 }, 376 indexState2: 1, 377 indexState3: true, 378 indexState4: 'LinkComponent1' 379 }, undefined, elmtId, () => { }, { page: "importEts.ets", line: 71 }); 380 ViewPU.create(componentCall); 381 let paramsLambda = () => { 382 return { 383 LinkComponent3Link1: this.myState1, 384 LinkComponent3Link2: this.myState2, 385 LinkComponent3Link3: this.myState3, 386 LinkComponent3Link4: this.myState4, 387 indexState1: { count: 1 }, 388 indexState2: 1, 389 indexState3: true, 390 indexState4: 'LinkComponent1' 391 }; 392 }; 393 componentCall.paramsGenerator_ = paramsLambda; 394 } 395 else { 396 this.updateStateVarsOfChildByElmtId(elmtId, {}); 397 } 398 }, { name: "LinkComponent3" }); 399 } 400 Column.pop(); 401 } 402 rerender() { 403 this.updateDirtyElements(); 404 } 405} 406ViewStackProcessor.StartGetAccessRecordingFor(ViewStackProcessor.AllocateNewElmetIdForNextComponent()); 407loadDocument(new ImportTest(undefined, {})); 408ViewStackProcessor.StopGetAccessRecording(); 409` 410