Commit e1686219 authored by pfdietz's avatar pfdietz

~S tests for FORMATTER, and add logic to check number of extra args returned by FORMATTER calls

parent 03c49ece
......@@ -309,28 +309,28 @@
;;; # parameters
(def-format-test format.a.49
"~#A" ("abc" nil nil nil) "abc ")
"~#A" ("abc" nil nil nil) "abc " 3)
(def-format-test format.a.50
"~#@a" ("abc" nil nil nil nil nil) " abc")
"~#@a" ("abc" nil nil nil nil nil) " abc" 5)
(def-format-test format.a.51
"~5,#a" ("abc" nil nil nil) "abc ")
"~5,#a" ("abc" nil nil nil) "abc " 3)
(def-format-test format.a.52
"~5,#@A" ("abc" nil nil nil) " abc")
"~5,#@A" ("abc" nil nil nil) " abc" 3)
(def-format-test format.a.53
"~4,#A" ("abc" nil nil) "abc ")
"~4,#A" ("abc" nil nil) "abc " 2)
(def-format-test format.a.54
"~4,#@A" ("abc" nil nil) " abc")
"~4,#@A" ("abc" nil nil) " abc" 2)
(def-format-test format.a.55
"~#,#A" ("abc" nil nil nil) "abc ")
"~#,#A" ("abc" nil nil nil) "abc " 3)
(def-format-test format.a.56
"~#,#@A" ("abc" nil nil nil) " abc")
"~#,#@A" ("abc" nil nil nil) " abc" 3)
(def-format-test format.a.57
"~-100A" ("xyz") "xyz")
......
......@@ -4,6 +4,7 @@
;;;; Contains: Tests of format with ~& directive
(in-package :cl-test)
(compile-and-load "printer-aux.lsp")
(def-format-test format.&.1
"~0&" nil "")
......@@ -66,7 +67,9 @@
(def-format-test format.&.13
"X~#%" ('a 'b 'c) #.(let ((nl (string #\Newline)))
(concatenate 'string "X" nl nl nl)))
(concatenate 'string "X" nl nl nl))
3)
......
......@@ -43,7 +43,7 @@
nil)
(def-format-test format.{.9
"~#{~A~}" ('(1 2 3 4 5 6 7) nil nil nil) "1234")
"~#{~A~}" ('(1 2 3 4 5 6 7) nil nil nil) "1234" 3)
;;; (missing tests involved ~^ and have been moved to format-circumflex.lsp
;;; and renamed.)
......@@ -154,7 +154,7 @@
"~V:{X~}" (nil '((1) (2) (3) nil (5))) "XXXXX")
(def-format-test format.\:{.13
"~#:{~A~}" ('((1) (2) (3) (4) (5)) 'foo 'bar) "123")
"~#:{~A~}" ('((1) (2) (3) (4) (5)) 'foo 'bar) "123" 2)
(def-format-test format.\:{.14
"~:{~A~:}" ('((1 X) (2 Y) (3) (4 A B))) "1234")
......@@ -243,7 +243,7 @@
"~:@{~A~:}" ('(1 A) '(2 B) '(3) '(4 C D)) "1234")
(def-format-test format.\:@.7
"~0:@{~A~:}" ('(1 A) '(2 B) '(3) '(4 C D)) "")
"~0:@{~A~:}" ('(1 A) '(2 B) '(3) '(4 C D)) "" 4)
(def-format-test format.\:@.8
"~#:@{A~:}" (nil nil nil) "AAA")
......
......@@ -125,10 +125,10 @@
"~:{~A~0^~A~A~}" ('((1)(2 3 4)(5 6 7 8))) "125")
(def-format-test format.^.\:{.3
"~:{~#^~A~}" ('((1)(2 3 4)()(5 6 7 8))()) "125")
"~:{~#^~A~}" ('((1)(2 3 4)()(5 6 7 8))()) "125" 1)
(def-format-test format.^.\:{.4
"~:{~#^~A~#^~A~#^~A~#^~A~}" ('((1)(2 3 4)()(5 6 7 8))()) "12345678")
"~:{~#^~A~#^~A~#^~A~#^~A~}" ('((1)(2 3 4)()(5 6 7 8))()) "12345678" 1)
(def-format-test format.^.\:{.5
"~:{~v^~A~}" ('((1 2 3)(0)(2 4)(0 5)(1 6 7 8))) "246")
......@@ -247,60 +247,60 @@
"~1@{~A~^~A~}" (1) "1")
(def-format-test format.^.@{.4
"~0@{~A~^~A~}" (1) "")
"~0@{~A~^~A~}" (1) "" 1)
(def-format-test format.^.@{.5
"~1@{~A~^~A~}" (1 2 3) "12")
"~1@{~A~^~A~}" (1 2 3) "12" 1)
(def-format-test format.^.@{.6
"~@{~A~A~0^~A~}" (1 2 3 4 5 6) "12")
"~@{~A~A~0^~A~}" (1 2 3 4 5 6) "12" 4)
(def-format-test format.^.@{.7
"~@{~A~A~v^~A~}" (1 2 3 4 5 6 0 7 8 9 10 11 12) "12456")
"~@{~A~A~v^~A~}" (1 2 3 4 5 6 0 7 8 9 10 11 12) "12456" 6)
(def-format-test format.^.@{.8
"~@{~#,3^~A~}" (1 2 3 4 5 6 7 8 9 10) "1234567")
"~@{~#,3^~A~}" (1 2 3 4 5 6 7 8 9 10) "1234567" 3)
(def-format-test format.^.@{.9
"~@{~2,#^~A~}X~A" (1 2 3 4 5 6 7 8 9 10) "12345678X9")
"~@{~2,#^~A~}X~A" (1 2 3 4 5 6 7 8 9 10) "12345678X9" 1)
(def-format-test format.^.@{.10
"~@{~#,#^~A~}" (1 2 3 4 5 6 7 8 9 10) "")
"~@{~#,#^~A~}" (1 2 3 4 5 6 7 8 9 10) "" 10)
(def-format-test format.^.@{.11
"~@{~#,#,#^~A~}" (1 2 3 4 5 6 7 8 9 10) "")
"~@{~#,#,#^~A~}" (1 2 3 4 5 6 7 8 9 10) "" 10)
(def-format-test format.^.@{.12
"~@{~#,1,2^~A~}" (1 2 3 4 5 6 7 8 9 10) "123456789")
"~@{~#,1,2^~A~}" (1 2 3 4 5 6 7 8 9 10) "123456789" 1)
(def-format-test format.^.@{.13
"~@{~#,#,v^~A~}" (1 2 3 4 5 6 7 8 9 10) "246")
"~@{~#,#,v^~A~}" (1 2 3 4 5 6 7 8 9 10) "246" 3)
(def-format-test format.^.@{.14
"~@{~#,#,v^~A~}" (1 2 3 4 5 6 7 8 9 10 11) "246")
"~@{~#,#,v^~A~}" (1 2 3 4 5 6 7 8 9 10 11) "246" 4)
(def-format-test format.^.@{.15
"~@{~#,#,v^~A~}" (1 2 3 4 5 6 7 8 9 10 11 12) "246")
"~@{~#,#,v^~A~}" (1 2 3 4 5 6 7 8 9 10 11 12) "246" 5)
(def-format-test format.^.@{.16
"~@{~#,#,v^~A~}" (1 2 3 4 5 6 7 8 9 10 11 12 13) "246")
"~@{~#,#,v^~A~}" (1 2 3 4 5 6 7 8 9 10 11 12 13) "246" 6)
(def-format-test format.^.@{.17
"~@{~#,#,v^~A~}" (1 2 3 4 5 6 7 8 9 10 11 12 13 14) "2468")
"~@{~#,#,v^~A~}" (1 2 3 4 5 6 7 8 9 10 11 12 13 14) "2468" 5)
(def-format-test format.^.@{.18
"~@{~v,v^~A~}"
((1+ most-positive-fixnum)
(1+ most-positive-fixnum)
1)
"")
"" 1)
(def-format-test format.^.@{.19
"~@{~0,v,v^~A~}"
((1+ most-positive-fixnum)
(1+ most-positive-fixnum)
1)
"")
"" 1)
(def-format-test format.^.@{.20
"~@{~0,v,v^~A~}"
......@@ -310,34 +310,34 @@
"1")
(def-format-test format.^.@{.21
"~@{~1,v^~A~}" (nil 8 nil 7 0 6 1 5) "876")
"~@{~1,v^~A~}" (nil 8 nil 7 0 6 1 5) "876" 1)
(def-format-test format.^.@{.22
"~@{~0,v^~A~}" (3 8 1 7 3 6 nil 5) "876")
"~@{~0,v^~A~}" (3 8 1 7 3 6 nil 5) "876" 1)
(def-format-test format.^.@{.23
"~@{~1,2,v^~A~}" (0 1 0 2 0 3 3 4) "123")
"~@{~1,2,v^~A~}" (0 1 0 2 0 3 3 4) "123" 1)
(def-format-test format.^.@{.24
"~@{~1,2,v^~A~}" (0 1 0 2 0 3 nil 4) "1234")
(def-format-test format.^.@{.25
"~@{~1,1,v^~A~}" (0 1 0 2 0 3 nil 4) "123")
"~@{~1,1,v^~A~}" (0 1 0 2 0 3 nil 4) "123" 1)
(def-format-test format.^.@{.26
"~@{~'X^~A~}" (1 2 3) "123")
(def-format-test format.^.@{.27
"~@{~v,'X^~A~}" (0 1 #\x 2 nil 3 #\X 4 0 5) "123")
"~@{~v,'X^~A~}" (0 1 #\x 2 nil 3 #\X 4 0 5) "123" 3)
(def-format-test format.^.@{.28
"~@{~'X,v^~A~}" (0 1 #\x 2 nil 3 #\X 4 0 5) "123")
"~@{~'X,v^~A~}" (0 1 #\x 2 nil 3 #\X 4 0 5) "123" 3)
(def-format-test format.^.@{.29
"~@{~v,v^~A~}" (0 2 1 #\x #\X 2 5 #\X 3 #\y #\y 4 1 2 5) "123")
"~@{~v,v^~A~}" (0 2 1 #\x #\X 2 5 #\X 3 #\y #\y 4 1 2 5) "123" 4)
(def-format-test format.^.@{.30
"~@{~',,',^~A~}" (1 2 3) "")
"~@{~',,',^~A~}" (1 2 3) "" 3)
(def-format-test format.^.@{.31
"~@{~1,v,v^~A~}" (#\a nil 0) "0")
......@@ -346,7 +346,7 @@
"~@{~v,1,v^~A~}" (#\a nil 0) "0")
(def-format-test format.^.@{.33
"~@{~v,v,v^~A~}" (#\a #\a nil 0) "")
"~@{~v,v,v^~A~}" (#\a #\a nil 0) "" 1)
;;; Inside ~:@{
......@@ -629,7 +629,7 @@
(def-format-test format.\:^.\:@{.4
"~:@{~0:^~A~}" ('(1) '(2))
"")
"" 1)
(def-format-test format.\:^.\:@{.5
"~:@{~1:^~A~}" ('(1) '(2))
......@@ -641,7 +641,7 @@
(def-format-test format.\:^.\:@{.7
"~:@{~v:^~A~}" ('(1 8) '(2 3 4) '(3 1) '(0) '(6 7) '(8 10))
"831")
"831" 2)
(def-format-test format.\:^.\:@{.8
"~:@{~V:^~A~}" ('(#\X 1) '(0 2))
......@@ -649,11 +649,11 @@
(def-format-test format.\:^.\:@{.9
"~:@{~#:^~A~}" ('(1) '(2) '(3 4) '(5 6 7) () '(8 9 10))
"1235")
"1235" 1)
(def-format-test format.\:^.\:@{.10
"~:@{~1,1:^~A~}" (() '(1) '(2 3))
"")
"" 2)
(def-format-test format.\:^.\:@{.11
"~:@{~0,1:^~A~}" ('(1) '(2 3))
......@@ -661,23 +661,23 @@
(def-format-test format.\:^.\:@{.12
"~:@{~v,1:^~A~}" ('(2 3) '(4 5 6) '(0 2) '(1 7) '(9 10))
"352")
"352" 1)
(def-format-test format.\:^.\:@{.13
"~:@{~1,V:^~A~}" ('(2 3) '(4 5 6) '(0 2) '(1 7) '(9 10))
"352")
"352" 1)
(def-format-test format.\:^.\:@{.14
"~:@{~V,v:^~A~}" ('(0 1 2) '(1 0 3) '(4 4) () '(5 6 7))
"23")
"23" 2)
(def-format-test format.\:^.\:@{.15
"~:@{~#,1:^~A~}" ('(2 3 4) '(4 5) '(0) '(1 7) '(9 10))
"24")
"24" 2)
(def-format-test format.\:^.\:@{.16
"~:@{~1,#:^~A~}" ('(2 3 4) '(4 5) '(0) '(1 7) '(9 10))
"24")
"24" 2)
(def-format-test format.\:^.\:@{.17
"~:@{~#,#:^~A~}" (nil)
......@@ -689,11 +689,11 @@
(def-format-test format.\:^.\:@{.19
"~:@{~#,v:^~A~}" ('(1 2) '(3 4) '(2 5 6) '(1) '(2))
"245")
"245" 1)
(def-format-test format.\:^.\:@{.20
"~:@{~V,#:^~A~}" ('(0 2) '(1 3 4) '(1 3) () '(0 7))
"23")
"23" 2)
(def-format-test format.\:^.\:@{.21
"~:@{~'X,'Y:^~A~}" ('(1) '(2))
......@@ -701,11 +701,11 @@
(def-format-test format.\:^.\:@{.22
"~:@{~'X,'X:^~A~}" ('(1) '(2))
"")
"" 1)
(def-format-test format.\:^.\:@{.23
"~:@{~1,2,3:^~A~}" ('(1) '(2))
"")
"" 1)
(def-format-test format.\:^.\:@{.24
"~:@{~1,2,1:^~A~}" ('(1) '(2))
......@@ -717,59 +717,59 @@
(def-format-test format.\:^.\:@{.26
"~:@{~1,1,v:^~A~}" ('(0 4) '(nil 1) '(0 5))
"4")
"4" 1)
(def-format-test format.\:^.\:@{.27
"~:@{~v,2,2:^~A~}" ('(3 4) '(1 1) '(4 5))
"4")
"4" 1)
(def-format-test format.\:^.\:@{.28
"~:@{~1,v,2:^~A~}" ('(0 2) '(3 4) '(1 1) '(4 5))
"24")
"24" 1)
(def-format-test format.\:^.\:@{.29
"~:@{~V,v,3:^~A~}" ('(1 4 0) '(2 1 7) '(4 4 8 0) '(1 2 6) '(9 8 0))
"078")
"078" 1)
(def-format-test format.\:^.\:@{.30
"~:@{~v,2,v:^~A~}" ('(1 1 0) '(3 2 5) '(2 1 6) '(1 2 0) '(10 11 13))
"056")
"056" 1)
(def-format-test format.\:^.\:@{.31
"~:@{~2,V,v:^~A~}" ('(1 1 0) '(3 2 5) '(2 1 6) '(10 11 13) '(0 1 0))
"056")
"056" 1)
(def-format-test format.\:^.\:@{.32
"~:@{~v,v,V:^~A~}" ('(1 2 1 0) '(2 1 1 4) '(2 3 1 6) '(1 2 3) '(0 1 0 8))
"046")
"046" 1)
(def-format-test format.\:^.\:@{.33
"~:@{~#,2,2:^~A~}" ('(1 2 3) '(2 X X) '(0 A B C D) '(4 5) '(5 7 8 9))
"120")
"120" 1)
(def-format-test format.\:^.\:@{.34
"~:@{~2,#,3:^~A~}" ('(1) '(2 3 4 5) '(3 4) '(4 5 6 7 8) ())
"12")
"12" 2)
(def-format-test format.\:^.\:@{.35
"~:@{~1,3,#:^~A~}" ('(1) '(2 3) '(3 4) '(4 5 6) '(5))
"123")
"123" 1)
(def-format-test format.\:^.\:@{.36
"~:@{~#,#,2:^~A~}" ('(1 2 3) '(2 X X) '(0 A B C D) '(4 5) '(5 7 8 9))
"120")
"120" 1)
(def-format-test format.\:^.\:@{.37
"~:@{~3,#,#:^~A~}" ('(1) '(2 3) '(3 4) '(4 5 6) '(5))
"123")
"123" 1)
(def-format-test format.\:^.\:@{.38
"~:@{~#,2,#:^~A~}" ('(1 2 3) '(2) '(0 A B C D) '(4 5) '(5 7 8 9))
"120")
"120" 1)
(def-format-test format.\:^.\:@{.39
"~:@{~#,#,#:^~A~}" ('(1 2 3) '(2) '(0 A B C D) '(4 5) '(5 7 8 9))
"")
"" 4)
;;; ~^ inside ~?, ~@?
......@@ -791,7 +791,7 @@
(def-format-test format.^.@?.1
"~AY~@?X~A" (1 "~A~0^~A" 2 3 4)
"1Y2X3")
"1Y2X3" 1)
(def-format-test format.^.@?.2
"~A~@?X~A" (1 "~{~^~A~}~AY~A" '(2 3) 4 5 6)
......@@ -828,12 +828,3 @@
(def-format-test format.^.@\:\(.1
"~{~@:(~CA ~Cb ~0^~C~)W~}" ('(#\x #\Y #\Z #\A))
"XA YB ")
\ No newline at end of file
......@@ -31,19 +31,19 @@
("" "a" "b" "c" "d" "e" "f" "g" "h" "i" "" ""))
(def-format-test format.cond.8
"~0[a~;b~;c~;d~]" (3) "a")
"~0[a~;b~;c~;d~]" (3) "a" 1)
(def-format-test format.cond.9
"~-1[a~;b~;c~;d~]" (3) "")
"~-1[a~;b~;c~;d~]" (3) "" 1)
(def-format-test format.cond.10
"~1[a~;b~;c~;d~]" (3) "b")
"~1[a~;b~;c~;d~]" (3) "b" 1)
(def-format-test format.cond.11
"~4[a~;b~;c~;d~]" (3) "")
"~4[a~;b~;c~;d~]" (3) "" 1)
(def-format-test format.cond.12
"~100000000000000000000000000000000[a~;b~;c~;d~]" (3) "")
"~100000000000000000000000000000000[a~;b~;c~;d~]" (3) "" 1)
(deftest format.cond.13
(loop for i from -1 to 10
......@@ -59,7 +59,7 @@
"~#[A~;B~]" nil "A")
(def-format-test format.cond.16
"~#[A~;B~]" (nil) "B")
"~#[A~;B~]" (nil) "B" 1)
;;; ~[ .~:; ~]
......@@ -98,7 +98,7 @@
"~#[A~:;B~]" nil "A")
(def-format-test format.cond\:.9
"~#[A~:;B~]" (nil nil) "B")
"~#[A~:;B~]" (nil nil) "B" 2)
;;; ~:[...~]
......
......@@ -13,7 +13,7 @@
"~A~*~A" (1 2 3) "13")
(def-format-test format.*.2
"~A~0*~A" (1 2 3) "12")
"~A~0*~A" (1 2 3) "12" 1)
(def-format-test format.*.3
"~A~v*~A" (1 0 2) "12")
......@@ -40,25 +40,25 @@
;;; ~:*
(def-format-test format.\:*.1
"~A~:*~A" (1 2 3) "11")
"~A~:*~A" (1 2 3) "11" 2)
(def-format-test format.\:*.2
"~A~A~:*~A" (1 2 3) "122")
"~A~A~:*~A" (1 2 3) "122" 1)
(def-format-test format.\:*.3
"~A~A~0:*~A" (1 2 3) "123")
(def-format-test format.\:*.4
"~A~A~2:*~A" (1 2 3) "121")
"~A~A~2:*~A" (1 2 3) "121" 2)
(def-format-test format.\:*.5
"~A~A~v:*~A" (1 2 0 3) "123")
(def-format-test format.\:*.6
"~A~A~v:*~A" (6 7 2 3) "677")
"~A~A~v:*~A" (6 7 2 3) "677" 2)
(def-format-test format.\:*.7
"~A~A~v:*~A" (6 7 nil 3) "67NIL")
"~A~A~v:*~A" (6 7 nil 3) "67NIL" 1)
(def-format-test format.\:*.8
"~A~1{~A~:*~A~}~A" (0 '(1 2 3) 4) "0114")
......@@ -81,10 +81,10 @@
;;; ~@*
(def-format-test format.@*.1
"~A~A~@*~A~A" (1 2 3 4) "1212")
"~A~A~@*~A~A" (1 2 3 4) "1212" 2)
(def-format-test format.@*.2
"~A~A~1@*~A~A" (1 2 3 4) "1223")
"~A~A~1@*~A~A" (1 2 3 4) "1223" 1)
(def-format-test format.@*.3
"~A~A~2@*~A~A" (1 2 3 4) "1234")
......@@ -93,13 +93,13 @@
"~A~A~3@*~A~A" (1 2 3 4 5) "1245")
(def-format-test format.@*.5
"~A~A~v@*~A~A" (1 2 nil 3 4) "1212")
"~A~A~v@*~A~A" (1 2 nil 3 4) "1212" 3)
(def-format-test format.@*.6
"~A~A~v@*~A~A" (1 2 1 3 4) "1221")
"~A~A~v@*~A~A" (1 2 1 3 4) "1221" 2)
(def-format-test format.@*.7
"~A~A~v@*~A~A" (6 7 2 3 4) "6723")
"~A~A~v@*~A~A" (6 7 2 3 4) "6723" 1)
(def-format-test format.@*.8
"~A~{~A~A~@*~A~A~}~A" (0 '(1 2) 9) "012129")
......
......@@ -4,6 +4,7 @@
;;;; Contains: Tests of format with ~| directive
(in-package :cl-test)
(compile-and-load "printer-aux.lsp")
(def-format-test format.page.1
"~0|" nil "")
......
......@@ -4,6 +4,7 @@
;;;; Contains: Tests of format with ~% directive
(in-package :cl-test)
(compile-and-load "printer-aux.lsp")
(def-format-test format.%.1
"~%" nil #.(string #\Newline))
......
......@@ -6,7 +6,7 @@
(in-package :cl-test)
;;; Test of various radixes
(compile-and-load "printer-aux.lsp")
(compile-and-load "roman-numerals.lsp")
(deftest format.r.1
......@@ -115,7 +115,7 @@
"~vr" (nil 5) "five")
(def-format-test format.r.9
"~#r" (4 nil nil) "11")
"~#r" (4 nil nil) "11" 2)
(deftest format.r.10
(with-standard-io-syntax
......@@ -281,7 +281,7 @@
nil)
(def-format-test format.r.26
"~10,#r" (12345 nil nil nil nil nil) " 12345")
"~10,#r" (12345 nil nil nil nil nil) " 12345" 5)
(def-format-test format.r.27
"~10,12,vr" (#\/ 123456789) "///123456789")
......@@ -299,7 +299,7 @@
"~8,,,,v:R" (2 #o12345670) "12,34,56,70")
(def-format-test format.r.32
"~16,,,,#:r" (#x12345670 nil nil nil) "1234,5670")
"~16,,,,#:r" (#x12345670 nil nil nil) "1234,5670" 3)
(def-format-test format.r.33
"~16,,,,1:r" (#x12345670) "1,2,3,4,5,6,7,0")
......
......@@ -4,6 +4,7 @@
;;;; Contains: Test of the ~S format directive
(in-package :cl-test)
(compile-and-load "printer-aux.lsp")
(deftest format.s.1
(let ((*print-readably* nil)
......@@ -11,10 +12,8 @@
(format nil "~s" nil))
"NIL")
(deftest format.s.2
(let ((*print-readably* nil))
(format nil "~:s" nil))
"()")
(def-format-test format.s.2
"~:s" (nil) "()")
(deftest format.s.3
(let ((*print-readably* nil)
......@@ -34,11 +33,8 @@
(format nil "~s" 'nil))
"Nil")
(deftest format.s.6
(with-standard-io-syntax
(let ((*print-readably* nil))
(format nil "~:s" #(nil))))
"#(NIL)")
(def-format-test format.s.6
"~:s" (#(nil)) "#(NIL)")
(deftest format.s.7
(with-standard-io-syntax
......@@ -183,91 +179,49 @@
" ()"
" ()")
(deftest format.s.15
(with-standard-io-syntax
(let ((*print-readably* nil))
(format nil "~vS" nil nil)))
"NIL")
(def-format-test format.s.15
"~vS" (nil nil) "NIL")
(deftest format.s.16
(with-standard-io-syntax
(let ((*print-readably* nil))
(format nil "~v:S" nil nil)))
"()")
(def-format-test format.s.16
"~v:S" (nil nil) "()")
(deftest format.s.17
(with-standard-io-syntax
(let ((*print-readably* nil))
(format nil "~@S" nil)))
"NIL")
(def-format-test format.s.17
"~@S" (nil) "NIL")
(deftest format.s.18
(with-standard-io-syntax
(let ((*print-readably* nil))
(format nil "~v@S" nil nil)))
"NIL")
(def-format-test format.s.18
"~v@S" (nil nil) "NIL")
(deftest format.s.19
(with-standard-io-syntax
(let ((*print-readably* nil))
(format nil "~v:@s" nil nil)))
"()")
(def-format-test format.s.19
"~v:@s" (nil nil) "()")
(deftest format.s.20
(with-standard-io-syntax
(let ((*print-readably* nil))
(format nil "~v@:s" nil nil)))
"()")
(def-format-test format.s.20
"~v@:s" (nil nil) "()")
;;; With colinc specified
(deftest format.s.21
(with-standard-io-syntax
(let ((*print-readably* nil))
(format nil "~3,1s" nil)))
"NIL")
(def-format-test format.s.21
"~3,1s" (nil) "NIL")
(deftest format.s.22
(with-standard-io-syntax
(let ((*print-readably* nil))
(format nil "~4,3s" nil)))
"NIL ")
(def-format-test format.s.22
"~4,3s" (nil) "NIL ")
(deftest format.s.23
(with-standard-io-syntax
(let ((*print-readably* nil))
(format nil "~3,3@s" nil)))
"NIL")
(def-format-test format.s.23
"~3,3@s" (nil) "NIL")
(deftest format.s.24
(with-standard-io-syntax
(let ((*print-readably* nil))
(format nil "~4,4@s" nil)))
" NIL")
(def-format-test format.s.24
"~4,4@s" (nil) " NIL")
(deftest format.s.25