mirror of
https://github.com/jfmengels/elm-review.git
synced 2024-09-20 04:27:25 +03:00
Make a specific error for unexpected global errors
This commit is contained in:
parent
4cb8d74815
commit
cc17889499
@ -573,8 +573,14 @@ expectNoErrors reviewResult =
|
||||
runResults
|
||||
|> List.map
|
||||
(\{ errors, moduleName } () ->
|
||||
List.isEmpty errors
|
||||
|> Expect.true (FailureMessage.didNotExpectErrors moduleName errors)
|
||||
if List.isEmpty errors then
|
||||
Expect.pass
|
||||
|
||||
else if moduleName == "GLOBAL ERROR" then
|
||||
Expect.fail (FailureMessage.didNotExpectGlobalErrors errors)
|
||||
|
||||
else
|
||||
Expect.fail (FailureMessage.didNotExpectErrors moduleName errors)
|
||||
)
|
||||
|> (\expectations -> Expect.all expectations ())
|
||||
|
||||
|
@ -4,7 +4,7 @@ module Review.Test.FailureMessage exposing
|
||||
, underMismatch, expectedMoreErrors, tooManyErrors, locationNotFound, underMayNotBeEmpty, locationIsAmbiguousInSourceCode
|
||||
, needToUsedExpectErrorsForModules, missingSources, duplicateModuleName, unknownModulesInExpectedErrors
|
||||
, missingFixes, unexpectedFixes, fixedCodeMismatch, unchangedSourceAfterFix, invalidSourceAfterFix, hasCollisionsInFixRanges
|
||||
, fixedCodeWhitespaceMismatch
|
||||
, didNotExpectGlobalErrors, fixedCodeWhitespaceMismatch
|
||||
)
|
||||
|
||||
{-| Failure messages for the `Review.Test` module.
|
||||
@ -52,6 +52,21 @@ didNotExpectErrors moduleName errors =
|
||||
""" ++ listErrorMessagesAndPositions errors)
|
||||
|
||||
|
||||
didNotExpectGlobalErrors : List ReviewError -> String
|
||||
didNotExpectGlobalErrors errors =
|
||||
failureMessage "DID NOT EXPECT GLOBAL ERRORS"
|
||||
("""I expected no global errors but found:
|
||||
|
||||
""" ++ listErrorMessages errors)
|
||||
|
||||
|
||||
listErrorMessages : List ReviewError -> String
|
||||
listErrorMessages errors =
|
||||
errors
|
||||
|> List.map (\error -> " - " ++ wrapInQuotes (Rule.errorMessage error))
|
||||
|> String.join "\n"
|
||||
|
||||
|
||||
parsingFailure : Bool -> { index : Int, source : String } -> String
|
||||
parsingFailure isOnlyFile { index, source } =
|
||||
let
|
||||
|
@ -13,6 +13,7 @@ all =
|
||||
describe "Review.Test.FailureMessage"
|
||||
[ parsingFailureTest
|
||||
, didNotExpectErrorsTest
|
||||
, didNotExpectGlobalErrorsTest
|
||||
, messageMismatchTest
|
||||
, underMismatchTest
|
||||
, unexpectedDetailsTest
|
||||
@ -118,6 +119,36 @@ I expected no errors for module `ModuleName` but found:
|
||||
"""
|
||||
|
||||
|
||||
didNotExpectGlobalErrorsTest : Test
|
||||
didNotExpectGlobalErrorsTest =
|
||||
test "didNotExpectGlobalErrors" <|
|
||||
\() ->
|
||||
let
|
||||
errors : List ReviewError
|
||||
errors =
|
||||
[ Review.Error.error
|
||||
{ message = "Some error"
|
||||
, details = [ "Some details" ]
|
||||
}
|
||||
dummyRange
|
||||
, Review.Error.error
|
||||
{ message = "Some other error"
|
||||
, details = [ "Some other details" ]
|
||||
}
|
||||
dummyRange
|
||||
]
|
||||
in
|
||||
FailureMessage.didNotExpectGlobalErrors errors
|
||||
|> expectMessageEqual """
|
||||
\u{001B}[31m\u{001B}[1mDID NOT EXPECT GLOBAL ERRORS\u{001B}[22m\u{001B}[39m
|
||||
|
||||
I expected no global errors but found:
|
||||
|
||||
- `Some error`
|
||||
- `Some other error`
|
||||
"""
|
||||
|
||||
|
||||
messageMismatchTest : Test
|
||||
messageMismatchTest =
|
||||
test "messageMismatch" <|
|
||||
|
Loading…
Reference in New Issue
Block a user