diff --git a/src/Internal/Values/User.elm b/src/Internal/Values/User.elm index 806207d..ba69dc3 100644 --- a/src/Internal/Values/User.elm +++ b/src/Internal/Values/User.elm @@ -36,7 +36,7 @@ Since the username is safely parsed, one can get these parts of the username. -} -import Internal.Config.Log as Log exposing (log) +import Internal.Config.Log exposing (log) import Internal.Grammar.ServerName as ServerName import Internal.Grammar.UserId as UserId import Internal.Tools.Json as Json diff --git a/tests/Test/Values/Context.elm b/tests/Test/Values/Context.elm index c412daf..6575512 100644 --- a/tests/Test/Values/Context.elm +++ b/tests/Test/Values/Context.elm @@ -3,10 +3,13 @@ module Test.Values.Context exposing (..) import Expect import Fuzz exposing (Fuzzer) import Internal.Config.Leaks as Leaks -import Internal.Values.Context as Context exposing (Context) +import Internal.Tools.Hashdict as Hashdict +import Internal.Values.Context as Context exposing (Context, Versions) import Json.Decode as D import Json.Encode as E +import Set import Test exposing (..) +import Test.Tools.Timestamp as TestTimestamp fuzzer : Fuzzer Context @@ -16,14 +19,28 @@ fuzzer = maybeString = Fuzz.maybe Fuzz.string in - Fuzz.map7 Context + Fuzz.map8 (\a b c d e f ( g, h ) ( i, j ) -> Context a b c d e f g h i j) + (Fuzz.constant <| Hashdict.empty .value) maybeString maybeString + (Fuzz.maybe TestTimestamp.fuzzer) maybeString maybeString - maybeString - maybeString - (Fuzz.maybe <| Fuzz.list Fuzz.string) + (Fuzz.pair + Fuzz.string + maybeString + ) + (Fuzz.pair + maybeString + (Fuzz.maybe <| versionsFuzzer) + ) + + +versionsFuzzer : Fuzzer Versions +versionsFuzzer = + Fuzz.map2 Versions + (Fuzz.list Fuzz.string) + (Fuzz.map Set.fromList <| Fuzz.list Fuzz.string) {-| If a leak is spotted, make sure to change the leaking value and then test @@ -64,7 +81,7 @@ leaks = |> Expect.notEqual Leaks.transaction ) , fuzz2 fuzzer - (Fuzz.list Fuzz.string) + versionsFuzzer "Versions" (\context value -> context @@ -110,7 +127,7 @@ apiContext = |> Expect.equal value ) , fuzz2 fuzzer - (Fuzz.list Fuzz.string) + versionsFuzzer "Versions" (\context value -> context @@ -126,7 +143,7 @@ json : Test json = describe "JSON encode + JSON decode" [ test "Empty is {}" - (Context.init + (Context.init "" |> Context.encode |> E.encode 0 |> Expect.equal "{}" diff --git a/tests/Test/Values/Envelope.elm b/tests/Test/Values/Envelope.elm index e147b8d..bfff781 100644 --- a/tests/Test/Values/Envelope.elm +++ b/tests/Test/Values/Envelope.elm @@ -28,7 +28,7 @@ suite = [ fuzz Fuzz.string "currentVersion" (\s -> - s + { content = s, serverName = "" } |> Envelope.init |> Envelope.extractSettings .currentVersion |> Expect.equal Default.currentVersion @@ -36,7 +36,7 @@ suite = , fuzz Fuzz.string "deviceName" (\s -> - s + { content = s, serverName = "" } |> Envelope.init |> Envelope.extractSettings .deviceName |> Expect.equal Default.deviceName @@ -44,7 +44,7 @@ suite = , fuzz Fuzz.string "syncTime" (\s -> - s + { content = s, serverName = "" } |> Envelope.init |> Envelope.extractSettings .syncTime |> Expect.equal Default.syncTime diff --git a/tests/Test/Values/Room.elm b/tests/Test/Values/Room.elm index 98e7228..a5f0a17 100644 --- a/tests/Test/Values/Room.elm +++ b/tests/Test/Values/Room.elm @@ -1,9 +1,7 @@ module Test.Values.Room exposing (..) -import Expect import Fuzz exposing (Fuzzer) import Internal.Values.Room as Room exposing (Room) -import Json.Decode as D import Json.Encode as E import Test exposing (..) import Test.Filter.Timeline as TestFilter diff --git a/tests/Test/Values/User.elm b/tests/Test/Values/User.elm new file mode 100644 index 0000000..e76bf0e --- /dev/null +++ b/tests/Test/Values/User.elm @@ -0,0 +1,13 @@ +module Test.Values.User exposing (..) + +import Fuzz exposing (Fuzzer) +import Internal.Grammar.ServerName as SN +import Internal.Values.User exposing (User) + + +fuzzer : Fuzzer User +fuzzer = + Fuzz.constant + { localpart = "temporary" + , domain = { host = SN.DNS "matrix.org", port_ = Nothing } + } diff --git a/tests/Test/Values/Vault.elm b/tests/Test/Values/Vault.elm index e42f173..96922a8 100644 --- a/tests/Test/Values/Vault.elm +++ b/tests/Test/Values/Vault.elm @@ -7,14 +7,16 @@ import Internal.Values.Vault exposing (Vault) import Test exposing (..) import Test.Tools.Hashdict as TestHashdict import Test.Values.Room as TestRoom +import Test.Values.User as TestUser vault : Fuzzer Vault vault = - Fuzz.map2 Vault + Fuzz.map3 Vault (Fuzz.string |> Fuzz.map (\k -> ( k, Json.encode Json.int 0 )) |> Fuzz.list |> Fuzz.map Dict.fromList ) (TestHashdict.fuzzer .roomId TestRoom.fuzzer) + TestUser.fuzzer