mirror of https://github.com/webpack/webpack.git
				
				
				
			
		
			
				
	
	
		
			117 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			117 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
| /* globals describe, it, beforeEach */
 | |
| "use strict";
 | |
| 
 | |
| const Chunk = require("../lib/Chunk");
 | |
| 
 | |
| describe("Chunk", () => {
 | |
| 	let ChunkInstance;
 | |
| 
 | |
| 	beforeEach(() => {
 | |
| 		ChunkInstance = new Chunk("chunk-test", "module-test", "loc-test");
 | |
| 	});
 | |
| 
 | |
| 	it("should have debugId more than 999", () => {
 | |
| 		expect(ChunkInstance.debugId).toBeGreaterThan(999);
 | |
| 	});
 | |
| 
 | |
| 	it("returns a string with modules information", () => {
 | |
| 		expect(ChunkInstance.toString()).toBe("Chunk[]");
 | |
| 	});
 | |
| 
 | |
| 	it("should not be the initial instance", () => {
 | |
| 		expect(ChunkInstance.canBeInitial()).toBe(false);
 | |
| 	});
 | |
| 
 | |
| 	describe("entry", () => {
 | |
| 		it("returns an error if get entry", () => {
 | |
| 			expect(() => {
 | |
| 				ChunkInstance.entry;
 | |
| 			}).toThrow("Chunk.entry was removed. Use hasRuntime()");
 | |
| 		});
 | |
| 
 | |
| 		it("returns an error if set an entry", () => {
 | |
| 			expect(() => {
 | |
| 				ChunkInstance.entry = 10;
 | |
| 			}).toThrow("Chunk.entry was removed. Use hasRuntime()");
 | |
| 		});
 | |
| 	});
 | |
| 
 | |
| 	describe("initial", () => {
 | |
| 		it("returns an error if get initial", () => {
 | |
| 			expect(() => {
 | |
| 				ChunkInstance.initial;
 | |
| 			}).toThrow("Chunk.initial was removed. Use canBeInitial/isOnlyInitial()");
 | |
| 		});
 | |
| 
 | |
| 		it("returns an error if set an initial", () => {
 | |
| 			expect(() => {
 | |
| 				ChunkInstance.initial = 10;
 | |
| 			}).toThrow("Chunk.initial was removed. Use canBeInitial/isOnlyInitial()");
 | |
| 		});
 | |
| 	});
 | |
| 
 | |
| 	describe("hasRuntime", () => {
 | |
| 		it("returns false", () => {
 | |
| 			expect(ChunkInstance.hasRuntime()).toBe(false);
 | |
| 		});
 | |
| 	});
 | |
| 
 | |
| 	describe("isEmpty", () => {
 | |
| 		it("should NOT have any module by default", () => {
 | |
| 			expect(ChunkInstance.isEmpty()).toBe(true);
 | |
| 		});
 | |
| 	});
 | |
| 
 | |
| 	describe("size", () => {
 | |
| 		it("should NOT have any module by default", () => {
 | |
| 			expect(
 | |
| 				ChunkInstance.size({
 | |
| 					chunkOverhead: 10,
 | |
| 					entryChunkMultiplicator: 2
 | |
| 				})
 | |
| 			).toBe(10);
 | |
| 		});
 | |
| 	});
 | |
| 
 | |
| 	describe("removeModule", () => {
 | |
| 		let module;
 | |
| 		let removeChunkSpy;
 | |
| 
 | |
| 		beforeEach(() => {
 | |
| 			removeChunkSpy = jest.fn();
 | |
| 			module = {
 | |
| 				removeChunk: removeChunkSpy
 | |
| 			};
 | |
| 		});
 | |
| 
 | |
| 		describe("and the chunk does not contain this module", () => {
 | |
| 			it("returns false", () => {
 | |
| 				expect(ChunkInstance.removeModule(module)).toBe(false);
 | |
| 			});
 | |
| 		});
 | |
| 
 | |
| 		describe("and the chunk does contain this module", () => {
 | |
| 			beforeEach(() => {
 | |
| 				ChunkInstance._modules = new Set([module]);
 | |
| 			});
 | |
| 
 | |
| 			it("calls module.removeChunk with itself and returns true", () => {
 | |
| 				expect(ChunkInstance.removeModule(module)).toBe(true);
 | |
| 
 | |
| 				expect(removeChunkSpy.mock.calls.length).toBe(1);
 | |
| 				expect(removeChunkSpy.mock.calls[0][0]).toBe(ChunkInstance);
 | |
| 			});
 | |
| 		});
 | |
| 
 | |
| 		describe("getNumberOfGroups", () => {
 | |
| 			beforeEach(() => {
 | |
| 				ChunkInstance._groups = new Set();
 | |
| 			});
 | |
| 
 | |
| 			it("should return the number of chunk groups contained by the chunk", () => {
 | |
| 				expect(ChunkInstance.getNumberOfGroups()).toBe(0);
 | |
| 			});
 | |
| 		});
 | |
| 	});
 | |
| });
 |