Use Pester 4.0 syntax to multiple files (#2714)

This commit is contained in:
Kevin Marquette
2018-10-29 06:59:03 -07:00
committed by Richard Kuhnt
parent b37349a531
commit c0dce0e8cd
6 changed files with 58 additions and 58 deletions

View File

@@ -13,10 +13,10 @@ describe "add_alias" -Tag 'Scoop' {
context "alias doesn't exist" { context "alias doesn't exist" {
it "creates a new alias" { it "creates a new alias" {
$alias_file = "$shimdir\scoop-rm.ps1" $alias_file = "$shimdir\scoop-rm.ps1"
$alias_file | should not exist $alias_file | should -not -exist
add_alias "rm" '"hello, world!"' add_alias "rm" '"hello, world!"'
Invoke-Expression $alias_file | should be "hello, world!" Invoke-Expression $alias_file | should -be "hello, world!"
} }
} }
@@ -24,10 +24,10 @@ describe "add_alias" -Tag 'Scoop' {
it "does not change existing alias" { it "does not change existing alias" {
$alias_file = "$shimdir\scoop-rm.ps1" $alias_file = "$shimdir\scoop-rm.ps1"
new-item $alias_file -type file new-item $alias_file -type file
$alias_file | should exist $alias_file | should -exist
add_alias "rm" "test" add_alias "rm" "test"
$alias_file | should FileContentMatch "" $alias_file | should -FileContentMatch ""
} }
} }
} }
@@ -45,11 +45,11 @@ describe "rm_alias" {
$alias_file = "$shimdir\scoop-rm.ps1" $alias_file = "$shimdir\scoop-rm.ps1"
add_alias "rm" '"hello, world!"' add_alias "rm" '"hello, world!"'
$alias_file | should exist $alias_file | should -exist
mock get_config { @(@{"rm" = "scoop-rm"}) } mock get_config { @(@{"rm" = "scoop-rm"}) }
rm_alias "rm" rm_alias "rm"
$alias_file | should not exist $alias_file | should -not -exist
} }
} }
} }

View File

@@ -8,13 +8,13 @@ describe "hashtable" -Tag 'Scoop' {
$obj = convertfrom-json $json $obj = convertfrom-json $json
$ht = hashtable $obj $ht = hashtable $obj
$ht.one | should beexactly 1 $ht.one | should -beexactly 1
$ht.two[0].a | should be "a" $ht.two[0].a | should -be "a"
$ht.two[1] | should be "b" $ht.two[1] | should -be "b"
$ht.two[2] | should beexactly 2 $ht.two[2] | should -beexactly 2
$ht.three.four | should beexactly 4 $ht.three.four | should -beexactly 4
$ht.five | should beexactly $true $ht.five | should -beexactly $true
$ht.six | should beexactly $false $ht.six | should -beexactly $false
[System.DateTime]::Equals($ht.seven, $(New-Object System.DateTime (2018, 06, 25, 09, 03, 15, 805))) | should be $true [System.DateTime]::Equals($ht.seven, $(New-Object System.DateTime (2018, 06, 25, 09, 03, 15, 805))) | should -betrue
} }
} }

View File

