add boilerplate to ease regression testing
This commit is contained in:
@@ -38,4 +38,5 @@ fcore/app-update.sml
|
|||||||
test/Railroad/src/railroad.mlb
|
test/Railroad/src/railroad.mlb
|
||||||
test/normal-move.sml
|
test/normal-move.sml
|
||||||
test/normal-delete.sml
|
test/normal-delete.sml
|
||||||
|
test/regression.sml
|
||||||
test/test.sml
|
test/test.sml
|
||||||
|
|||||||
43
test/regression.sml
Normal file
43
test/regression.sml
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
structure Regression =
|
||||||
|
struct
|
||||||
|
open Railroad
|
||||||
|
open Railroad.Test
|
||||||
|
|
||||||
|
fun updateLoop (pos, str, app) =
|
||||||
|
if pos = String.size str then
|
||||||
|
app
|
||||||
|
else
|
||||||
|
let
|
||||||
|
val chr = String.sub (str, pos)
|
||||||
|
val app = AppUpdate.update (app, InputMsg.CHAR_EVENT chr)
|
||||||
|
in
|
||||||
|
updateLoop (pos + 1, str, app)
|
||||||
|
end
|
||||||
|
|
||||||
|
fun updateAppWithChars (historyString, app) =
|
||||||
|
updateLoop (0, historyString, app)
|
||||||
|
|
||||||
|
fun appFromText text =
|
||||||
|
let val buffer = LineGap.fromString text
|
||||||
|
in AppType.init (buffer, 0, 0)
|
||||||
|
end
|
||||||
|
|
||||||
|
fun loadFromFile (io, acc) =
|
||||||
|
case TextIO.inputLine io of
|
||||||
|
SOME line => loadFromFile (io, acc ^ line)
|
||||||
|
| NONE => acc
|
||||||
|
|
||||||
|
val initialText =
|
||||||
|
let
|
||||||
|
val io = TextIO.openIn "temp.txt"
|
||||||
|
val str = loadFromFile (io, "")
|
||||||
|
val () = TextIO.closeIn io
|
||||||
|
in
|
||||||
|
str
|
||||||
|
end
|
||||||
|
|
||||||
|
val charEventTests = describe "CHAR_EVENT regressions"
|
||||||
|
[test "placeholder" (fn _ => Expect.isTrue true)]
|
||||||
|
|
||||||
|
val tests = [charEventTests]
|
||||||
|
end
|
||||||
@@ -1,12 +1,16 @@
|
|||||||
fun main () =
|
structure Test =
|
||||||
let
|
struct
|
||||||
open Railroad
|
open Railroad
|
||||||
open Railroad.Test
|
open Railroad.Test
|
||||||
|
|
||||||
val tests = NormalMove.tests @ NormalDelete.tests
|
fun main () =
|
||||||
val tests = concat tests
|
let
|
||||||
in
|
val tests =
|
||||||
runWithConfig [Configuration.PrintPassed false] tests
|
List.concat [NormalMove.tests, NormalDelete.tests, Regression.tests]
|
||||||
end
|
val tests = concat tests
|
||||||
|
in
|
||||||
|
runWithConfig [Configuration.PrintPassed false] tests
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
val () = main ()
|
val () = Test.main ()
|
||||||
|
|||||||
Reference in New Issue
Block a user