From 67fd7a7f865e7e725dfcd4c2ec2c5840f3457f60 Mon Sep 17 00:00:00 2001 From: ryanc-signiq Date: Thu, 8 Mar 2018 15:33:41 +0800 Subject: [PATCH] FIXUP: Removed +1 causing substr slicing to skip chars on first iteration of while loop (#7312) --- lib/pure/strutils.nim | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/pure/strutils.nim b/lib/pure/strutils.nim index 0c35c1d52f..ddd0e9e620 100644 --- a/lib/pure/strutils.nim +++ b/lib/pure/strutils.nim @@ -1250,7 +1250,7 @@ proc wordWrap*(s: string, maxLineWidth = 80, if len(word) > spaceLeft: if splitLongWords and len(word) > maxLineWidth: result.add(substr(word, 0, spaceLeft-1)) - var w = spaceLeft+1 + var w = spaceLeft var wordLeft = len(word) - spaceLeft while wordLeft > 0: result.add(newLine) @@ -2514,6 +2514,11 @@ when isMainModule: outp = " this is a\nlong text\n--\nmuchlongerthan10chars\nand here\nit goes" doAssert wordWrap(inp, 10, false) == outp + let + longInp = """ThisIsOneVeryLongStringWhichWeWillSplitIntoEightSeparatePartsNow""" + longOutp = "ThisIsOn\neVeryLon\ngStringW\nhichWeWi\nllSplitI\nntoEight\nSeparate\nPartsNow" + doAssert wordWrap(longInp, 8, true) == longOutp + doAssert formatBiggestFloat(1234.567, ffDecimal, -1) == "1234.567000" doAssert formatBiggestFloat(1234.567, ffDecimal, 0) == "1235." doAssert formatBiggestFloat(1234.567, ffDecimal, 1) == "1234.6"