@@ -494,6 +494,10 @@ update_mole() {
494494# Remove flow (Homebrew + manual + config/cache).
495495remove_mole () {
496496 local dry_run_mode=" ${1:- false} "
497+ local test_mode=false
498+ if [[ " ${MOLE_TEST_MODE:- 0} " == " 1" ]]; then
499+ test_mode=true
500+ fi
497501
498502 if [[ -t 1 ]]; then
499503 start_inline_spinner " Detecting Mole installations..."
@@ -507,37 +511,47 @@ remove_mole() {
507511 local -a manual_installs=()
508512 local -a alias_installs=()
509513
510- if command -v brew > /dev/null 2>&1 ; then
511- brew_cmd=" brew"
512- elif [[ -x " /opt/homebrew/bin/brew" ]]; then
513- brew_cmd=" /opt/homebrew/bin/brew"
514- elif [[ -x " /usr/local/bin/brew" ]]; then
515- brew_cmd=" /usr/local/bin/brew"
516- fi
514+ if [[ " $test_mode " != " true" ]]; then
515+ if command -v brew > /dev/null 2>&1 ; then
516+ brew_cmd=" brew"
517+ elif [[ -x " /opt/homebrew/bin/brew" ]]; then
518+ brew_cmd=" /opt/homebrew/bin/brew"
519+ elif [[ -x " /usr/local/bin/brew" ]]; then
520+ brew_cmd=" /usr/local/bin/brew"
521+ fi
517522
518- if [[ -n " $brew_cmd " ]]; then
519- if " $brew_cmd " list mole > /dev/null 2>&1 ; then
520- brew_has_mole=" true"
523+ if [[ -n " $brew_cmd " ]]; then
524+ if " $brew_cmd " list mole > /dev/null 2>&1 ; then
525+ brew_has_mole=" true"
526+ fi
521527 fi
522- fi
523528
524- if [[ " $brew_has_mole " == " true" ]] || is_homebrew_install; then
525- is_homebrew=true
529+ if [[ " $brew_has_mole " == " true" ]] || is_homebrew_install; then
530+ is_homebrew=true
531+ fi
526532 fi
527533
528534 local found_mole
529- found_mole=$( command -v mole 2> /dev/null || true)
530- if [[ -n " $found_mole " && -f " $found_mole " ]]; then
531- if [[ ! -L " $found_mole " ]] || ! readlink " $found_mole " | grep -q " Cellar/mole" ; then
532- manual_installs+=(" $found_mole " )
535+ found_mole=" "
536+ if [[ " $test_mode " != " true" ]]; then
537+ found_mole=$( command -v mole 2> /dev/null || true)
538+ if [[ -n " $found_mole " && -f " $found_mole " ]]; then
539+ if [[ ! -L " $found_mole " ]] || ! readlink " $found_mole " | grep -q " Cellar/mole" ; then
540+ manual_installs+=(" $found_mole " )
541+ fi
533542 fi
534543 fi
535544
536- local -a fallback_paths=(
537- " /usr/local/bin/mole"
538- " $HOME /.local/bin/mole"
539- " /opt/local/bin/mole"
540- )
545+ local -a fallback_paths=()
546+ if [[ " $test_mode " == " true" ]]; then
547+ fallback_paths=(" $HOME /.local/bin/mole" )
548+ else
549+ fallback_paths=(
550+ " /usr/local/bin/mole"
551+ " $HOME /.local/bin/mole"
552+ " /opt/local/bin/mole"
553+ )
554+ fi
541555
542556 for path in " ${fallback_paths[@]} " ; do
543557 if [[ -f " $path " && " $path " != " $found_mole " ]]; then
@@ -548,18 +562,26 @@ remove_mole() {
548562 done
549563
550564 local found_mo
551- found_mo=$( command -v mo 2> /dev/null || true)
552- if [[ -n " $found_mo " && -f " $found_mo " ]]; then
553- if [[ ! -L " $found_mo " ]] || ! readlink " $found_mo " | grep -q " Cellar/mole" ; then
554- alias_installs+=(" $found_mo " )
565+ found_mo=" "
566+ if [[ " $test_mode " != " true" ]]; then
567+ found_mo=$( command -v mo 2> /dev/null || true)
568+ if [[ -n " $found_mo " && -f " $found_mo " ]]; then
569+ if [[ ! -L " $found_mo " ]] || ! readlink " $found_mo " | grep -q " Cellar/mole" ; then
570+ alias_installs+=(" $found_mo " )
571+ fi
555572 fi
556573 fi
557574
558- local -a alias_fallback=(
559- " /usr/local/bin/mo"
560- " $HOME /.local/bin/mo"
561- " /opt/local/bin/mo"
562- )
575+ local -a alias_fallback=()
576+ if [[ " $test_mode " == " true" ]]; then
577+ alias_fallback=(" $HOME /.local/bin/mo" )
578+ else
579+ alias_fallback=(
580+ " /usr/local/bin/mo"
581+ " $HOME /.local/bin/mo"
582+ " /opt/local/bin/mo"
583+ )
584+ fi
563585
564586 for alias in " ${alias_fallback[@]} " ; do
565587 if [[ -f " $alias " && " $alias " != " $found_mo " ]]; then
0 commit comments