?      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe-InferredNoneunstableNoneA < represents the location of an example within the spec tree.JIt consists of a list of group descriptions and a requirement description.pluralize count singular pluralizes the given singular word unless given count is 1. Examples:pluralize 0 "example" "0 examples"pluralize 1 "example" "1 example"pluralize 2 "example" "2 examples"%Strip leading and trailing whitespace,ensure that lines are not longer then given n(, insert line breaks at word boundariesQTry to create a proper English sentence from a path by applying some heuristics.3A predicate that can be used to filter a spec tree. The function # converts an exception to a string.This is different from /. The type of the exception is included, e.g.:*formatException (toException DivideByZero)!"ArithException (divide by zero)"For s the  is included, as well.safeTryu evaluates given action and returns its result. If an exception occurs, the exception is returned instead. Unlike , it is agnostic to asynchronous exceptions. None None  None+24=K The result of running an example An ) action that expects an argument of type aA type class for examples    unstableNone- A marker for source locationsXThe source location was determined on a best-effort basis and my be wrong or inaccurateThe source location is accurateLocation' is used to represent source locations. ItemF is used to represent spec items internally. A spec item consists of:+a textual description of a desired behavioran example for that behavioradditional meta information&Everything that is an instance of the r type class can be used as an example, including QuickCheck properties, Hspec expectations and HUnit assertions."Textual description of behavior# Source location of the spec item$fA flag that indicates whether it is safe to evaluate this spec item in parallel with other spec items%Example for behavior&A tree is used to represent a spec internally. The tree is parametrize over the type of cleanup actions and the type of the actual spec items.'Internal tree data structure+The  specGroup6 function combines a list of specs into a larger spec.,The specItem function creates a spec item. !"#$%&'()*+, !"#$%&'()*+,  !"#$%&'*)(+, NoneB-A writer monad for & forests1 Convert a 0 to a forest of &s.2 Create a 0 from a forest of &s.32Run an IO action while constructing the spec tree.-J is a monad to construct a spec tree, without executing any spec items. runIO allows you to run IO actions during this construction phase. The IO action is always run when the spec tree is constructed (e.g. even when  --dry-run] is specified). If you do not need the result of the IO action to construct the spec tree, ( may be more suitable for your use case. -./01234567 -./01234567 -./01234567unstableNone8The describe6 function combines a list of specs into a larger spec.9The it function creates a spec item.A spec item consists of:+a textual description of a desired behavioran example for that behavior odescribe "absolute" $ do it "returns a positive number when given a negative number" $ absolute (-1) == 1::L marks all spec items of the given spec to be safe for parallel evaluation.;;, can be used to indicate that an example is pending.VIf you want to textually specify a behavior but do not have an example yet, use this: `describe "fancyFormatter" $ do it "can format text in a way that everyone likes" $ pending<< is similar to ;j, but it takes an additional string argument that can be used to specify the reason for why it's pending.89:;<5  !"#$%&'()*+,-./0123456789:;<589;<:0/-.1234567   &'*)( !"#$%+,89:;< provisionalNone =+Run a custom action before every spec item.>+Run a custom action before every spec item.?/Run a custom action before the first spec item.@*Run a custom action after every spec item.A*Run a custom action after every spec item.B8Run a custom action before and/or after every spec item.C-Run a custom action after the last spec item.D-Run a custom action after the last spec item.E8Run a custom action before and/or after every spec item.F8Run a custom action before and/or after every spec item. =>?@ABCDEF =>?@ABCDEF =>?@ACDBEF =>?@ABCDEFNoneBJ evaluated before each test group@The given number indicates the position within the parent group.L>used to notify the progress of the currently evaluated exampleNote2: This is only called when interactive/color mode.M'evaluated after each successful exampleN#evaluated after each failed exampleO$evaluated after each pending examplePevaluated after a test runQevaluated after failuresFormatterA lifted version of A lifted version of X,The random seed that is used for QuickCheck.0The total number of examples encountered so far.,Increase the counter for successful examples)Increase the counter for pending examples(Increase the counter for failed examplesY9Get the number of successful examples encountered so far.Z6Get the number of pending examples encountered so far.[5Get the number of failed examples encountered so far.\4Get the total number of examples encountered so far.3Append to the list of accumulated failure messages.]-Get the list of accumulated failure messages.^#Append an empty line to the report.CCalling this multiple times has the same effect as calling it once._!Append some output to the report.` The same as _, but adds a newline character.aRSet output color to red, run given action, and finally restore the default color.bTSet output color to green, run given action, and finally restore the default color.cUSet output color to yellow, run given action, and finally restore the default color.dSSet output color to cyan, run given action, and finally restore the default color.5Set a color, run an action, and finally reset colors.finally_ actionA actionB runs actionA and then actionB. actionB is run even when a  occurs during actionA.e:Get the used CPU time since the test run has been started.f=Get the passed real time since the test run has been started.9GHIJKLMNOPQRSTUVWXYZ[\]^_`abcdef&GHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefG HIJKLMNOPQRSTUVW XYZ[\]^_`abcdef experimentalNoneghij%GHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghij%ghijGHIJKLMNOPQWYZ[\RSTUV]Xef_`^dbcaghijNonetqA predicate that is used to filter the spec before it is run. Only examples that satisfy the predicate are run.,klmnopqrstuvwxyz{|}~klmnopqrstuvwxyz{|}~knmlopqrstuvwxyz{|}~NonecAdd a filter predicate to config. If there is already a filter predicate, then combine them with .klmnopqrstuvwxyz{|}~None;Evaluate all examples of a given spec and produce a report.?Execute given action at most every specified number of seconds.  provisionalNoneSummary of a test run. Filter specs by given predicate.DThe predicate takes a list of "describe" labels and a "requirement".%Run given spec and write a report to  . Exit with ! if at least one spec item fails.8Run given spec with custom options. This is similar to , but more flexible.5Run given spec and returns a summary of the test run.Note:  does not exit with B on failing spec items. If you need this, you have to check the  yourself and act accordingly.IRun given spec with custom options and returns a summary of the test run.Note:  does not exit with B on failing spec items. If you need this, you have to check the  yourself and act accordingly.  klmnopqrstuvwxyz{|}~opqrstuvwxyz{|}~knml   provisionalNoneUse a modified   for given spec.Use a modified   for given spec.Use a modified   for given spec.      ! " # $ % % & ' ( ) * + , - . / / 0 1 2 3 4 4 5 6 7 8 9 : ; < = > ? @ @ A B C D E F G H IJKLMNOPQRSTUVWXXYZ[\]^_`abbcdefghijklmnopqrstuvwxyz{|}~~    f))      !"hspec-core-2.0.2Test.Hspec.Core.UtilTest.Hspec.Core.SpecTest.Hspec.Core.HooksTest.Hspec.Core.FormattersTest.Hspec.Core.RunnerTest.Hspec.Core.QuickCheckTest.Hspec.TimerTest.Hspec.CompatTest.Hspec.Core.QuickCheckUtilTest.Hspec.FailureReportTest.Hspec.Core.ExampleTest.Hspec.Core.TreeTest.Hspec.Core.Spec.Monad beforeAll#Test.Hspec.Core.Formatters.InternalControl.Monad.Trans.StategetsmodifyTest.Hspec.OptionsTest.Hspec.ConfigTest.Hspec.Core.Runner.EvalPath pluralizestrip lineBreaksAtformatRequirementfilterPredicateformatExceptionsafeTryResultFailPendingSuccess ActionWithProgressCallbackProgressParamsparamsQuickCheckArgsparamsSmallCheckDepthExampleArgevaluateExample defaultParamsLocationAccuracy BestEffort ExactLocationLocation locationFile locationLinelocationColumnlocationAccuracyItemitemRequirement itemLocationitemIsParallelizable itemExampleSpecTreeTreeLeafNodeWithCleanupNode specGroupspecItemSpecMSpecWithSpecrunSpecM fromSpecListrunIO mapSpecTree mapSpecItem mapSpecItem_ modifyParamsdescribeitparallelpending pendingWithbefore beforeWithafterafter_aroundafterAll afterAll_around_ aroundWith FormatterheaderFormatterexampleGroupStartedexampleGroupDoneexampleProgressexampleSucceeded exampleFailedexamplePendingfailedFormatterfooterFormatter FailureRecordfailureRecordLocationfailureRecordPathfailureRecordMessageFormatMusedSeedgetSuccessCountgetPendingCount getFailCount getTotalCountgetFailMessages newParagraphwrite writeLine withFailColorwithSuccessColorwithPendingColor withInfoColor getCPUTime getRealTimesilentspecdocprogressfailed_examples ColorMode ColorAlways ColorNever ColorAutoConfig configDryRunconfigPrintCpuTimeconfigFastFail configRerunconfigFilterPredicateconfigQuickCheckSeedconfigQuickCheckMaxSuccessconfigQuickCheckMaxDiscardRatioconfigQuickCheckMaxSizeconfigSmallCheckDepthconfigColorModeconfigFormatterconfigHtmlOutputconfigOutputFile defaultConfigconfigAddFilterSummarysummaryExamplessummaryFailureshspec hspecWith hspecResulthspecWithResultmodifyMaxSuccessmodifyMaxDiscardRatio modifyMaxSizenewTimershowType showFullTypebaseSystem.Environment lookupEnv Data.IORefatomicWriteIORefatomicModifyIORef'atomicModifyIORef modifyIORef' modifyIORef mkWeakIORef GHC.IORef writeIORef readIORefnewIORefIORef Text.Read readMaybeGHC.ShowshowGHC.IO.Exception IOException IOErrorTypeControl.Exception.BasetryaroundProperty aroundProp aroundRose formatNumbersnewSeedmkGen FailureReportfailureReportSeedfailureReportMaxSuccessfailureReportMaxSizefailureReportMaxDiscardRatiofailureReportPathswriteFailureReportreadFailureReportghc-prim GHC.TypesIO $fExample(->)$fExampleProperty$fExampleResult$fExample(->)0 $fExampleIO $fExampleBool$fExceptionResult$fTraversableTree$fFoldableTreememoize mapArounduntangle totalCountincreaseSuccessCountincreasePendingCountincreaseFailCountaddFailMessage withColorfinally_ UserInterruptFormatterState stateHandle stateUseColor produceHTML successCount pendingCount failCount failMessages stateUsedSeed cpuStartTime startTime runFormatMhtmlSpan withColor_defaultFailedFormatter defaultFooter _argumentName_argumentParser_argumentSetterNoConfigInvalidArgumentHelpfilterOraddMatchsetDepth setMaxSuccess setMaxSizesetMaxDiscardRatiosetSeed formatters formatHelpmkOption addLineBreaksoptionsundocumentedOptions parseOptions GHC.Classes||mkConfigconfigQuickCheckArgs getConfigexitWithMessage runFormattereveryMessageRunDoneReport ReportResultReportProgress FormatResultEvalTree parallelizerunSequentially runParallel evalExamplerunprocessMessages filterSpecsGHC.IO.Handle.FDstdout System.Exit exitFailure applyDryRun ensureSeedisDumb$fMonoidSummaryQuickCheck-2.7.6Test.QuickCheck.Test maxSuccessmaxDiscardRatiomaxSize modifyArgs