Skip to content

Commit

Permalink
Add tests for pretty format autocomplete
Browse files Browse the repository at this point in the history
  • Loading branch information
rdnlsmith committed Oct 23, 2020
1 parent 53b0c22 commit f2defd4
Showing 1 changed file with 106 additions and 0 deletions.
106 changes: 106 additions & 0 deletions test/GitParamTabExpansion.Tests.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -44,5 +44,111 @@ Describe 'ParamsTabExpansion Tests' {
$result -contains '--recurse-submodules=on-demand' | Should -Be $true
}
}

Context 'Pretty/Format TabCompletion Tests - No Custom Formats' {
It 'Tab completes default formats for log --pretty' {
$result = & $module GitTabExpansionInternal 'git log --pretty='
$result -contains '--pretty=oneline' | Should -Be $true
$result -contains '--pretty=short' | Should -Be $true
$result -contains '--pretty=medium' | Should -Be $true
$result -contains '--pretty=full' | Should -Be $true
$result -contains '--pretty=fuller' | Should -Be $true
$result -contains '--pretty=email' | Should -Be $true
$result -contains '--pretty=raw' | Should -Be $true
}
It 'Tab completes default formats for log --format' {
$result = & $module GitTabExpansionInternal 'git log --format='
$result -contains '--format=oneline' | Should -Be $true
$result -contains '--format=short' | Should -Be $true
$result -contains '--format=medium' | Should -Be $true
$result -contains '--format=full' | Should -Be $true
$result -contains '--format=fuller' | Should -Be $true
$result -contains '--format=email' | Should -Be $true
$result -contains '--format=raw' | Should -Be $true
}
It 'Tab completes default formats for show --pretty' {
$result = & $module GitTabExpansionInternal 'git show --pretty='
$result -contains '--pretty=oneline' | Should -Be $true
$result -contains '--pretty=short' | Should -Be $true
$result -contains '--pretty=medium' | Should -Be $true
$result -contains '--pretty=full' | Should -Be $true
$result -contains '--pretty=fuller' | Should -Be $true
$result -contains '--pretty=email' | Should -Be $true
$result -contains '--pretty=raw' | Should -Be $true
}
It 'Tab completes default formats for show --format' {
$result = & $module GitTabExpansionInternal 'git show --format='
$result -contains '--format=oneline' | Should -Be $true
$result -contains '--format=short' | Should -Be $true
$result -contains '--format=medium' | Should -Be $true
$result -contains '--format=full' | Should -Be $true
$result -contains '--format=fuller' | Should -Be $true
$result -contains '--format=email' | Should -Be $true
$result -contains '--format=raw' | Should -Be $true
}
}

Context 'Pretty/Format TabCompletion Tests - With Custom Formats' {
BeforeEach {
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseDeclaredVarsMoreThanAssigments', '')]
$repoPath = NewGitTempRepo

# Test with custom formats
&$gitbin config pretty.birdseye "%C(auto)%h%d %s %C(bold blue)<%aN> %C(green)(%cr)%Creset"
&$gitbin config pretty.test2 "%h%d %s <%aN> (%cr)"
}
AfterEach {
RemoveGitTempRepo $repoPath
}

It 'Tab completes default and custom formats for log --pretty' {
$result = & $module GitTabExpansionInternal 'git log --pretty='
$result -contains '--pretty=oneline' | Should -Be $true
$result -contains '--pretty=short' | Should -Be $true
$result -contains '--pretty=medium' | Should -Be $true
$result -contains '--pretty=full' | Should -Be $true
$result -contains '--pretty=fuller' | Should -Be $true
$result -contains '--pretty=email' | Should -Be $true
$result -contains '--pretty=raw' | Should -Be $true
$result -contains '--pretty=birdseye' | Should -Be $true
$result -contains '--pretty=test2' | Should -Be $true
}
It 'Tab completes default and custom formats for log --format' {
$result = & $module GitTabExpansionInternal 'git log --format='
$result -contains '--format=oneline' | Should -Be $true
$result -contains '--format=short' | Should -Be $true
$result -contains '--format=medium' | Should -Be $true
$result -contains '--format=full' | Should -Be $true
$result -contains '--format=fuller' | Should -Be $true
$result -contains '--format=email' | Should -Be $true
$result -contains '--format=raw' | Should -Be $true
$result -contains '--format=birdseye' | Should -Be $true
$result -contains '--format=test2' | Should -Be $true
}
It 'Tab completes default and custom formats for show --pretty' {
$result = & $module GitTabExpansionInternal 'git show --pretty='
$result -contains '--pretty=oneline' | Should -Be $true
$result -contains '--pretty=short' | Should -Be $true
$result -contains '--pretty=medium' | Should -Be $true
$result -contains '--pretty=full' | Should -Be $true
$result -contains '--pretty=fuller' | Should -Be $true
$result -contains '--pretty=email' | Should -Be $true
$result -contains '--pretty=raw' | Should -Be $true
$result -contains '--pretty=birdseye' | Should -Be $true
$result -contains '--pretty=test2' | Should -Be $true
}
It 'Tab completes default and custom formats for show --format' {
$result = & $module GitTabExpansionInternal 'git show --format='
$result -contains '--format=oneline' | Should -Be $true
$result -contains '--format=short' | Should -Be $true
$result -contains '--format=medium' | Should -Be $true
$result -contains '--format=full' | Should -Be $true
$result -contains '--format=fuller' | Should -Be $true
$result -contains '--format=email' | Should -Be $true
$result -contains '--format=raw' | Should -Be $true
$result -contains '--format=birdseye' | Should -Be $true
$result -contains '--format=test2' | Should -Be $true
}
}
}

0 comments on commit f2defd4

Please sign in to comment.