@@ -4,68 +4,68 @@
describe "getopt" -Tag 'Scoop' { describe "getopt" -Tag 'Scoop' {
it 'handle short option with required argument missing' { it 'handle short option with required argument missing' {
$null, $null, $err = getopt '-x' 'x:' '' $null, $null, $err = getopt '-x' 'x:' ''
$err | should be 'Option -x requires an argument.' $err | should -be 'Option -x requires an argument.'
$null, $null, $err = getopt '-xy' 'x:y' '' $null, $null, $err = getopt '-xy' 'x:y' ''
$err | should be 'Option -x requires an argument.' $err | should -be 'Option -x requires an argument.'
} }
it 'handle long option with required argument missing' { it 'handle long option with required argument missing' {
$null, $null, $err = getopt '--arb' '' 'arb=' $null, $null, $err = getopt '--arb' '' 'arb='
$err | should be 'Option --arb requires an argument.' $err | should -be 'Option --arb requires an argument.'
} }
it 'handle unrecognized short option' { it 'handle unrecognized short option' {
$null, $null, $err = getopt '-az' 'a' '' $null, $null, $err = getopt '-az' 'a' ''
$err | should be 'Option -z not recognized.' $err | should -be 'Option -z not recognized.'
} }
it 'handle unrecognized long option' { it 'handle unrecognized long option' {
$null, $null, $err = getopt '--non-exist' '' '' $null, $null, $err = getopt '--non-exist' '' ''
$err | should be 'Option --non-exist not recognized.' $err | should -be 'Option --non-exist not recognized.'
$null, $null, $err = getopt '--global','--another' 'abc:de:' 'global','one' $null, $null, $err = getopt '--global','--another' 'abc:de:' 'global','one'
$err | should be 'Option --another not recognized.' $err | should -be 'Option --another not recognized.'
} }
it 'remaining args returned' { it 'remaining args returned' {
$opt, $rem, $err = getopt '-g','rem' 'g' '' $opt, $rem, $err = getopt '-g','rem' 'g' ''
$err | should be $null $err | should -benullorempty
$opt.g | should be $true $opt.g | should -betrue
$rem | should not be $null $rem | should -not -benullorempty
$rem.length | should be 1 $rem.length | should -be 1
$rem[0] | should be 'rem' $rem[0] | should -be 'rem'
} }
it 'get a long flag and a short option with argument' { it 'get a long flag and a short option with argument' {
$a = "--global -a 32bit test" -split ' ' $a = "--global -a 32bit test" -split ' '
$opt, $rem, $err = getopt $a 'ga:' 'global','arch=' $opt, $rem, $err = getopt $a 'ga:' 'global','arch='
$err | should be $null $err | should -benullorempty
$opt.global | should be $true $opt.global | should -betrue
$opt.a | should be '32bit' $opt.a | should -be '32bit'
} }
it 'handles regex characters' { it 'handles regex characters' {
$a = "-?" $a = "-?"
{ $opt, $rem, $err = getopt $a 'ga:' 'global' 'arch=' } | should not throw { $opt, $rem, $err = getopt $a 'ga:' 'global' 'arch=' } | should -not -throw
{ $null, $null, $null = getopt $a '?:' 'help' | should not throw } { $null, $null, $null = getopt $a '?:' 'help' | should -not -throw }
} }
it 'handles short option without required argument' { it 'handles short option without required argument' {
$null, $null, $err = getopt '-x' 'x' '' $null, $null, $err = getopt '-x' 'x' ''
$err | should be $null $err | should -benullorempty
} }
it 'handles long option without required argument' { it 'handles long option without required argument' {
$opt, $null, $err = getopt '--long-arg' '' 'long-arg' $opt, $null, $err = getopt '--long-arg' '' 'long-arg'
$err | should be $null $err | should -benullorempty
$opt."long-arg" | should be $true $opt."long-arg" | should -betrue
} }
it 'handles long option with required argument' { it 'handles long option with required argument' {
$opt, $null, $err = getopt '--long-arg', 'test' '' 'long-arg=' $opt, $null, $err = getopt '--long-arg', 'test' '' 'long-arg='
$err | should be $null $err | should -benullorempty
$opt."long-arg" | should be "test" $opt."long-arg" | should -be "test"
} }
} }

View File

