Pushes values to the right when given long info keys
This commit is contained in:
parent
011715353f
commit
b4b8027267
|
@ -14,12 +14,13 @@
|
||||||
display-error
|
display-error
|
||||||
|
|
||||||
display-test-failure/error
|
display-test-failure/error
|
||||||
strip-redundant-params)
|
strip-redundant-params
|
||||||
|
check-info-stack-max-name-width)
|
||||||
|
|
||||||
;; name-width : integer
|
;; name-width : integer
|
||||||
;;
|
;;
|
||||||
;; Number of characters we reserve for the check-info name column
|
;; Number of characters we reserve for the check-info name column
|
||||||
(define name-width 12)
|
(define minimum-name-width 12)
|
||||||
|
|
||||||
(define (display-delimiter)
|
(define (display-delimiter)
|
||||||
(display "--------------------") (newline))
|
(display "--------------------") (newline))
|
||||||
|
@ -39,21 +40,34 @@
|
||||||
[else
|
[else
|
||||||
(substring s 0 n)]))
|
(substring s 0 n)]))
|
||||||
|
|
||||||
(define (display-check-info-name-value name value [value-printer (lambda (x) (write x) (newline))])
|
(define (check-info-name-width check-info)
|
||||||
|
(string-length
|
||||||
|
(symbol->string
|
||||||
|
(check-info-name check-info))))
|
||||||
|
|
||||||
|
(define (display-check-info-name-value max-name-width name value [value-printer (lambda (x) (write x) (newline))])
|
||||||
(display (string-pad-right
|
(display (string-pad-right
|
||||||
(string-append (symbol->string name) ": ")
|
(string-append (symbol->string name) ": ")
|
||||||
name-width))
|
(max minimum-name-width (+ max-name-width 2))))
|
||||||
(value-printer value))
|
(value-printer value))
|
||||||
|
|
||||||
(define display-check-info
|
(define (display-check-info max-name-width a-check-info)
|
||||||
(match-lambda [(struct check-info (name value))
|
(match a-check-info
|
||||||
(display-check-info-name-value name value)]))
|
[(struct check-info (name value))
|
||||||
|
(display-check-info-name-value max-name-width name value)]))
|
||||||
|
|
||||||
|
|
||||||
|
(define (check-info-stack-max-name-width check-info-stack)
|
||||||
|
(apply max 0
|
||||||
|
(map check-info-name-width check-info-stack)))
|
||||||
|
|
||||||
;; display-check-info-stack : (listof check-info) -> void
|
;; display-check-info-stack : (listof check-info) -> void
|
||||||
(define (display-check-info-stack check-info-stack)
|
(define (display-check-info-stack check-info-stack)
|
||||||
(for-each
|
(define max-name-width (check-info-stack-max-name-width check-info-stack))
|
||||||
display-check-info
|
(define (display-check-info-with-width check-info)
|
||||||
(strip-redundant-params check-info-stack))
|
(display-check-info max-name-width check-info))
|
||||||
|
(for-each display-check-info-with-width
|
||||||
|
(strip-redundant-params check-info-stack))
|
||||||
(newline))
|
(newline))
|
||||||
|
|
||||||
;; display-test-name : (U string #f) -> void
|
;; display-test-name : (U string #f) -> void
|
||||||
|
|
|
@ -130,13 +130,15 @@
|
||||||
5]))))
|
5]))))
|
||||||
|
|
||||||
(define (textui-display-check-info-stack stack [verbose? #f])
|
(define (textui-display-check-info-stack stack [verbose? #f])
|
||||||
|
(define max-name-width (check-info-stack-max-name-width stack))
|
||||||
(for-each
|
(for-each
|
||||||
(lambda (info)
|
(lambda (info)
|
||||||
(cond
|
(cond
|
||||||
[(check-name? info)
|
[(check-name? info)
|
||||||
(display-check-info info)]
|
(display-check-info max-name-width info)]
|
||||||
[(check-location? info)
|
[(check-location? info)
|
||||||
(display-check-info-name-value
|
(display-check-info-name-value
|
||||||
|
max-name-width
|
||||||
'location
|
'location
|
||||||
(trim-current-directory
|
(trim-current-directory
|
||||||
(location->string
|
(location->string
|
||||||
|
@ -144,16 +146,19 @@
|
||||||
displayln)]
|
displayln)]
|
||||||
[(check-params? info)
|
[(check-params? info)
|
||||||
(display-check-info-name-value
|
(display-check-info-name-value
|
||||||
|
max-name-width
|
||||||
'params
|
'params
|
||||||
(check-info-value info)
|
(check-info-value info)
|
||||||
(lambda (v) (map pretty-print v)))]
|
(lambda (v) (map pretty-print v)))]
|
||||||
[(check-actual? info)
|
[(check-actual? info)
|
||||||
(display-check-info-name-value
|
(display-check-info-name-value
|
||||||
|
max-name-width
|
||||||
'actual
|
'actual
|
||||||
(check-info-value info)
|
(check-info-value info)
|
||||||
pretty-print)]
|
pretty-print)]
|
||||||
[(check-expected? info)
|
[(check-expected? info)
|
||||||
(display-check-info-name-value
|
(display-check-info-name-value
|
||||||
|
max-name-width
|
||||||
'expected
|
'expected
|
||||||
(check-info-value info)
|
(check-info-value info)
|
||||||
pretty-print)]
|
pretty-print)]
|
||||||
|
@ -161,7 +166,7 @@
|
||||||
(not verbose?))
|
(not verbose?))
|
||||||
(void)]
|
(void)]
|
||||||
[else
|
[else
|
||||||
(display-check-info info)]))
|
(display-check-info max-name-width info)]))
|
||||||
(sort-stack
|
(sort-stack
|
||||||
(if verbose?
|
(if verbose?
|
||||||
stack
|
stack
|
||||||
|
|
Loading…
Reference in New Issue
Block a user