From 2820f2ace0623199a701d3efbe7da8e3e836c5f1 Mon Sep 17 00:00:00 2001 From: Alex Sarafian Date: Wed, 20 Apr 2016 15:34:55 +0200 Subject: [PATCH] Fixed issue with not properly escaped characters --- CHANGELOG.md | 3 +++ Modules/MarkdownPS/New-MDImage.Tests.ps1 | 6 +++--- Modules/MarkdownPS/New-MDImage.ps1 | 8 ++++++++ Publish/Version.ps1 | 2 +- 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1eafcc4..525af23 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +**20160420** +- Within `New-MDImage` `[System.Uri]::EscapeDataString` is not escaping `(`,`)` when not executing from withing ise. Don't know why. Fixed with extra replacements. + **20160419** - With `New-MDImage` changed parameter `-Link` to `-Source` to drive the image source. - With `New-MDImage` added parameter `-Link` to make a link image. diff --git a/Modules/MarkdownPS/New-MDImage.Tests.ps1 b/Modules/MarkdownPS/New-MDImage.Tests.ps1 index 42a4de1..3c8b741 100644 --- a/Modules/MarkdownPS/New-MDImage.Tests.ps1 +++ b/Modules/MarkdownPS/New-MDImage.Tests.ps1 @@ -64,10 +64,10 @@ Describe "New-MDImage" { New-MDImage -Subject $subject -Status $status -Color $color | Should Be $expected } It "With special chars" { - $subject="dash-underscor_space ." - $status="dash-underscor_space ." + $subject="dash-underscore_parenthesis()space ." + $status="dash-underscore_parenthesis()space ." $color="green" - $expected="![](https://img.shields.io/badge/dash--underscor__space%20.-dash--underscor__space%20.-$color.svg)" + $expected="![](https://img.shields.io/badge/dash--underscore__parenthesis%28%29space%20.-dash--underscore__parenthesis%28%29space%20.-$color.svg)" New-MDImage -Subject $subject -Status $status -Color $color | Should Be $expected } It "-Link specified" { diff --git a/Modules/MarkdownPS/New-MDImage.ps1 b/Modules/MarkdownPS/New-MDImage.ps1 index 3ba0f53..f0c5225 100644 --- a/Modules/MarkdownPS/New-MDImage.ps1 +++ b/Modules/MarkdownPS/New-MDImage.ps1 @@ -123,6 +123,14 @@ function New-MDImage { $Status=$Status.Replace("-","--").Replace("_","__") $Status=[System.Uri]::EscapeDataString($Status) + + #When running from powershell [System.Uri]::EscapeDataString is not escaping () + if(-not $ise) + { + $Subject=$Subject.Replace("(","%28").Replace(")","%29") + $Status=$Status.Replace("(","%28").Replace(")","%29") + } + $shieldIo="$Subject-$Status-$Color" $Source="https://img.shields.io/badge/$shieldIo.svg" diff --git a/Publish/Version.ps1 b/Publish/Version.ps1 index edc0696..e125749 100644 --- a/Publish/Version.ps1 +++ b/Publish/Version.ps1 @@ -1,6 +1,6 @@ function Get-Version { $major=1 - $minor=3 + $minor=4 $patch=0 return "$major.$minor"