hls-test-utils-2.10.0.0: Utilities used in the tests of Haskell Language Server
Safe HaskellSafe-Inferred
LanguageGHC2021

Development.IDE.Test

Synopsis

Documentation

type Cursor = (UInt, UInt) Source #

(0-based line number, 0-based column number)

diagnostic :: Session (TNotificationMessage Method_TextDocumentPublishDiagnostics) Source #

expectDiagnostics :: HasCallStack => [(FilePath, [ExpectedDiagnostic])] -> Session () Source #

It is not possible to use 'expectDiagnostics []' to assert the absence of diagnostics, only that existing diagnostics have been cleared.

Rather than trying to assert the absence of diagnostics, introduce an expected diagnostic (e.g. a redundant import) and assert the singleton diagnostic.

type ExpectedDiagnostic = (DiagnosticSeverity, Cursor, Text, Maybe Text) Source #

Expected diagnostics have the following components:

  1. severity
  2. cursor (line and column numbers)
  3. infix of the message
  4. code (e.g. GHC-87543)

type ExpectedDiagnosticWithTag = (DiagnosticSeverity, Cursor, Text, Maybe Text, Maybe DiagnosticTag) Source #

Expected diagnostics with a tag have the following components:

  1. severity
  2. cursor (line and column numbers)
  3. infix of the message
  4. code (e.g. GHC-87543)
  5. tag (unnecessary or deprecated)

expectNoMoreDiagnostics :: HasCallStack => Seconds -> Session () Source #

wait for timeout seconds and report an assertion failure if any diagnostic messages arrive in that period

expectMessages :: SMethod m -> Seconds -> (TServerMessage m -> Session ()) -> Session () Source #

isReferenceReady :: FilePath -> Session () Source #

Pattern match a message from ghcide indicating that a file has been indexed