gosick #1
@@ -86,6 +86,28 @@ func (s *CLISuite) TestRun_PullAll_NoCastlesIsNoop() {
|
|||||||
require.Empty(s.T(), s.stderr.String())
|
require.Empty(s.T(), s.stderr.String())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *CLISuite) TestRun_Rc_HomesickrcRequiresForce() {
|
||||||
|
castleRoot := filepath.Join(s.homeDir, ".homesick", "repos", "dotfiles")
|
||||||
|
require.NoError(s.T(), os.MkdirAll(castleRoot, 0o755))
|
||||||
|
require.NoError(s.T(), os.WriteFile(filepath.Join(castleRoot, ".homesickrc"), []byte("# ruby\n"), 0o644))
|
||||||
|
|
||||||
|
exitCode := cli.Run([]string{"rc", "dotfiles"}, s.stdout, s.stderr)
|
||||||
|
|
||||||
|
require.NotEqual(s.T(), 0, exitCode)
|
||||||
|
require.Contains(s.T(), s.stderr.String(), "--force")
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *CLISuite) TestRun_Rc_WithForceRuns() {
|
||||||
|
castleRoot := filepath.Join(s.homeDir, ".homesick", "repos", "dotfiles")
|
||||||
|
require.NoError(s.T(), os.MkdirAll(castleRoot, 0o755))
|
||||||
|
require.NoError(s.T(), os.WriteFile(filepath.Join(castleRoot, ".homesickrc"), []byte("# ruby\n"), 0o644))
|
||||||
|
|
||||||
|
exitCode := cli.Run([]string{"rc", "--force", "dotfiles"}, s.stdout, s.stderr)
|
||||||
|
|
||||||
|
require.Equal(s.T(), 0, exitCode)
|
||||||
|
require.Empty(s.T(), s.stderr.String())
|
||||||
|
}
|
||||||
|
|
||||||
func (s *CLISuite) TestRun_CloneSubcommandHelp() {
|
func (s *CLISuite) TestRun_CloneSubcommandHelp() {
|
||||||
exitCode := cli.Run([]string{"clone", "--help"}, s.stdout, s.stderr)
|
exitCode := cli.Run([]string{"clone", "--help"}, s.stdout, s.stderr)
|
||||||
|
|
||||||
|
|||||||
@@ -64,6 +64,31 @@ func (s *RcSuite) TestRc_NoScriptsAndNoHomesickrcIsNoop() {
|
|||||||
require.NoError(s.T(), s.app.Rc("dotfiles"))
|
require.NoError(s.T(), s.app.Rc("dotfiles"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TestRc_HomesickrcRequiresForce ensures legacy .homesickrc does not run
|
||||||
|
// unless force mode is enabled.
|
||||||
|
func (s *RcSuite) TestRc_HomesickrcRequiresForce() {
|
||||||
|
castleRoot := s.createCastle("dotfiles")
|
||||||
|
homesickRc := filepath.Join(castleRoot, ".homesickrc")
|
||||||
|
require.NoError(s.T(), os.WriteFile(homesickRc, []byte("# ruby setup code\n"), 0o644))
|
||||||
|
|
||||||
|
err := s.app.Rc("dotfiles")
|
||||||
|
require.Error(s.T(), err)
|
||||||
|
require.Contains(s.T(), err.Error(), "--force")
|
||||||
|
require.NoFileExists(s.T(), filepath.Join(castleRoot, ".homesick.d", "parity.rb"))
|
||||||
|
}
|
||||||
|
|
||||||
|
// TestRc_HomesickrcRunsWithForce ensures legacy .homesickrc handling proceeds
|
||||||
|
// when force mode is enabled.
|
||||||
|
func (s *RcSuite) TestRc_HomesickrcRunsWithForce() {
|
||||||
|
castleRoot := s.createCastle("dotfiles")
|
||||||
|
homesickRc := filepath.Join(castleRoot, ".homesickrc")
|
||||||
|
require.NoError(s.T(), os.WriteFile(homesickRc, []byte("# ruby setup code\n"), 0o644))
|
||||||
|
|
||||||
|
s.app.Force = true
|
||||||
|
require.NoError(s.T(), s.app.Rc("dotfiles"))
|
||||||
|
require.FileExists(s.T(), filepath.Join(castleRoot, ".homesick.d", "parity.rb"))
|
||||||
|
}
|
||||||
|
|
||||||
// TestRc_ExecutesScriptsInSortedOrder verifies that executable scripts inside
|
// TestRc_ExecutesScriptsInSortedOrder verifies that executable scripts inside
|
||||||
// .homesick.d are run in lexicographic (sorted) order.
|
// .homesick.d are run in lexicographic (sorted) order.
|
||||||
func (s *RcSuite) TestRc_ExecutesScriptsInSortedOrder() {
|
func (s *RcSuite) TestRc_ExecutesScriptsInSortedOrder() {
|
||||||
|
|||||||
Reference in New Issue
Block a user