packages feed

tasty-focus-1.0.0: test/Spec.hs

import Test.Tasty.Focus
import Test.Tasty.ExpectedFailure
import Test.Tasty
import Test.Tasty.HUnit

failure :: TestTree
failure = testCase "failure" $ assertFailure "test failure"

success :: TestTree
success = testCase "success" $ pure ()

main :: IO ()
main =
  defaultMain $
    testGroup
      "tasty-focus"
      [ expectFail . withFocus $
          testGroup
            "no focus runs everything"
            [ failure
            ],
        expectFail . withFocus . focus $
          testGroup
            "focus entire tree runs everything"
            [ failure
            ],
        withFocus $
          testGroup
            "focus out failure"
            [ focus success,
              failure
            ],
        withFocus $
          testGroup
            "deep focus"
            [ testGroup
                "nest"
                [ focus success,
                  failure
                ],
              failure
            ],
        withFocus . focus $
          testGroup
            "nested focus precedence"
            [ testGroup
                "nest"
                [ focus success,
                  failure
                ],
              failure
            ]
      ]