* Restore SetBreakpoints API
* Remove default values in API methods
* Fix inheriting APIs
* Correct further comments
* Fix breakpoint API use issues
* Fix breakpoint API tests
Before the fix Select-Object without parameters added custom 'Selected.' type to PSCustomObject even if this type was already present in TypeNames that was a memory leak in the edge case.
The cause of the problem was that Select-Object without parameters did not create a new object but forwarded the original.
The fix is to add custom 'Selected.' type only if object is original and it has not already custom 'Selected.*' type.
* Resolve issue with grouping bools & ints
We were not flushing the input buffer immediately when a different
type is encountered.
This caused some odd behaviour when piping in a mix of bools and ints.
Fix is to immediately flush the input buffer when the incoming object is
a different type than anything we have buffered.
* Remove BOM, insert newline at EOF
* Correct case of $MyInvocation special variable
* Correct case of $OFS special variable
* Correct case of $NestedPromptLevel special variable
* Correct case of $Matches special variable
* Correct case of $LASTEXITCODE special variable
* Correct case of $StackTrace special variable
* Correct case of $args special variable
* Correct case of $this special variable
* Correct case of $input special variable
* Correct case of $PSCmdlet special variable
* Correct case of $error special variable
* Correct case of $PSDefaultParameterValues special variable
* Correct case of $PSScriptRoot special variable
* Correct case of $PWD special variable
* Correct case of $null special variable
* Correct case of $true special variable
* Correct case of $false special variable
* Correct case of $PSModuleAutoLoadingPreference special variable
* Correct case of $IsLinux special variable
* Correct case of $IsMacOS special variable
* Correct case of $IsWindows special variable
* Correct case of $IsCoreCLR special variable
* Correct case of $DebugPreference special variable
* Correct case of $VerbosePreference special variable
* Correct case of $InformationPreference special variable
* Correct case of $ExecutionContext special variable
* Correct case of $HOME special variable
* Correct case of $Host special variable
* Correct case of $PID special variable
* Correct case of $PSCulture special variable
* Correct case of $PSHOME special variable
* Correct case of $PSUICulture special variable
* Correct case of $PSVersionTable special variable
* Fix false positives
* In one of the previous PRs for ConciseView, System.Exception was incorrectly added to the typenames handled by the ErrorRecord formatting. This results in just Exception objects written to the console to not be rendered since the ErrorRecord formatting didn't handle this situation. Fix is to remove the line to add that type putting it back to how it was previously.
* Also made the handling of ErrorRecord a bit more robust just in case Exception.Message doesn't exist nor a Message property.
* Make null member access tests as string to avoid parsing errors
* Add PSNullConditionalOperators feature to testmetadata.json
* Add Parsing tests to be skipped
* Add tabcompletion tests
- Added OutputType attribute.
- Cmdlet adds the PSExtendedError typename and removes Exception and ErrorRecord typenames so that the formatting is used. The formatter then removes PSExtendedError and puts back the original typename so that $Error should be the same before calling Get-Error.
- While testing, had to make some changes to how InvocationInfo is retrieved so that ParseException which contains a nested ErrorRecord which as InvocationInfo is handled correctly.
- Combined Exception and ErrorRecord formatter into one.
Prior to this change, Group-Object -AsHashtable -CaseSensitive would give a key duplication error when given entries that only differ by casing. This was due to always using a case-insensitive hashtable, despite the request for -CaseSensitive behaviour.
ConciseView shows MyCommand as the prefix to the error message, but for a scriptblock, MyCommand is the whole scriptblock. Fix is to use CategoryInfo.Activity if available first. Also handle case where it's a script function by seeing if it's a command and showing MyCommand in that case rather than the Activity.
* Add -SkipHttpErrorCheck to web request cmdlets
The -SkipHttpErrorCheck flag causes web request cmdlets
(Invoke-WebRequest and Invoke-RestMethod) to ignore HTTP statuses that
are error statuses and treat them as successful requests. This allows
users to handle the responses using their own error handler and gives
them access to the full, unmodified response body and headers.
* Add -ResponseStatusVariable to Invoke-RestMethod
This allows the user to specify a variable to set to the integer value
of the respons's status code, Analogous to using
-ResponseHeadersVariable to retrieve the headers of the response. This
can be used to distinguish error messages from success messages when
used with -SkipHttpErrorCheck.
* Fix coding-style error
The summary for the SkipHttpErrorCheck property didn't conform
to style guidelines. This changes the summary to start with
"Gets or sets".
* Add tests for -SkipHttpErrorCheck
This flag supresses terminating errors on web cmdlets.
The tests are written to check that it properly
supressed the errors.
* Add test for -StatusCodeVariable
Th -StatusCodeVariable parameter specifies an output
variable for the status code with Invoke-RestMethod.
This test makes sure it functions properly.
* Fix typos and style for -SkipHttpErrorCheck tests
Variables had different cases from each other and some parameter
names were lower case.
* Fix typos and style for -StatusCodeVariable test
Variables had different cases from each other and some parameter
names were lower case.
* Add failure tests when missing -SkipHttpErrorCheck
These tests ensure that Web Cmdlets fail when -SkipHttpErrorCheck
is missing.
* Clean up tests for -SkipHttpErrorCheck
Per discussion on the pull requests. This commit fixes up
style problems with the tests for -SkipHttpErrorCheck.
* Add more status tests for -StatusCodeVariable
Previously, the -StatusCodeVariable flag in Invoke-RestMethod
only had tests for 200 status. This commit adds tests for 404
and 500 statuses and removes -SkipHttpErrorCheck from the 200
check.
* Fix response body in -StatusCodeVariable test
The test was copy/pastes from the 200 status test. The body
indicated success. This commit fixes that so it is also an
error indicator.
ConvertTo-Json doesn't allow $null to be passed in even though it can be valid resulting json. Fix is to remove the check that the input is not null. NewtonSoft.Json handles it just fine.