From 80e955c9903a4285edd7ba19edcf1c74e8b8f33d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Daniel=20Kochma=C5=84ski?= <dkochmanski@turtle-solutions.eu>
Date: Mon, 11 May 2015 09:14:12 +0200
Subject: [PATCH] format-f: Add additional tests checking, if 0 is handled
 correctly.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
---
 format-f.lsp | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/format-f.lsp b/format-f.lsp
index df4a5c42..674290f4 100644
--- a/format-f.lsp
+++ b/format-f.lsp
@@ -535,11 +535,17 @@
         collect (list i c f1 s1 s2))
   nil)
 
-(deftest format.f.45
-  (let ((fn (formatter "~2f")))
-    (loop for x in (remove-duplicates '(1 1.1s0 1.1f0 1.1d0 1.1l0))
-          for s = (format nil "~2f" x)
-          for s2 = (formatter-call-to-string fn x)
-          unless (and (string= s "1.1") (string= s s2))
-          collect (list x s s2)))
-  nil)
+(def-format-test format.f.45
+    "~0f" (1.1) "1.1")
+
+;; This fails on ECL 15.3.7
+(def-format-test format.f.46
+    "~0f" (0.01) ".0")
+
+;; sbcl prints "."
+(def-format-test format.f.46b
+    "~0,0f" (0.01) "0.")
+
+;; Most implementations print .00
+(def-format-test format.f.47
+    "~3f" (0.000001) "0.0")
-- 
GitLab