| 
									
										
										
										
											2017-06-14 00:58:14 +08:00
										 |  |  | "use strict"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | const Module = require("../lib/Module"); | 
					
						
							|  |  |  | const Chunk = require("../lib/Chunk"); | 
					
						
							|  |  |  | const Dependency = require("../lib/Dependency"); | 
					
						
							|  |  |  | const ModuleReason = require("../lib/ModuleReason"); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | describe("ModuleReason", () => { | 
					
						
							|  |  |  | 	let myModule; | 
					
						
							|  |  |  | 	let myDependency; | 
					
						
							|  |  |  | 	let myModuleReason; | 
					
						
							|  |  |  | 	let myChunk; | 
					
						
							|  |  |  | 	let myChunk2; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	beforeEach(() => { | 
					
						
							|  |  |  | 		myModule = new Module(); | 
					
						
							|  |  |  | 		myDependency = new Dependency(); | 
					
						
							|  |  |  | 		myChunk = new Chunk("chunk-test", "module-test", "loc-test"); | 
					
						
							|  |  |  | 		myChunk2 = new Chunk("chunk-test", "module-test", "loc-test"); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		myModuleReason = new ModuleReason(myModule, myDependency); | 
					
						
							|  |  |  | 	}); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	describe("hasChunk", () => { | 
					
						
							| 
									
										
										
										
											2018-01-24 20:17:21 +08:00
										 |  |  | 		it("returns false when chunk is not present", () => { | 
					
						
							|  |  |  | 			expect(myModuleReason.hasChunk(myChunk)).toBe(false); | 
					
						
							|  |  |  | 		}); | 
					
						
							| 
									
										
										
										
											2017-06-14 00:58:14 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 		it("returns true when chunk is present", () => { | 
					
						
							|  |  |  | 			myModuleReason.module.addChunk(myChunk); | 
					
						
							| 
									
										
										
										
											2018-01-24 20:17:21 +08:00
										 |  |  | 			expect(myModuleReason.hasChunk(myChunk)).toBe(true); | 
					
						
							| 
									
										
										
										
											2017-06-14 00:58:14 +08:00
										 |  |  | 		}); | 
					
						
							|  |  |  | 	}); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	describe("rewriteChunks", () => { | 
					
						
							|  |  |  | 		it("if old chunk is present, it is replaced with new chunks", () => { | 
					
						
							|  |  |  | 			myModuleReason.module.addChunk(myChunk); | 
					
						
							|  |  |  | 			myModuleReason.rewriteChunks(myChunk, [myChunk2]); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-24 20:17:21 +08:00
										 |  |  | 			expect(myModuleReason.hasChunk(myChunk)).toBe(false); | 
					
						
							|  |  |  | 			expect(myModuleReason.hasChunk(myChunk2)).toBe(true); | 
					
						
							| 
									
										
										
										
											2017-06-14 00:58:14 +08:00
										 |  |  | 		}); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		it("if old chunk is not present, new chunks are not added", () => { | 
					
						
							|  |  |  | 			myModuleReason.rewriteChunks(myChunk, [myChunk2]); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-24 20:17:21 +08:00
										 |  |  | 			expect(myModuleReason.hasChunk(myChunk)).toBe(false); | 
					
						
							|  |  |  | 			expect(myModuleReason.hasChunk(myChunk2)).toBe(false); | 
					
						
							| 
									
										
										
										
											2017-06-14 00:58:14 +08:00
										 |  |  | 		}); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		it("if already rewritten chunk is present, it is replaced with new chunks", () => { | 
					
						
							|  |  |  | 			myModuleReason.module.addChunk(myChunk); | 
					
						
							|  |  |  | 			myModuleReason.rewriteChunks(myChunk, [myChunk2]); | 
					
						
							|  |  |  | 			myModuleReason.rewriteChunks(myChunk2, [myChunk]); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-24 20:17:21 +08:00
										 |  |  | 			expect(myModuleReason.hasChunk(myChunk)).toBe(true); | 
					
						
							|  |  |  | 			expect(myModuleReason.hasChunk(myChunk2)).toBe(false); | 
					
						
							| 
									
										
										
										
											2017-06-14 00:58:14 +08:00
										 |  |  | 		}); | 
					
						
							|  |  |  | 	}); | 
					
						
							|  |  |  | }); |