diff --git a/Unquote.sln b/Unquote.sln
index 6c0e3f7..e4fd543 100644
--- a/Unquote.sln
+++ b/Unquote.sln
@@ -45,6 +45,8 @@ Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "VerifyFuchuSupport", "Verif
EndProject
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "VerifyNunit3Support", "VerifyNunit3Support\VerifyNunit3Support.fsproj", "{154CB55A-CBF7-42D6-83E9-B868B3A88A26}"
EndProject
+Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "VerifyExpectoSupport", "VerifyExpectoSupport\VerifyExpectoSupport.fsproj", "{9AB5C385-780B-4883-840C-59AA667EF5FA}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -158,6 +160,18 @@ Global
{154CB55A-CBF7-42D6-83E9-B868B3A88A26}.Release|Any CPU.Build.0 = Release|Any CPU
{154CB55A-CBF7-42D6-83E9-B868B3A88A26}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{154CB55A-CBF7-42D6-83E9-B868B3A88A26}.Release|x86.ActiveCfg = Release|Any CPU
+ {9AB5C385-780B-4883-840C-59AA667EF5FA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9AB5C385-780B-4883-840C-59AA667EF5FA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9AB5C385-780B-4883-840C-59AA667EF5FA}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {9AB5C385-780B-4883-840C-59AA667EF5FA}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {9AB5C385-780B-4883-840C-59AA667EF5FA}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {9AB5C385-780B-4883-840C-59AA667EF5FA}.Debug|x86.Build.0 = Debug|Any CPU
+ {9AB5C385-780B-4883-840C-59AA667EF5FA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9AB5C385-780B-4883-840C-59AA667EF5FA}.Release|Any CPU.Build.0 = Release|Any CPU
+ {9AB5C385-780B-4883-840C-59AA667EF5FA}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {9AB5C385-780B-4883-840C-59AA667EF5FA}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {9AB5C385-780B-4883-840C-59AA667EF5FA}.Release|x86.ActiveCfg = Release|Any CPU
+ {9AB5C385-780B-4883-840C-59AA667EF5FA}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -174,5 +188,6 @@ Global
{584E665F-6C3C-4E36-8197-33FC631605EC} = {6C77CA49-EACA-4B17-A67B-BBE2B6836640}
{627D7E41-5569-4964-9B57-0B8B6360F5D2} = {6C77CA49-EACA-4B17-A67B-BBE2B6836640}
{154CB55A-CBF7-42D6-83E9-B868B3A88A26} = {6C77CA49-EACA-4B17-A67B-BBE2B6836640}
+ {9AB5C385-780B-4883-840C-59AA667EF5FA} = {6C77CA49-EACA-4B17-A67B-BBE2B6836640}
EndGlobalSection
EndGlobal
diff --git a/Unquote/Assertions.fs b/Unquote/Assertions.fs
index c3b92f8..54cd3c6 100644
--- a/Unquote/Assertions.fs
+++ b/Unquote/Assertions.fs
@@ -40,6 +40,7 @@ module Internal =
| Xunit of Type
| Nunit of Type
| Fuchu of Type
+ | Expecto of Type
| Fsi
| Generic
@@ -82,6 +83,8 @@ module Internal =
//issue in vs 2010: http://stackoverflow.com/questions/2024036/strange-fsi-exe-behavior
if assemblies |> Seq.exists (fun a -> a.GetName().Name = "Fuchu") then
yield Fuchu (Type.GetType("Fuchu.AssertException, Fuchu"))
+ elif assemblies |> Seq.exists (fun a -> a.GetName().Name = "Expecto") then
+ yield Expecto (Type.GetType("Expecto.AssertException, Expecto"))
else
yield Fsi
@@ -89,6 +92,10 @@ module Internal =
if ty <> null then
yield Fuchu ty
+ let ty = Type.GetType("Expecto.AssertException, Expecto")
+ if ty <> null then
+ yield Expecto ty
+
let ty = Type.GetType("Xunit.Assert, xunit") //xunit v1
if ty <> null then
yield Xunit ty
@@ -109,6 +116,8 @@ module Internal =
match framework with
| Fuchu ty ->
(fun (msg : string) -> raise (Activator.CreateInstance(ty, msg) :?> Exception)) |> outputReducedExprsMsg
+ | Expecto ty ->
+ (fun (msg : string) -> raise (Activator.CreateInstance(ty, msg) :?> Exception)) |> outputReducedExprsMsg
| Fsi ->
fsiTestFailed
| Xunit ty ->
diff --git a/VerifyExpectoSupport/App.config b/VerifyExpectoSupport/App.config
new file mode 100644
index 0000000..a338d00
--- /dev/null
+++ b/VerifyExpectoSupport/App.config
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/VerifyExpectoSupport/Program.fs b/VerifyExpectoSupport/Program.fs
new file mode 100644
index 0000000..12db02c
--- /dev/null
+++ b/VerifyExpectoSupport/Program.fs
@@ -0,0 +1,12 @@
+module Test.Swensen.Unquote.VerifyExpectoSupport
+
+open Expecto
+open Swensen.Unquote
+
+[]
+let expectoTests = testCase "test expecto support, this should fail with clean stack trace" <| fun _ -> test <@ 22 + 2 = 5 @>
+
+[]
+let main args =
+ let result = runTestsInAssembly defaultConfig args
+ result
\ No newline at end of file
diff --git a/VerifyExpectoSupport/VerifyExpectoSupport.fsproj b/VerifyExpectoSupport/VerifyExpectoSupport.fsproj
new file mode 100644
index 0000000..607b79f
--- /dev/null
+++ b/VerifyExpectoSupport/VerifyExpectoSupport.fsproj
@@ -0,0 +1,97 @@
+
+
+
+
+ Debug
+ AnyCPU
+ 2.0
+ {9ab5c385-780b-4883-840c-59aa667ef5fa}
+ Exe
+ VerifyFuchuSupport
+ VerifyExpectoSupport
+ v4.5
+ true
+ 4.3.1.0
+ VerifyFuchuSupport
+ ..\
+ true
+
+
+ true
+ full
+ false
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ 3
+ AnyCPU
+ bin\Debug\VerifyExpectoSupport.XML
+ true
+
+
+ pdbonly
+ true
+ true
+ bin\Release\
+ TRACE
+ 3
+ AnyCPU
+ bin\Release\VerifyFuchuSupport.XML
+ true
+
+
+ 11
+
+
+
+
+ $(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets
+
+
+
+
+ $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets
+
+
+
+
+
+
+
+ This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
+
+
+
+
+
+
+
+
+
+
+ ..\packages\Argu.3.2.0\lib\net40\Argu.dll
+
+
+ ..\packages\Expecto.1.1.2\lib\net40\Expecto.dll
+
+
+
+ True
+
+
+
+
+
+ Unquote
+ {80f427b5-3aed-4d52-bc86-850a40427ecf}
+ True
+
+
+
+
\ No newline at end of file
diff --git a/VerifyExpectoSupport/packages.config b/VerifyExpectoSupport/packages.config
new file mode 100644
index 0000000..07e5e3d
--- /dev/null
+++ b/VerifyExpectoSupport/packages.config
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file