Skip to content
This repository has been archived by the owner on Apr 24, 2020. It is now read-only.

Commit

Permalink
Add tests for complex git submodule scenarios
Browse files Browse the repository at this point in the history
  • Loading branch information
dritter committed Nov 3, 2018
1 parent c3f9d04 commit 9d84e6f
Showing 1 changed file with 73 additions and 0 deletions.
73 changes: 73 additions & 0 deletions test/segments/vcs-git.spec
Expand Up @@ -386,15 +386,88 @@ function testDetectingUntrackedFilesInSubmodulesWork() {
git init 1>/dev/null
touch "i-am-tracked.txt"
git add . 1>/dev/null && git commit -m "Initial Commit" 1>/dev/null

local submodulePath="${PWD}"

cd -
git submodule add "${submodulePath}" 2>/dev/null
git commit -m "Add submodule" 1>/dev/null

# Go into checked-out submodule path
cd submodule
# Create untracked file
touch "i-am-untracked.txt"
cd -

source ${P9K_HOME}/powerlevel9k.zsh-theme

assertEquals "%K{002} %F{000} master ? %k%F{002}%f " "$(build_left_prompt)"
}

function testDetectinUntrackedFilesInMainRepoWithDirtySubmodulesWork() {
local -a POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(vcs)
local POWERLEVEL9K_VCS_SHOW_SUBMODULE_DIRTY="true"
unset POWERLEVEL9K_VCS_UNTRACKED_BACKGROUND

mkdir ../submodule
cd ../submodule
git init 1>/dev/null
touch "i-am-tracked.txt"
git add . 1>/dev/null && git commit -m "Initial Commit" 1>/dev/null

local submodulePath="${PWD}"

cd -
git submodule add "${submodulePath}" 2>/dev/null
git commit -m "Add submodule" 1>/dev/null

# Create untracked file
touch "i-am-untracked.txt"

source ${P9K_HOME}/powerlevel9k.zsh-theme

assertEquals "%K{002} %F{000} master ? %k%F{002}%f " "$(build_left_prompt)"
}

function testDetectingUntrackedFilesInNestedSubmodulesWork() {
local -a POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(vcs)
local POWERLEVEL9K_VCS_SHOW_SUBMODULE_DIRTY="true"
unset POWERLEVEL9K_VCS_UNTRACKED_BACKGROUND

local mainRepo="${PWD}"

mkdir ../submodule
cd ../submodule
git init 1>/dev/null
touch "i-am-tracked.txt"
git add . 1>/dev/null && git commit -m "Initial Commit" 1>/dev/null

local submodulePath="${PWD}"

mkdir ../subsubmodule
cd ../subsubmodule
git init 1>/dev/null
touch "i-am-tracked-too.txt"
git add . 1>/dev/null && git commit -m "Initial Commit" 1>/dev/null

local subsubmodulePath="${PWD}"

cd "${submodulePath}"
git submodule add "${subsubmodulePath}" 2>/dev/null
git commit -m "Add subsubmodule" 1>/dev/null
cd "${mainRepo}"
git submodule add "${submodulePath}" 2>/dev/null
git commit -m "Add submodule" 1>/dev/null

git submodule update --init --recursive 2>/dev/null

cd submodule/subsubmodule
# Create untracked file
touch "i-am-untracked.txt"
cd -

source ${P9K_HOME}/powerlevel9k.zsh-theme

assertEquals "%K{002} %F{000} master ? %k%F{002}%f " "$(build_left_prompt)"
Expand Down

0 comments on commit 9d84e6f

Please sign in to comment.