Compare commits
3 Commits
959642499b
...
4905b7341d
Author | SHA1 | Date |
---|---|---|
|
4905b7341d | |
|
fa642b46d6 | |
|
bf64d5911f |
2
elm.json
2
elm.json
|
@ -6,6 +6,7 @@
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"exposed-modules": [
|
"exposed-modules": [
|
||||||
"Matrix",
|
"Matrix",
|
||||||
|
"Matrix.Event",
|
||||||
"Matrix.Settings",
|
"Matrix.Settings",
|
||||||
"Internal.Config.Default",
|
"Internal.Config.Default",
|
||||||
"Internal.Config.Leaks",
|
"Internal.Config.Leaks",
|
||||||
|
@ -18,6 +19,7 @@
|
||||||
"Internal.Tools.VersionControl",
|
"Internal.Tools.VersionControl",
|
||||||
"Internal.Values.Context",
|
"Internal.Values.Context",
|
||||||
"Internal.Values.Envelope",
|
"Internal.Values.Envelope",
|
||||||
|
"Internal.Values.Event",
|
||||||
"Internal.Values.Settings",
|
"Internal.Values.Settings",
|
||||||
"Internal.Values.Vault",
|
"Internal.Values.Vault",
|
||||||
"Types"
|
"Types"
|
||||||
|
|
|
@ -67,6 +67,8 @@ age event =
|
||||||
Maybe.andThen (\(UnsignedData data) -> data.age) event.unsigned
|
Maybe.andThen (\(UnsignedData data) -> data.age) event.unsigned
|
||||||
|
|
||||||
|
|
||||||
|
{-| Decode an Event from a JSON value.
|
||||||
|
-}
|
||||||
decoder : D.Decoder Event
|
decoder : D.Decoder Event
|
||||||
decoder =
|
decoder =
|
||||||
D.map8 Event
|
D.map8 Event
|
||||||
|
|
|
@ -6,9 +6,8 @@ module Internal.Values.Vault exposing (Vault)
|
||||||
|
|
||||||
-}
|
-}
|
||||||
|
|
||||||
import Internal.Values.Envelope as Envelope
|
|
||||||
|
|
||||||
|
|
||||||
{-| This is the Vault type.
|
{-| This is the Vault type.
|
||||||
-}
|
-}
|
||||||
type alias Vault = ()
|
type alias Vault =
|
||||||
|
()
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
module Test.Matrix.Settings exposing (..)
|
||||||
|
|
||||||
|
import Expect
|
||||||
|
import Fuzz
|
||||||
|
import Matrix.Settings
|
||||||
|
import Test exposing (..)
|
||||||
|
import Test.Types as TestTypes
|
||||||
|
|
||||||
|
|
||||||
|
settings : Test
|
||||||
|
settings =
|
||||||
|
describe "Exposed Matrix.Settings"
|
||||||
|
[ describe "Set values"
|
||||||
|
[ fuzz2 TestTypes.vault
|
||||||
|
Fuzz.string
|
||||||
|
"Set device name"
|
||||||
|
(\vault name ->
|
||||||
|
vault
|
||||||
|
|> Matrix.Settings.setDeviceName name
|
||||||
|
|> Matrix.Settings.getDeviceName
|
||||||
|
|> Expect.equal name
|
||||||
|
)
|
||||||
|
, fuzz2 TestTypes.vault
|
||||||
|
Fuzz.int
|
||||||
|
"Set sync time"
|
||||||
|
(\vault sync ->
|
||||||
|
vault
|
||||||
|
|> Matrix.Settings.setSyncTime sync
|
||||||
|
|> Matrix.Settings.getSyncTime
|
||||||
|
|> Expect.equal sync
|
||||||
|
)
|
||||||
|
]
|
||||||
|
|
||||||
|
-- , describe "Read values" []
|
||||||
|
]
|
|
@ -1,4 +1,4 @@
|
||||||
module Iddict exposing (..)
|
module Test.Tools.Iddict exposing (..)
|
||||||
|
|
||||||
import Expect
|
import Expect
|
||||||
import Fuzz exposing (Fuzzer)
|
import Fuzz exposing (Fuzzer)
|
|
@ -1,7 +1,10 @@
|
||||||
module Test.Tools.Timestamp exposing (..)
|
module Test.Tools.Timestamp exposing (..)
|
||||||
|
|
||||||
|
import Expect
|
||||||
import Fuzz exposing (Fuzzer)
|
import Fuzz exposing (Fuzzer)
|
||||||
import Internal.Tools.Timestamp exposing (Timestamp)
|
import Internal.Tools.Timestamp as Timestamp exposing (Timestamp)
|
||||||
|
import Json.Decode as D
|
||||||
|
import Json.Encode as E
|
||||||
import Test exposing (..)
|
import Test exposing (..)
|
||||||
import Time
|
import Time
|
||||||
|
|
||||||
|
@ -9,3 +12,55 @@ import Time
|
||||||
fuzzer : Fuzzer Timestamp
|
fuzzer : Fuzzer Timestamp
|
||||||
fuzzer =
|
fuzzer =
|
||||||
Fuzz.map Time.millisToPosix Fuzz.int
|
Fuzz.map Time.millisToPosix Fuzz.int
|
||||||
|
|
||||||
|
|
||||||
|
suite : Test
|
||||||
|
suite =
|
||||||
|
describe "Timestamp"
|
||||||
|
[ describe "JSON"
|
||||||
|
[ fuzz2 fuzzer
|
||||||
|
Fuzz.int
|
||||||
|
"JSON encode -> JSON decode"
|
||||||
|
(\time indent ->
|
||||||
|
time
|
||||||
|
|> Timestamp.encode
|
||||||
|
|> E.encode indent
|
||||||
|
|> D.decodeString Timestamp.decoder
|
||||||
|
|> Expect.equal (Ok time)
|
||||||
|
)
|
||||||
|
, fuzz fuzzer
|
||||||
|
"JSON decode -> millis"
|
||||||
|
(\time ->
|
||||||
|
time
|
||||||
|
|> Timestamp.encode
|
||||||
|
|> D.decodeValue D.int
|
||||||
|
|> Expect.equal (Ok <| Time.posixToMillis time)
|
||||||
|
)
|
||||||
|
, fuzz Fuzz.int
|
||||||
|
"JSON decode -> time"
|
||||||
|
(\n ->
|
||||||
|
n
|
||||||
|
|> E.int
|
||||||
|
|> D.decodeValue Timestamp.decoder
|
||||||
|
|> Expect.equal (Ok <| Time.millisToPosix n)
|
||||||
|
)
|
||||||
|
]
|
||||||
|
, describe "Identity"
|
||||||
|
[ fuzz fuzzer
|
||||||
|
"Posix -> int -> Posix"
|
||||||
|
(\time ->
|
||||||
|
time
|
||||||
|
|> Time.posixToMillis
|
||||||
|
|> Time.millisToPosix
|
||||||
|
|> Expect.equal time
|
||||||
|
)
|
||||||
|
, fuzz Fuzz.int
|
||||||
|
"int -> Posix -> int"
|
||||||
|
(\n ->
|
||||||
|
n
|
||||||
|
|> Time.millisToPosix
|
||||||
|
|> Time.posixToMillis
|
||||||
|
|> Expect.equal n
|
||||||
|
)
|
||||||
|
]
|
||||||
|
]
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
module Test.Types exposing (..)
|
||||||
|
|
||||||
|
import Fuzz exposing (Fuzzer)
|
||||||
|
import Test.Values.Envelope as TestEnvelope
|
||||||
|
import Test.Values.Event as TestEvent
|
||||||
|
import Test.Values.Vault as TestVault
|
||||||
|
import Types exposing (..)
|
||||||
|
|
||||||
|
|
||||||
|
event : Fuzzer Event
|
||||||
|
event =
|
||||||
|
Fuzz.map Event (TestEnvelope.fuzzer TestEvent.fuzzer)
|
||||||
|
|
||||||
|
|
||||||
|
vault : Fuzzer Vault
|
||||||
|
vault =
|
||||||
|
Fuzz.map Vault (TestEnvelope.fuzzer TestVault.vault)
|
|
@ -0,0 +1,10 @@
|
||||||
|
module Test.Values.Vault exposing (..)
|
||||||
|
|
||||||
|
import Fuzz exposing (Fuzzer)
|
||||||
|
import Internal.Values.Vault exposing (Vault)
|
||||||
|
import Test exposing (..)
|
||||||
|
|
||||||
|
|
||||||
|
vault : Fuzzer Vault
|
||||||
|
vault =
|
||||||
|
Fuzz.unit
|
|
@ -1,53 +0,0 @@
|
||||||
module Vault exposing (..)
|
|
||||||
|
|
||||||
import Expect
|
|
||||||
import Fuzz exposing (Fuzzer)
|
|
||||||
import Internal.Config.Default as Default
|
|
||||||
import Internal.Values.Envelope as Envelope
|
|
||||||
import Matrix
|
|
||||||
import Matrix.Settings
|
|
||||||
import Test exposing (..)
|
|
||||||
import Types
|
|
||||||
|
|
||||||
|
|
||||||
fuzzer : Fuzzer Matrix.Vault
|
|
||||||
fuzzer =
|
|
||||||
Fuzz.constant <| Types.Vault <| Envelope.init ()
|
|
||||||
|
|
||||||
|
|
||||||
settings : Test
|
|
||||||
settings =
|
|
||||||
describe "Edit settings"
|
|
||||||
[ fuzz fuzzer
|
|
||||||
"Default device name"
|
|
||||||
(\vault ->
|
|
||||||
vault
|
|
||||||
|> Matrix.Settings.getDeviceName
|
|
||||||
|> Expect.equal Default.deviceName
|
|
||||||
)
|
|
||||||
, fuzz2 fuzzer
|
|
||||||
Fuzz.string
|
|
||||||
"Set device name"
|
|
||||||
(\vault name ->
|
|
||||||
vault
|
|
||||||
|> Matrix.Settings.setDeviceName name
|
|
||||||
|> Matrix.Settings.getDeviceName
|
|
||||||
|> Expect.equal name
|
|
||||||
)
|
|
||||||
, fuzz fuzzer
|
|
||||||
"Default sync time"
|
|
||||||
(\vault ->
|
|
||||||
vault
|
|
||||||
|> Matrix.Settings.getSyncTime
|
|
||||||
|> Expect.equal Default.syncTime
|
|
||||||
)
|
|
||||||
, fuzz2 fuzzer
|
|
||||||
Fuzz.int
|
|
||||||
"Set sync time"
|
|
||||||
(\vault sync ->
|
|
||||||
vault
|
|
||||||
|> Matrix.Settings.setSyncTime sync
|
|
||||||
|> Matrix.Settings.getSyncTime
|
|
||||||
|> Expect.equal sync
|
|
||||||
)
|
|
||||||
]
|
|
Loading…
Reference in New Issue