mirror of https://github.com/webpack/webpack.git
				
				
				
			
		
			
				
	
	
		
			29 lines
		
	
	
		
			855 B
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			855 B
		
	
	
	
		
			JavaScript
		
	
	
	
| "use strict";
 | |
| 
 | |
| const SortableSet = require("../lib/util/SortableSet");
 | |
| 
 | |
| describe("util/SortableSet", () => {
 | |
| 	it("Can be constructed like a normal Set", () => {
 | |
| 		const sortableSet = new SortableSet([1, 1, 1, 1, 1, 4, 5, 2], () => {});
 | |
| 		expect(Array.from(sortableSet)).toEqual([1, 4, 5, 2]);
 | |
| 	});
 | |
| 
 | |
| 	it("Can sort its content", () => {
 | |
| 		const sortableSet = new SortableSet(
 | |
| 			[1, 1, 1, 6, 6, 1, 1, 4, 5, 2, 3, 8, 5, 7, 9, 0, 3, 1],
 | |
| 			(a, b) => a - b
 | |
| 		);
 | |
| 		sortableSet.sort();
 | |
| 		expect(Array.from(sortableSet)).toEqual([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]);
 | |
| 	});
 | |
| 
 | |
| 	it("Can sort by a specified function", () => {
 | |
| 		const sortableSet = new SortableSet(
 | |
| 			[1, 1, 1, 6, 6, 1, 1, 4, 5, 2, 3, 8, 5, 7, 9, 0, 3, 1],
 | |
| 			(a, b) => a - b
 | |
| 		);
 | |
| 		sortableSet.sortWith((a, b) => b - a);
 | |
| 		expect(Array.from(sortableSet)).toEqual([9, 8, 7, 6, 5, 4, 3, 2, 1, 0]);
 | |
| 	});
 | |
| });
 |