mirror of
https://github.com/Smaug123/WoofWare.Expect
synced 2025-10-06 13:08:39 +00:00
214 lines
4.8 KiB
Forth
214 lines
4.8 KiB
Forth
namespace WoofWare.Expect.Test
|
|
|
|
open WoofWare.Expect
|
|
open NUnit.Framework
|
|
|
|
[<TestFixture>]
|
|
module TestSnapshotFinding =
|
|
|
|
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"
|
|
}
|