github.com/errata-ai/vale/v3@v3.4.2/internal/core/source_test.go (about) 1 package core 2 3 import ( 4 "os" 5 "path/filepath" 6 "testing" 7 ) 8 9 var knownConfig = filepath.Join(testData, "fixtures", "formats", ".vale.ini") 10 11 // TestNoBaseConfig tests that we raise an error if we can't find a base 12 // config. 13 func TestNoBaseConfig(t *testing.T) { 14 cfg, err := NewConfig(&CLIFlags{}) 15 if err != nil { 16 t.Fatal(err) 17 } 18 19 homeDir, err := os.UserHomeDir() 20 if err != nil { 21 t.Fatal(err) 22 } 23 24 err = os.Chdir(homeDir) 25 if err != nil { 26 t.Fatal(err) 27 } 28 29 _, err = FromFile(cfg, false) 30 if err == nil { 31 t.Fatal("Expected error, got nil", cfg.ConfigFiles) 32 } 33 } 34 35 // TestFlagBase tests that we respect the `--config` option for setting a base 36 // config. 37 func TestFlagBase(t *testing.T) { 38 cfg, err := NewConfig(&CLIFlags{Path: knownConfig}) 39 if err != nil { 40 t.Fatal(err) 41 } 42 43 homeDir, err := os.UserHomeDir() 44 if err != nil { 45 t.Fatal(err) 46 } 47 48 err = os.Chdir(homeDir) 49 if err != nil { 50 t.Fatal(err) 51 } 52 53 _, err = FromFile(cfg, true) 54 if err != nil { 55 t.Fatal(err) 56 } 57 } 58 59 // TestEnvBase tests that we respect the `VALE_CONFIG_PATH` option for setting 60 // a base config. 61 func TestEnvBase(t *testing.T) { 62 t.Setenv("VALE_CONFIG_PATH", knownConfig) 63 64 cfg, err := NewConfig(&CLIFlags{}) 65 if err != nil { 66 t.Fatal(err) 67 } 68 69 homeDir, err := os.UserHomeDir() 70 if err != nil { 71 t.Fatal(err) 72 } 73 74 err = os.Chdir(homeDir) 75 if err != nil { 76 t.Fatal(err) 77 } 78 79 _, err = FromFile(cfg, true) 80 if err != nil { 81 t.Fatal(err) 82 } 83 }