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