@@ -7,13 +7,13 @@ Describe -Tag 'Linter' "PSScriptAnalyzer" {
Context "Checking ScriptAnalyzer" { Context "Checking ScriptAnalyzer" {
It "Invoke-ScriptAnalyzer Cmdlet should exist" { It "Invoke-ScriptAnalyzer Cmdlet should exist" {
{ Get-Command Invoke-ScriptAnalyzer -ErrorAction Stop } | Should Not Throw { Get-Command Invoke-ScriptAnalyzer -ErrorAction Stop } | should -not -throw
} }
It "PSScriptAnalyzerSettings.ps1 should exist" { It "PSScriptAnalyzerSettings.ps1 should exist" {
Test-Path "$repo_dir\PSScriptAnalyzerSettings.psd1" | Should Be $true Test-Path "$repo_dir\PSScriptAnalyzerSettings.psd1" | should -betrue
} }
It "There should be files to test" { It "There should be files to test" {
$scoop_modules.Count | Should Not Be 0 $scoop_modules.Count | should -not -be 0
} }
} }
@@ -23,7 +23,7 @@ Describe -Tag 'Linter' "PSScriptAnalyzer" {
foreach($directory in $scoop_modules) { foreach($directory in $scoop_modules) {
$analysis = Invoke-ScriptAnalyzer -Path $directory.FullName -Settings $linting_settings.FullName $analysis = Invoke-ScriptAnalyzer -Path $directory.FullName -Settings $linting_settings.FullName
It "Should pass: $directory" { It "Should pass: $directory" {
$analysis.Count | Should Be 0 $analysis.Count | should -be 0
} }
if($analysis) { if($analysis) {
foreach($result in $analysis) { foreach($result in $analysis) {

View File

@@ -12,34 +12,34 @@ describe -Tag 'Manifests' "manifest-validation" {
} }
it "Scoop.Validator is available" { it "Scoop.Validator is available" {
([System.Management.Automation.PSTypeName]'Scoop.Validator').Type | should be 'Scoop.Validator' ([System.Management.Automation.PSTypeName]'Scoop.Validator').Type | should -be 'Scoop.Validator'
} }
context "parse_json function" { context "parse_json function" {
it "fails with invalid json" { it "fails with invalid json" {
{ parse_json "$working_dir\broken_wget.json" } | should throw { parse_json "$working_dir\broken_wget.json" } | should -throw
} }
} }
context "schema validation" { context "schema validation" {
it "fails with broken schema" { it "fails with broken schema" {
$validator = new-object Scoop.Validator("$working_dir/broken_schema.json", $true) $validator = new-object Scoop.Validator("$working_dir/broken_schema.json", $true)
$validator.Validate("$working_dir/wget.json") | should be $false $validator.Validate("$working_dir/wget.json") | should -BeFalse
$validator.Errors.Count | should be 1 $validator.Errors.Count | should -be 1
$validator.Errors | select-object -First 1 | should match "broken_schema.*(line 6).*(position 4)" $validator.Errors | select-object -First 1 | should -match "broken_schema.*(line 6).*(position 4)"
} }
it "fails with broken manifest" { it "fails with broken manifest" {
$validator = new-object Scoop.Validator($schema, $true) $validator = new-object Scoop.Validator($schema, $true)
$validator.Validate("$working_dir/broken_wget.json") | should be $false $validator.Validate("$working_dir/broken_wget.json") | should -BeFalse
$validator.Errors.Count | should be 1 $validator.Errors.Count | should -be 1
$validator.Errors | select-object -First 1 | should match "broken_wget.*(line 5).*(position 4)" $validator.Errors | select-object -First 1 | should -match "broken_wget.*(line 5).*(position 4)"
} }
it "fails with invalid manifest" { it "fails with invalid manifest" {
$validator = new-object Scoop.Validator($schema, $true) $validator = new-object Scoop.Validator($schema, $true)
$validator.Validate("$working_dir/invalid_wget.json") | should be $false $validator.Validate("$working_dir/invalid_wget.json") | should -BeFalse
$validator.Errors.Count | should be 16 $validator.Errors.Count | should -be 16
$validator.Errors | select-object -First 1 | should match "invalid_wget.*randomproperty.*properties\.$" $validator.Errors | select-object -First 1 | should -match "invalid_wget.*randomproperty.*properties\.$"
$validator.Errors | select-object -Last 1 | should match "invalid_wget.*version\.$" $validator.Errors | select-object -Last 1 | should -match "invalid_wget.*version\.$"
} }
} }
@@ -74,7 +74,7 @@ describe -Tag 'Manifests' "manifest-validation" {
if ($validator.Errors.Count -gt 0) { if ($validator.Errors.Count -gt 0) {
write-host -f yellow $validator.ErrorsAsString write-host -f yellow $validator.ErrorsAsString
} }
$validator.Errors.Count | should be 0 $validator.Errors.Count | should -be 0
} catch { } catch {
if($_.exception.message -like '*The free-quota limit of 1000 schema validations per hour has been reached.*') { if($_.exception.message -like '*The free-quota limit of 1000 schema validations per hour has been reached.*') {
$quota_exceeded = $true $quota_exceeded = $true
@@ -91,7 +91,7 @@ describe -Tag 'Manifests' "manifest-validation" {
if(!$url) { if(!$url) {
$url = $url64 $url = $url64
} }
$url | should not benullorempty $url | should -not -benullorempty
} }
} }
} }

View File

@@ -7,7 +7,7 @@ describe "versions" -Tag 'Scoop' {
$b = '1.8.5-1' $b = '1.8.5-1'
$res = compare_versions $a $b $res = compare_versions $a $b
$res | should be 1 $res | should -be 1
} }
it 'handles plain string version comparison to int version' { it 'handles plain string version comparison to int version' {
@@ -15,7 +15,7 @@ describe "versions" -Tag 'Scoop' {
$b = '20150405' $b = '20150405'
$res = compare_versions $a $b $res = compare_versions $a $b
$res | should be 1 $res | should -be 1
} }
it 'handles dashed version components' { it 'handles dashed version components' {
@@ -24,14 +24,14 @@ describe "versions" -Tag 'Scoop' {
$res = compare_versions $a $b $res = compare_versions $a $b
$res | should be -1 $res | should -be -1
} }
it 'handles comparsion against en empty string' { it 'handles comparsion against en empty string' {
compare_versions '7.0.4-9' '' | should be 1 compare_versions '7.0.4-9' '' | should -be 1
} }
it 'handles equal versions' { it 'handles equal versions' {
compare_versions '12.0' '12.0' | should be 0 compare_versions '12.0' '12.0' | should -be 0
} }
} }