mirror of https://github.com/webpack/webpack.git
				
				
				
			
		
			
	
	
		
			95 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
		
		
			
		
	
	
			95 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
|  | var should = require("should"); | ||
|  | var formatLocation = require("../lib/formatLocation"); | ||
|  | 
 | ||
|  | describe("formatLocation", () => { | ||
|  | 	var testCases = [{ | ||
|  | 		name: "undefined", | ||
|  | 		loc: undefined, | ||
|  | 		result: "" | ||
|  | 	}, { | ||
|  | 		name: "null", | ||
|  | 		loc: null, | ||
|  | 		result: "" | ||
|  | 	}, { | ||
|  | 		name: "string", | ||
|  | 		loc: "str", | ||
|  | 		result: "str" | ||
|  | 	}, { | ||
|  | 		name: "number", | ||
|  | 		loc: 12, | ||
|  | 		result: "12" | ||
|  | 	}, { | ||
|  | 		name: "line-column", | ||
|  | 		loc: { | ||
|  | 			start: { | ||
|  | 				line: 1, | ||
|  | 				column: 2 | ||
|  | 			}, | ||
|  | 			end: { | ||
|  | 				line: 3, | ||
|  | 				column: 4 | ||
|  | 			} | ||
|  | 		}, | ||
|  | 		result: "1:2-3:4" | ||
|  | 	}, { | ||
|  | 		name: "line-column (same line)", | ||
|  | 		loc: { | ||
|  | 			start: { | ||
|  | 				line: 1, | ||
|  | 				column: 2 | ||
|  | 			}, | ||
|  | 			end: { | ||
|  | 				line: 1, | ||
|  | 				column: 4 | ||
|  | 			} | ||
|  | 		}, | ||
|  | 		result: "1:2-4" | ||
|  | 	}, { | ||
|  | 		name: "line-column (start only)", | ||
|  | 		loc: { | ||
|  | 			start: { | ||
|  | 				line: 5, | ||
|  | 				column: 6 | ||
|  | 			} | ||
|  | 		}, | ||
|  | 		result: "5:6" | ||
|  | 	}, { | ||
|  | 		name: "start-end string", | ||
|  | 		loc: { | ||
|  | 			start: "start", | ||
|  | 			end: "end" | ||
|  | 		}, | ||
|  | 		result: "start-end" | ||
|  | 	}, { | ||
|  | 		name: "start-end number", | ||
|  | 		loc: { | ||
|  | 			start: 9, | ||
|  | 			end: 7 | ||
|  | 		}, | ||
|  | 		result: "9-7" | ||
|  | 	}, { | ||
|  | 		name: "line", | ||
|  | 		loc: { | ||
|  | 			start: { | ||
|  | 				line: 10 | ||
|  | 			}, | ||
|  | 			end: { | ||
|  | 				index: 20 | ||
|  | 			} | ||
|  | 		}, | ||
|  | 		result: "10:?-+20" | ||
|  | 	}, { | ||
|  | 		name: "line", | ||
|  | 		loc: { | ||
|  | 			start: null, | ||
|  | 			end: /f/ | ||
|  | 		}, | ||
|  | 		result: "" | ||
|  | 	}]; | ||
|  | 	testCases.forEach(testCase => { | ||
|  | 		it(`should format location correctly for ${testCase.name}`, () => { | ||
|  | 			formatLocation(testCase.loc).should.be.eql(testCase.result); | ||
|  | 		}); | ||
|  | 	}); | ||
|  | }); |