File-organizer-Tauri/src-elm/tests/SearchReplaceTest.elm

74 lines
2.5 KiB
Elm

module SearchReplaceTest exposing (suite)
import Expect
import Pattern exposing (Token(..), fromString)
import Test exposing (Test, describe, test)
suite : Test
suite =
describe "SearchReplace"
[ describe "fromString"
[ test "parses a string with a joker" <|
\_ ->
let
actual : List Token
actual =
fromString "a*b"
expected : List Token
expected =
[ RawString "a", Joker, RawString "b" ]
in
Expect.equal expected actual
, test "parses a string without any joker" <|
\_ ->
let
actual : List Token
actual =
fromString "ab"
expected : List Token
expected =
[ RawString "ab" ]
in
Expect.equal expected actual
, test "parses a string with several jokers" <|
\_ ->
let
actual : List Token
actual =
fromString "ab*cd*"
expected : List Token
expected =
[ RawString "ab", Joker, RawString "cd", Joker ]
in
Expect.equal expected actual
, test "parses a string with a leading joker" <|
\_ ->
let
actual : List Token
actual =
fromString "*abcd"
expected : List Token
expected =
[ Joker, RawString "abcd" ]
in
Expect.equal expected actual
, test "escapes special chars" <|
\_ ->
let
actual : List Token
actual =
fromString ".[]()"
expected : List Token
expected =
--[ RawString "\\.\\[\\]\\(\\)" ]
[ RawString "\\.\\[\\]\\(\\)" ]
in
Expect.equal expected actual
]
]