gitlab.com/greut/eclint@v0.5.2-0.20240402114752-14681fe6e0bf/integration_test.go (about) 1 package eclint_test 2 3 import ( 4 "context" 5 "fmt" 6 "testing" 7 8 "gitlab.com/greut/eclint" 9 ) 10 11 func TestLintSimple(t *testing.T) { 12 ctx := context.TODO() 13 14 for _, err := range eclint.Lint(ctx, "testdata/simple/simple.txt") { 15 if err != nil { 16 t.Errorf("no errors where expected, got %s", err) 17 } 18 } 19 } 20 21 func TestLintMissing(t *testing.T) { 22 ctx := context.TODO() 23 24 errs := eclint.Lint(ctx, "testdata/missing/file") 25 if len(errs) == 0 { 26 t.Error("an error was expected, got none") 27 } 28 29 for _, err := range errs { 30 if err == nil { 31 t.Error("an error was expected") 32 } 33 } 34 } 35 36 func TestLintInvalid(t *testing.T) { 37 ctx := context.TODO() 38 39 errs := eclint.Lint(ctx, "testdata/invalid/.editorconfig") 40 if len(errs) == 0 { 41 t.Error("an error was expected, got none") 42 } 43 44 for _, err := range errs { 45 if err == nil { 46 t.Error("an error was expected") 47 } 48 } 49 } 50 51 func TestBlockCommentValidSpec(t *testing.T) { 52 ctx := context.TODO() 53 54 for _, f := range []string{"a", "b"} { 55 for _, err := range eclint.Lint(ctx, "./testdata/block_comments/"+f) { 56 if err != nil { 57 t.Fatalf("no errors where expected, got %s", err) 58 } 59 } 60 } 61 } 62 63 func TestBlockCommentInvalidSpec(t *testing.T) { 64 ctx := context.TODO() 65 66 for _, f := range []string{"c"} { 67 errs := eclint.Lint(ctx, "./testdata/block_comments/"+f) 68 if len(errs) == 0 { 69 t.Errorf("one error was expected, got none") 70 } 71 } 72 } 73 74 func TestLintCharset(t *testing.T) { 75 ctx := context.TODO() 76 77 for _, f := range []string{"ascii", "ascii2", "iso-8859-1", "utf8"} { 78 for _, err := range eclint.Lint(ctx, fmt.Sprintf("./testdata/charset/%s.txt", f)) { 79 if err != nil { 80 t.Errorf("no errors where expected, got %s", err) 81 } 82 } 83 } 84 } 85 86 func TestLintImages(t *testing.T) { 87 ctx := context.TODO() 88 89 for _, f := range []string{"edcon_tool.png", "edcon_tool.pdf", "hello.txt.gz"} { 90 for _, err := range eclint.Lint(ctx, "./testdata/images/"+f) { 91 if err != nil { 92 t.Fatalf("no errors where expected, got %s", err) 93 } 94 } 95 } 96 } 97 98 func TestMaxLineLengthValidSpec(t *testing.T) { 99 ctx := context.TODO() 100 101 for _, f := range []string{"a", "b"} { 102 for _, err := range eclint.Lint(ctx, "./testdata/max_line_length/"+f) { 103 if err != nil { 104 t.Fatalf("no errors where expected, got %s", err) 105 } 106 } 107 } 108 } 109 110 func TestMaxLineLengthInvalidSpec(t *testing.T) { 111 ctx := context.TODO() 112 113 for _, f := range []string{"c"} { 114 errs := eclint.Lint(ctx, "./testdata/max_line_length/"+f) 115 if len(errs) == 0 { 116 t.Errorf("one error was expected, got none") 117 } 118 } 119 } 120 121 func TestInsertFinalNewlineSpec(t *testing.T) { 122 ctx := context.TODO() 123 124 for _, f := range []string{"with_final_newline.txt", "no_final_newline.md"} { 125 for _, err := range eclint.Lint(ctx, "./testdata/insert_final_newline/"+f) { 126 if err != nil { 127 t.Fatalf("no errors where expected, got %s", err) 128 } 129 } 130 } 131 } 132 133 func TestInsertFinalNewlineInvalidSpec(t *testing.T) { 134 ctx := context.TODO() 135 136 for _, f := range []string{"no_final_newline.txt", "with_final_newline.md"} { 137 errs := eclint.Lint(ctx, "./testdata/insert_final_newline/"+f) 138 if len(errs) == 0 { 139 t.Errorf("one error was expected, got none") 140 } 141 } 142 }