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) { 132 super(parent, __localStorage, elmtId); 133 this.__myState1 = new ObservedPropertyObjectPU(new TsModule_1.default(1).method(), this, "myState1"); 134 this.__myState2 = new ObservedPropertySimplePU(0, this, "myState2"); 135 this.__myState3 = new ObservedPropertySimplePU(false, this, "myState3"); 136 this.__myState4 = new ObservedPropertySimplePU('ImportTest', this, "myState4"); 137 this.setInitiallyProvidedValue(params); 138 } 139 setInitiallyProvidedValue(params) { 140 if (params.myState1 !== undefined) { 141 this.myState1 = params.myState1; 142 } 143 if (params.myState2 !== undefined) { 144 this.myState2 = params.myState2; 145 } 146 if (params.myState3 !== undefined) { 147 this.myState3 = params.myState3; 148 } 149 if (params.myState4 !== undefined) { 150 this.myState4 = params.myState4; 151 } 152 } 153 updateStateVars(params) { 154 } 155 purgeVariableDependenciesOnElmtId(rmElmtId) { 156 this.__myState1.purgeDependencyOnElmtId(rmElmtId); 157 this.__myState2.purgeDependencyOnElmtId(rmElmtId); 158 this.__myState3.purgeDependencyOnElmtId(rmElmtId); 159 this.__myState4.purgeDependencyOnElmtId(rmElmtId); 160 } 161 aboutToBeDeleted() { 162 this.__myState1.aboutToBeDeleted(); 163 this.__myState2.aboutToBeDeleted(); 164 this.__myState3.aboutToBeDeleted(); 165 this.__myState4.aboutToBeDeleted(); 166 SubscriberManager.Get().delete(this.id__()); 167 this.aboutToBeDeletedInternal(); 168 } 169 get myState1() { 170 return this.__myState1.get(); 171 } 172 set myState1(newValue) { 173 this.__myState1.set(newValue); 174 } 175 get myState2() { 176 return this.__myState2.get(); 177 } 178 set myState2(newValue) { 179 this.__myState2.set(newValue); 180 } 181 get myState3() { 182 return this.__myState3.get(); 183 } 184 set myState3(newValue) { 185 this.__myState3.set(newValue); 186 } 187 get myState4() { 188 return this.__myState4.get(); 189 } 190 set myState4(newValue) { 191 this.__myState4.set(newValue); 192 } 193 initialRender() { 194 this.observeComponentCreation((elmtId, isInitialRender) => { 195 ViewStackProcessor.StartGetAccessRecordingFor(elmtId); 196 Column.create(); 197 if (!isInitialRender) { 198 Column.pop(); 199 } 200 ViewStackProcessor.StopGetAccessRecording(); 201 }); 202 { 203 this.observeComponentCreation((elmtId, isInitialRender) => { 204 ViewStackProcessor.StartGetAccessRecordingFor(elmtId); 205 if (isInitialRender) { 206 ViewPU.create(new LinkComponent_1.LinkComponent2(this, { 207 LinkComponent2Link1: this.__myState1, 208 LinkComponent2Link2: this.__myState2, 209 LinkComponent2Link3: this.__myState3, 210 LinkComponent2Link4: this.__myState4, 211 indexState1: { count: 1 }, 212 indexState2: 1, 213 indexState3: true, 214 indexState4: 'LinkComponent2' 215 }, undefined, elmtId)); 216 } 217 else { 218 this.updateStateVarsOfChildByElmtId(elmtId, {}); 219 } 220 ViewStackProcessor.StopGetAccessRecording(); 221 }); 222 } 223 this.observeComponentCreation((elmtId, isInitialRender) => { 224 ViewStackProcessor.StartGetAccessRecordingFor(elmtId); 225 Text.create('space'); 226 Text.fontSize(20); 227 Text.fontColor(Color.Red); 228 if (!isInitialRender) { 229 Text.pop(); 230 } 231 ViewStackProcessor.StopGetAccessRecording(); 232 }); 233 Text.pop(); 234 { 235 this.observeComponentCreation((elmtId, isInitialRender) => { 236 ViewStackProcessor.StartGetAccessRecordingFor(elmtId); 237 if (isInitialRender) { 238 ViewPU.create(new LinkComponent_1.LinkComponent(this, { 239 LinkComponent1Link1: this.__myState1, 240 LinkComponent1Link2: this.__myState2, 241 LinkComponent1Link3: this.__myState3, 242 LinkComponent1Link4: this.__myState4, 243 indexState1: { count: 1 }, 244 indexState2: 1, 245 indexState3: true, 246 indexState4: 'LinkComponent1' 247 }, undefined, elmtId)); 248 } 249 else { 250 this.updateStateVarsOfChildByElmtId(elmtId, {}); 251 } 252 ViewStackProcessor.StopGetAccessRecording(); 253 }); 254 } 255 { 256 this.observeComponentCreation((elmtId, isInitialRender) => { 257 ViewStackProcessor.StartGetAccessRecordingFor(elmtId); 258 if (isInitialRender) { 259 ViewPU.create(new DefaultComponent_1.default(this, { 260 DefaultComponentLink1: this.__myState1, 261 DefaultComponentLink2: this.__myState2, 262 DefaultComponentLink3: this.__myState3, 263 DefaultComponentLink4: this.__myState4, 264 myVar: 100, 265 myVar2: 100 266 }, undefined, elmtId)); 267 } 268 else { 269 this.updateStateVarsOfChildByElmtId(elmtId, {}); 270 } 271 ViewStackProcessor.StopGetAccessRecording(); 272 }); 273 } 274 { 275 this.observeComponentCreation((elmtId, isInitialRender) => { 276 ViewStackProcessor.StartGetAccessRecordingFor(elmtId); 277 if (isInitialRender) { 278 ViewPU.create(new LinkComponent_1.default(this, { 279 LinkComponent3Link1: this.__myState1, 280 LinkComponent3Link2: this.__myState2, 281 LinkComponent3Link3: this.__myState3, 282 LinkComponent3Link4: this.__myState4, 283 indexState1: { count: 1 }, 284 indexState2: 1, 285 indexState3: true, 286 indexState4: 'LinkComponent3' 287 }, undefined, elmtId)); 288 } 289 else { 290 this.updateStateVarsOfChildByElmtId(elmtId, {}); 291 } 292 ViewStackProcessor.StopGetAccessRecording(); 293 }); 294 } 295 { 296 this.observeComponentCreation((elmtId, isInitialRender) => { 297 ViewStackProcessor.StartGetAccessRecordingFor(elmtId); 298 if (isInitialRender) { 299 ViewPU.create(new AMDComponentDefault(this, { 300 AMDComponentLink1: this.__myState1, 301 AMDComponentLink2: this.__myState2, 302 AMDComponentLink3: this.__myState3, 303 AMDComponentLink4: this.__myState4, 304 myVar: 100, 305 myVar2: 100 306 }, undefined, elmtId)); 307 } 308 else { 309 this.updateStateVarsOfChildByElmtId(elmtId, {}); 310 } 311 ViewStackProcessor.StopGetAccessRecording(); 312 }); 313 } 314 { 315 this.observeComponentCreation((elmtId, isInitialRender) => { 316 ViewStackProcessor.StartGetAccessRecordingFor(elmtId); 317 if (isInitialRender) { 318 ViewPU.create(new LinkComponent_1.LinkComponent3(this, { 319 LinkComponent3Link1: this.__myState1, 320 LinkComponent3Link2: this.__myState2, 321 LinkComponent3Link3: this.__myState3, 322 LinkComponent3Link4: this.__myState4, 323 indexState1: { count: 1 }, 324 indexState2: 1, 325 indexState3: true, 326 indexState4: 'LinkComponent1' 327 }, undefined, elmtId)); 328 } 329 else { 330 this.updateStateVarsOfChildByElmtId(elmtId, {}); 331 } 332 ViewStackProcessor.StopGetAccessRecording(); 333 }); 334 } 335 Column.pop(); 336 } 337 rerender() { 338 this.updateDirtyElements(); 339 } 340} 341ViewStackProcessor.StartGetAccessRecordingFor(ViewStackProcessor.AllocateNewElmetIdForNextComponent()); 342loadDocument(new ImportTest(undefined, {})); 343ViewStackProcessor.StopGetAccessRecording(); 344` 345