packages feed

sensei-0.9.0: test/DeepSeekSpec.hs

module DeepSeekSpec (spec) where

import           Helper

import           DeepSeek

spec :: Spec
spec = do
  describe "extractPatch" $ do
    it "extracts patch" $ do
      let
        err :: Diagnostic
        err = (diagnostic Error) {
          span = Just Span {
            file = "src/DeepSeek/Types.hs"
          , start = Location 0 0
          , end = Location 0 0
          }
        }
        input :: String
        input = unlines [
            "```diff"
          , "--- a/src/DeepSeek/Types.hs"
          , "+++ b/src/DeepSeek/Types.hs"
          , "@@ -11,7 +11,7 @@"
          , " import GHC.Generics (Generic)"
          , " import Data.Aeson (FromJSON, ToJSON)"
          , " import Data.Text (Text)"
          , "-import Data.Time.Clock.POSIX (POSIXTime)"
          , "+import Data.Time.Clock.POSIX ()"
          , ""
          , " data Request = Request {"
          , "   model :: String"
          , "```"
          ]
      extractPatch err input `shouldBe` Just Patch {
          strip = 1
        , diff = unlines [
            "--- a/src/DeepSeek/Types.hs"
          , "+++ b/src/DeepSeek/Types.hs"
          , "@@ -11,7 +11,7 @@"
          , " import GHC.Generics (Generic)"
          , " import Data.Aeson (FromJSON, ToJSON)"
          , " import Data.Text (Text)"
          , "-import Data.Time.Clock.POSIX (POSIXTime)"
          , "+import Data.Time.Clock.POSIX ()"
          , ""
          , " data Request = Request {"
          , "   model :: String"
          ]
        }