| 
									
										
										
										
											2016-03-30 16:45:02 +00:00
										 |  |  | package file | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import ( | 
					
						
							|  |  |  | 	"strings" | 
					
						
							|  |  |  | 	"testing" | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func TestClosestEncloser(t *testing.T) { | 
					
						
							| 
									
										
										
										
											2017-06-08 18:43:11 +01:00
										 |  |  | 	z, err := Parse(strings.NewReader(dbMiekNL), testzone, "stdin", 0) | 
					
						
							| 
									
										
										
										
											2016-03-30 16:45:02 +00:00
										 |  |  | 	if err != nil { | 
					
						
							| 
									
										
										
										
											2018-05-07 22:47:25 +01:00
										 |  |  | 		t.Fatalf("Expect no error when reading zone, got %q", err) | 
					
						
							| 
									
										
										
										
											2016-03-30 16:45:02 +00:00
										 |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	tests := []struct { | 
					
						
							|  |  |  | 		in, out string | 
					
						
							|  |  |  | 	}{ | 
					
						
							|  |  |  | 		{"miek.nl.", "miek.nl."}, | 
					
						
							| 
									
										
										
										
											2016-03-30 20:13:48 +01:00
										 |  |  | 		{"www.miek.nl.", "www.miek.nl."}, | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-30 16:45:02 +00:00
										 |  |  | 		{"blaat.miek.nl.", "miek.nl."}, | 
					
						
							| 
									
										
										
										
											2016-03-30 20:13:48 +01:00
										 |  |  | 		{"blaat.www.miek.nl.", "www.miek.nl."}, | 
					
						
							|  |  |  | 		{"www.blaat.miek.nl.", "miek.nl."}, | 
					
						
							|  |  |  | 		{"blaat.a.miek.nl.", "a.miek.nl."}, | 
					
						
							| 
									
										
										
										
											2016-03-30 16:45:02 +00:00
										 |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	for _, tc := range tests { | 
					
						
							| 
									
										
										
										
											2016-11-05 14:39:49 +00:00
										 |  |  | 		ce, _ := z.ClosestEncloser(tc.in) | 
					
						
							|  |  |  | 		if ce == nil { | 
					
						
							|  |  |  | 			if z.origin != tc.out { | 
					
						
							|  |  |  | 				t.Errorf("Expected ce to be %s for %s, got %s", tc.out, tc.in, ce.Name()) | 
					
						
							|  |  |  | 			} | 
					
						
							|  |  |  | 			continue | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 		if ce.Name() != tc.out { | 
					
						
							|  |  |  | 			t.Errorf("Expected ce to be %s for %s, got %s", tc.out, tc.in, ce.Name()) | 
					
						
							| 
									
										
										
										
											2016-03-30 16:45:02 +00:00
										 |  |  | 		} | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | } |