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);
 | |
| 		});
 | |
| 	});
 | |
| });
 |