lint: Check for leading whitespace in description.

* guix/lint.scm (check-description-style): Check for leading whitespace.
* tests/lint.scm: ("description: leading whitespace"): New test.
This commit is contained in:
Brice Waegeneire 2021-06-19 21:59:48 +02:00
parent a5fa05dfc7
commit edb328ad83
No known key found for this signature in database
GPG key ID: A94903A166A18FAE
2 changed files with 18 additions and 0 deletions

View file

@ -13,6 +13,7 @@
;;; Copyright © 2020 Timothy Sample <samplet@ngyro.com>
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
;;;
;;; This file is part of GNU Guix.
;;;
@ -376,6 +377,15 @@ (define (check-end-of-sentence-space description)
infractions)
#:field 'description)))))
(define (check-no-leading-whitespace description)
"Check that DESCRIPTION doesn't have trailing whitespace."
(if (string-prefix? " " description)
(list
(make-warning package
(G_ "description contains leading whitespace")
#:field 'description))
'()))
(define (check-no-trailing-whitespace description)
"Check that DESCRIPTION doesn't have trailing whitespace."
(if (string-suffix? " " description)
@ -394,6 +404,7 @@ (define (check-no-trailing-whitespace description)
;; Use raw description for this because Texinfo rendering
;; automatically fixes end of sentence space.
(check-end-of-sentence-space description)
(check-no-leading-whitespace description)
(check-no-trailing-whitespace description)
(match (check-texinfo-markup description)
((and warning (? lint-warning?)) (list warning))

View file

@ -163,6 +163,13 @@ (define (warning-contains? str warnings)
(description "This is a 'quoted' thing."))))
(check-description-style pkg))))
(test-equal "description: leading whitespace"
"description contains leading whitespace"
(single-lint-warning-message
(let ((pkg (dummy-package "x"
(description " Whitespace."))))
(check-description-style pkg))))
(test-equal "description: trailing whitespace"
"description contains trailing whitespace"
(single-lint-warning-message