| 
									
										
										
										
											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 {
 | 
					
						
							|  |  |  | 		t.Fatalf("expect no error when reading zone, got %q", err)
 | 
					
						
							|  |  |  | 	}
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	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
										 |  |  | 		}
 | 
					
						
							|  |  |  | 	}
 | 
					
						
							|  |  |  | }
 |