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  }