This is pretty much a big overhaul, refactor, and cleanup release. Not a ton of new koans available at the moment, though several have been altered to make more sense and be more beginner-friendly! However, this release has had the files re-encoded to Windows PowerShell standards to ensure that all of you who are still using Windows PowerShell can use the module with far less issues. 😄
Changelog
- Tons of community contributions!
- Uses
using module
instead of#Requires -Modules
so that types are exported in a more sensible fashion and do not remain in the session when youRemove-Module
. This change may break compatibility with koan files from older versions. - Registers a
Should -Fail
operator to handle code paths that should not be reached or catch cases where tests might pass just because all code paths that have an assertion are skipped in some way. - Added restricted support for properly counting koans that need to use
-TestCases
for theIt
blocks.- Only hashtable literals that can be assessed with
SafeGetValue()
will be able to be counted. We ain't got time to trace back variable references to god knows where!
- Only hashtable literals that can be assessed with
- Add some checks to ensure that we handle missing koan files better.
- Removed the
rake
alias completely. This was mainly a nod to the F# koans which usedrake
as a build / test runner tool. However, some people actually want to use therake
tool itself from PowerShell at times, and this got in the way of that. - Refactor
AboutConditionals
,AboutVariables
,AboutFunctionsAndScriptBlocks
, andAboutArrays
to make more sense and have more consistent writing style with the rest of the koans. - Move CI/CD to Azure Pipelines.
Community Contributions
- Add initial frameworks for advice prompts (Thanks @FriedrichWeinmann! #54)
- This is very early for this stuff, but you can see the basic functionality with
Invoke-Advice
.
- This is very early for this stuff, but you can see the basic functionality with
- Add
Clear-Path
as an alias toMeasure-Karma
(Thanks @steviecoaster! #56) - Updates to readme and Getting Started sections (Thanks @nohwnd! #58)
- Fixes and tweaks to AboutStringOperators so they work as intended and make more sense. (Thanks @ChrisLGardner! #60, #62)
- Updates and edits to
AboutLoopsAndPipelines
,AboutHashtables
,AboutStrings
,AboutTypeOperators
,AboutAssignmentAndArithmetic
, andAboutArrays
. (Thanks @indented-automation! #63 #64 #65 #67 #69 #70) - Updates to
AboutConditionals
so the switch -Wildcard koan makes more sense. (Thanks @BrandonLundt! #73) - Updates to
AboutHashtables
. (Thanks @gpduck! #93)