mirror of
https://github.com/Smaug123/WoofWare.Expect
synced 2025-10-06 13:08:39 +00:00
223 lines
5.0 KiB
Forth
223 lines
5.0 KiB
Forth
namespace WoofWare.Expect.Test
|
|
|
|
open WoofWare.Expect
|
|
open NUnit.Framework
|
|
|
|
[<TestFixture>]
|
|
[<Parallelizable(ParallelScope.Children)>]
|
|
module TestSnapshotFinding =
|
|
[<OneTimeSetUp>]
|
|
let ``Prepare to bulk-update tests`` () =
|
|
// GlobalBuilderConfig.enterBulkUpdateMode ()
|
|
()
|
|
|
|
[<OneTimeTearDown>]
|
|
let ``Update all tests`` () =
|
|
GlobalBuilderConfig.updateAllSnapshots ()
|
|
|
|
type Dummy = class end
|
|
|
|
[<Test>]
|
|
let ``Triple-quote, one line, one-line replacement`` () =
|
|
let source =
|
|
Assembly.getEmbeddedResource typeof<Dummy>.Assembly "TripleQuoteOneLine.fs"
|
|
|> _.Split('\n')
|
|
|
|
expect {
|
|
snapshot
|
|
@"namespace BigExample
|
|
|
|
open WoofWare.Expect
|
|
|
|
module MyModule =
|
|
let foo () =
|
|
expect {
|
|
snapshot ""replacement""
|
|
return 123
|
|
}
|
|
"
|
|
|
|
return SnapshotUpdate.updateSnapshotAtLine source 8 "replacement" |> String.concat "\n"
|
|
}
|
|
|
|
[<Test>]
|
|
let ``Triple-quote, one line, multi-line replacement`` () =
|
|
let source =
|
|
Assembly.getEmbeddedResource typeof<Dummy>.Assembly "TripleQuoteOneLine.fs"
|
|
|> _.Split('\n')
|
|
|
|
expect {
|
|
snapshot
|
|
@"namespace BigExample
|
|
|
|
open WoofWare.Expect
|
|
|
|
module MyModule =
|
|
let foo () =
|
|
expect {
|
|
snapshot @""replacement
|
|
more""
|
|
return 123
|
|
}
|
|
"
|
|
|
|
return
|
|
SnapshotUpdate.updateSnapshotAtLine source 8 "replacement\nmore"
|
|
|> String.concat "\n"
|
|
}
|
|
|
|
[<Test>]
|
|
let ``At-string, one line, one-line replacement`` () =
|
|
let source =
|
|
Assembly.getEmbeddedResource typeof<Dummy>.Assembly "AtStringOneLine.fs"
|
|
|> _.Split('\n')
|
|
|
|
expect {
|
|
snapshot
|
|
@"namespace BigExample
|
|
|
|
open WoofWare.Expect
|
|
|
|
module MyModule =
|
|
let foo () =
|
|
expect {
|
|
snapshot ""replacement""
|
|
return 123
|
|
}
|
|
"
|
|
|
|
return SnapshotUpdate.updateSnapshotAtLine source 8 "replacement" |> String.concat "\n"
|
|
}
|
|
|
|
[<Test>]
|
|
let ``At-string, one line, multi-line replacement`` () =
|
|
let source =
|
|
Assembly.getEmbeddedResource typeof<Dummy>.Assembly "AtStringOneLine.fs"
|
|
|> _.Split('\n')
|
|
|
|
expect {
|
|
snapshot
|
|
@"namespace BigExample
|
|
|
|
open WoofWare.Expect
|
|
|
|
module MyModule =
|
|
let foo () =
|
|
expect {
|
|
snapshot @""replacement
|
|
more""
|
|
return 123
|
|
}
|
|
"
|
|
|
|
return
|
|
SnapshotUpdate.updateSnapshotAtLine source 8 "replacement\nmore"
|
|
|> String.concat "\n"
|
|
}
|
|
|
|
[<Test>]
|
|
let ``Triple-quote, intervening comment, one-line replacement`` () =
|
|
let source =
|
|
Assembly.getEmbeddedResource typeof<Dummy>.Assembly "TripleQuoteInterveningComment.fs"
|
|
|> _.Split('\n')
|
|
|
|
expect {
|
|
snapshot
|
|
@"namespace BigExample
|
|
|
|
open WoofWare.Expect
|
|
|
|
module MyModule =
|
|
let foo () =
|
|
expect {
|
|
snapshot (* comment *)
|
|
@""replacement""
|
|
|
|
return 123
|
|
}
|
|
"
|
|
|
|
return SnapshotUpdate.updateSnapshotAtLine source 8 "replacement" |> String.concat "\n"
|
|
}
|
|
|
|
[<Test>]
|
|
let ``Triple-quote, intervening comment, multi-line replacement`` () =
|
|
let source =
|
|
Assembly.getEmbeddedResource typeof<Dummy>.Assembly "TripleQuoteInterveningComment.fs"
|
|
|> _.Split('\n')
|
|
|
|
expect {
|
|
snapshot
|
|
@"namespace BigExample
|
|
|
|
open WoofWare.Expect
|
|
|
|
module MyModule =
|
|
let foo () =
|
|
expect {
|
|
snapshot (* comment *)
|
|
@""replacement
|
|
more""
|
|
|
|
return 123
|
|
}
|
|
"
|
|
|
|
return
|
|
SnapshotUpdate.updateSnapshotAtLine source 8 "replacement\nmore"
|
|
|> String.concat "\n"
|
|
}
|
|
|
|
[<Test>]
|
|
let ``Single-quote, many lines, one-line replacement`` () =
|
|
let source =
|
|
Assembly.getEmbeddedResource typeof<Dummy>.Assembly "SingleQuoteManyLine.fs"
|
|
|> _.Split('\n')
|
|
|
|
expect {
|
|
snapshot
|
|
@"namespace BigExample
|
|
|
|
open WoofWare.Expect
|
|
|
|
module MyModule =
|
|
let foo () =
|
|
expect {
|
|
snapshot
|
|
@""replacement""
|
|
|
|
return 123
|
|
}
|
|
"
|
|
|
|
return SnapshotUpdate.updateSnapshotAtLine source 8 "replacement" |> String.concat "\n"
|
|
}
|
|
|
|
[<Test>]
|
|
let ``Single-quote, many lines, multi-line replacement`` () =
|
|
let source =
|
|
Assembly.getEmbeddedResource typeof<Dummy>.Assembly "SingleQuoteManyLine.fs"
|
|
|> _.Split('\n')
|
|
|
|
expect {
|
|
snapshot
|
|
@"namespace BigExample
|
|
|
|
open WoofWare.Expect
|
|
|
|
module MyModule =
|
|
let foo () =
|
|
expect {
|
|
snapshot
|
|
@""replacement
|
|
more""
|
|
|
|
return 123
|
|
}
|
|
"
|
|
|
|
return
|
|
SnapshotUpdate.updateSnapshotAtLine source 8 "replacement\nmore"
|
|
|> String.concat "\n"
|
|
}
|