mirror of https://github.com/docker/docs.git
				
				
				
			
		
			
				
	
	
		
			63 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Go
		
	
	
	
| package tarsum
 | |
| 
 | |
| import "testing"
 | |
| 
 | |
| func newFileInfoSums() FileInfoSums {
 | |
| 	return FileInfoSums{
 | |
| 		fileInfoSum{name: "file3", sum: "2abcdef1234567890", pos: 2},
 | |
| 		fileInfoSum{name: "dup1", sum: "deadbeef1", pos: 5},
 | |
| 		fileInfoSum{name: "file1", sum: "0abcdef1234567890", pos: 0},
 | |
| 		fileInfoSum{name: "file4", sum: "3abcdef1234567890", pos: 3},
 | |
| 		fileInfoSum{name: "dup1", sum: "deadbeef0", pos: 4},
 | |
| 		fileInfoSum{name: "file2", sum: "1abcdef1234567890", pos: 1},
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func TestSortFileInfoSums(t *testing.T) {
 | |
| 	dups := newFileInfoSums().GetAllFile("dup1")
 | |
| 	if len(dups) != 2 {
 | |
| 		t.Errorf("expected length 2, got %d", len(dups))
 | |
| 	}
 | |
| 	dups.SortByNames()
 | |
| 	if dups[0].Pos() != 4 {
 | |
| 		t.Errorf("sorted dups should be ordered by position. Expected 4, got %d", dups[0].Pos())
 | |
| 	}
 | |
| 
 | |
| 	fis := newFileInfoSums()
 | |
| 	expected := "0abcdef1234567890"
 | |
| 	fis.SortBySums()
 | |
| 	got := fis[0].Sum()
 | |
| 	if got != expected {
 | |
| 		t.Errorf("Expected %q, got %q", expected, got)
 | |
| 	}
 | |
| 
 | |
| 	fis = newFileInfoSums()
 | |
| 	expected = "dup1"
 | |
| 	fis.SortByNames()
 | |
| 	gotFis := fis[0]
 | |
| 	if gotFis.Name() != expected {
 | |
| 		t.Errorf("Expected %q, got %q", expected, gotFis.Name())
 | |
| 	}
 | |
| 	// since a duplicate is first, ensure it is ordered first by position too
 | |
| 	if gotFis.Pos() != 4 {
 | |
| 		t.Errorf("Expected %d, got %d", 4, gotFis.Pos())
 | |
| 	}
 | |
| 
 | |
| 	fis = newFileInfoSums()
 | |
| 	fis.SortByPos()
 | |
| 	if fis[0].Pos() != 0 {
 | |
| 		t.Errorf("sorted fileInfoSums by Pos should order them by position.")
 | |
| 	}
 | |
| 
 | |
| 	fis = newFileInfoSums()
 | |
| 	expected = "deadbeef1"
 | |
| 	gotFileInfoSum := fis.GetFile("dup1")
 | |
| 	if gotFileInfoSum.Sum() != expected {
 | |
| 		t.Errorf("Expected %q, got %q", expected, gotFileInfoSum)
 | |
| 	}
 | |
| 	if fis.GetFile("noPresent") != nil {
 | |
| 		t.Errorf("Should have return nil if name not found.")
 | |
| 	}
 | |
| 
 | |
| }
 |