github.com/jpreese/tflint@v0.19.2-0.20200908152133-b01686250fb6/tflint/issue_test.go (about) 1 package tflint 2 3 import ( 4 "testing" 5 6 "github.com/google/go-cmp/cmp" 7 hcl "github.com/hashicorp/hcl/v2" 8 ) 9 10 func Test_Sort(t *testing.T) { 11 issues := Issues{ 12 { 13 Rule: &testRule{}, 14 Message: "test", 15 Range: hcl.Range{ 16 Filename: "test2.tf", 17 Start: hcl.Pos{Line: 1, Column: 1}, 18 End: hcl.Pos{Line: 1, Column: 2}, 19 }, 20 }, 21 { 22 Rule: &testRule{}, 23 Message: "test", 24 Range: hcl.Range{ 25 Filename: "test1.tf", 26 Start: hcl.Pos{Line: 2, Column: 1}, 27 End: hcl.Pos{Line: 2, Column: 2}, 28 }, 29 }, 30 { 31 Rule: &testRule{}, 32 Message: "test", 33 Range: hcl.Range{ 34 Filename: "test1.tf", 35 Start: hcl.Pos{Line: 1, Column: 1}, 36 End: hcl.Pos{Line: 1, Column: 2}, 37 }, 38 }, 39 { 40 Rule: &testRule{}, 41 Message: "test", 42 Range: hcl.Range{ 43 Filename: "test1.tf", 44 Start: hcl.Pos{Line: 1, Column: 1}, 45 End: hcl.Pos{Line: 2, Column: 3}, 46 }, 47 }, 48 { 49 Rule: &testRule{}, 50 Message: "test", 51 Range: hcl.Range{ 52 Filename: "test1.tf", 53 Start: hcl.Pos{Line: 2, Column: 2}, 54 End: hcl.Pos{Line: 2, Column: 3}, 55 }, 56 }, 57 { 58 Rule: &testRule{}, 59 Message: "test", 60 Range: hcl.Range{ 61 Filename: "test1.tf", 62 Start: hcl.Pos{Line: 1, Column: 1}, 63 End: hcl.Pos{Line: 2, Column: 4}, 64 }, 65 }, 66 } 67 68 expected := Issues{ 69 { 70 Rule: &testRule{}, 71 Message: "test", 72 Range: hcl.Range{ 73 Filename: "test1.tf", 74 Start: hcl.Pos{Line: 1, Column: 1}, 75 End: hcl.Pos{Line: 2, Column: 4}, 76 }, 77 }, 78 { 79 Rule: &testRule{}, 80 Message: "test", 81 Range: hcl.Range{ 82 Filename: "test1.tf", 83 Start: hcl.Pos{Line: 1, Column: 1}, 84 End: hcl.Pos{Line: 2, Column: 3}, 85 }, 86 }, 87 { 88 Rule: &testRule{}, 89 Message: "test", 90 Range: hcl.Range{ 91 Filename: "test1.tf", 92 Start: hcl.Pos{Line: 1, Column: 1}, 93 End: hcl.Pos{Line: 1, Column: 2}, 94 }, 95 }, 96 { 97 Rule: &testRule{}, 98 Message: "test", 99 Range: hcl.Range{ 100 Filename: "test1.tf", 101 Start: hcl.Pos{Line: 2, Column: 1}, 102 End: hcl.Pos{Line: 2, Column: 2}, 103 }, 104 }, 105 { 106 Rule: &testRule{}, 107 Message: "test", 108 Range: hcl.Range{ 109 Filename: "test1.tf", 110 Start: hcl.Pos{Line: 2, Column: 2}, 111 End: hcl.Pos{Line: 2, Column: 3}, 112 }, 113 }, 114 { 115 Rule: &testRule{}, 116 Message: "test", 117 Range: hcl.Range{ 118 Filename: "test2.tf", 119 Start: hcl.Pos{Line: 1, Column: 1}, 120 End: hcl.Pos{Line: 1, Column: 2}, 121 }, 122 }, 123 } 124 125 got := issues.Sort() 126 if !cmp.Equal(got, expected) { 127 t.Fatalf("Failed: diff=%s", cmp.Diff(got, expected)) 128 } 129 }