{-# LANGUAGE OverloadedStrings #-} module CodeAction.DestructAllSpec where import Wingman.Types import Test.Hspec import Utils spec :: Spec spec = do let destructAllTest = goldenTest DestructAll "" describe "provider" $ do mkTest "Requires args on lhs of =" "DestructAllProvider" 3 21 [ (not, DestructAll, "") ] mkTest "Can't be a non-top-hole" "DestructAllProvider" 8 19 [ (not, DestructAll, "") , (id, Destruct, "a") , (id, Destruct, "b") ] mkTest "Provides a destruct all otherwise" "DestructAllProvider" 12 22 [ (id, DestructAll, "") ] describe "golden" $ do destructAllTest 2 11 "DestructAllAnd" destructAllTest 4 23 "DestructAllMany" destructAllTest 2 18 "DestructAllNonVarTopMatch" destructAllTest 2 18 "DestructAllFunc" destructAllTest 19 18 "DestructAllGADTEvidence"