diff --git a/Chronometer/Public/Get-Chronometer.ps1 b/Chronometer/Public/Get-Chronometer.ps1 index 5846420..a57d7ca 100644 --- a/Chronometer/Public/Get-Chronometer.ps1 +++ b/Chronometer/Public/Get-Chronometer.ps1 @@ -16,14 +16,15 @@ function Get-Chronometer $Path, # The script to start the scrupt or execute other commands + [alias('Script','CommandScript')] [scriptblock] - $CommandScript + $ScriptBlock ) $breakPoint = @() $fileMap = @{} - foreach($file in (Resolve-Path $Path)) + foreach($file in (Resolve-Path $Path -ea 0)) { $fileMap[$file.Path] = @( Get-Content -Path $file | %{[ScriptLine]@{text=$_;path=$file.path}}) @@ -32,7 +33,7 @@ function Get-Chronometer } [ScriptProfiler]::Start() - [void] $CommandScript.Invoke() + [void] $ScriptBlock.Invoke() Remove-PSBreakpoint $breakpoint diff --git a/Tests/Unit.Tests.ps1 b/Tests/Unit.Tests.ps1 new file mode 100644 index 0000000..a67ea43 --- /dev/null +++ b/Tests/Unit.Tests.ps1 @@ -0,0 +1,31 @@ +$projectRoot = Resolve-Path "$PSScriptRoot\.." +$moduleRoot = Split-Path (Resolve-Path "$projectRoot\*\*.psd1") +$moduleName = Split-Path $moduleRoot -Leaf + +Import-Module (Join-Path $moduleRoot "$moduleName.psm1") -force + +Describe "Basic unit tests" -Tags Build { + + Context "Function: Get-Chronometer" { + it "Does not throw" { + {Get-Chronometer -Path $PSScriptRoot\..\ScratchFiles\example.ps1 -Script {"Test"} } | Should Not Throw + } + } + + InModuleScope $moduleName { + Context "Class: ScriptLine" { + + it "Creates an Object" { + {[ScriptLine]::New()} | Should Not Throw + } + } + + Context "Class: ScriptProfiler" { + + it "Creates an Object" { + {[ScriptProfiler]::New()} | Should Not Throw + } + } + } + +} \ No newline at end of file