diff --git a/pkg/powershell/higherops_test.go b/pkg/powershell/higherops_test.go index 370f6ec..4f4c1db 100644 --- a/pkg/powershell/higherops_test.go +++ b/pkg/powershell/higherops_test.go @@ -309,3 +309,47 @@ func TestCpowershellCommandWithNamedParameters(t *testing.T) { } validate(t, "", record.lines) } + +func TestCpowershellCommandArgumentTypePanic(t *testing.T) { + record.Reset() + // create a runspace (where you run your powershell statements in) + runspace := CreateRunspace(fmtPrintLogger{}, nil) + // auto cleanup your runspace + defer runspace.Delete() + + var caughtUnknownArgumentType bool + func() { + defer func() { + if r := recover(); r != nil { + if r == "unknown argument type" { + caughtUnknownArgumentType = true + } + } + }() + paramResults := runspace.ExecScript(`"Software" + "Type"`, true, nil, 1) + defer paramResults.Close() + }() + + if !caughtUnknownArgumentType { + t.Fail() + } + caughtUnknownArgumentType = false + + func() { + defer func() { + if r := recover(); r != nil { + if r == "unknown argument type" { + caughtUnknownArgumentType = true + } + } + }() + results := runspace.ExecCommand("Get-ItemPropertyValue", true, map[string]interface{}{ + "Name": 1, + }) + defer results.Close() + }() + if !caughtUnknownArgumentType { + t.Fail() + } + validate(t, "", record.lines) +} diff --git a/readme.md b/readme.md index 59a54d3..8304de7 100644 --- a/readme.md +++ b/readme.md @@ -1,6 +1,6 @@ [![Build Status](https://dev.azure.com/oneeyedelf1/powershell.native/_apis/build/status/KnicKnic.go-powershell?branchName=master)](https://dev.azure.com/oneeyedelf1/powershell.native/_build/latest?definitionId=3&branchName=master) [![Go Report Card](https://goreportcard.com/badge/github.com/KnicKnic/go-powershell)](https://goreportcard.com/report/github.com/KnicKnic/go-powershell) -[![gopherbadger](https://img.shields.io/badge/Go%20Coverage-97%25-brightgreen.svg?longCache=true&style=flat)](./scripts/code_coverage.ps1) +[![gopherbadger](https://img.shields.io/badge/Go%20Coverage-99%25-brightgreen.svg?longCache=true&style=flat)](./scripts/code_coverage.ps1) [![GoDoc](https://godoc.org/github.com/KnicKnic/go-powershell/pkg/powershell?status.svg)](https://godoc.org/github.com/KnicKnic/go-powershell/pkg/powershell) # Status