diff options
| author | Wim Vanderbauwhede <wim.vanderbauwhede@mail.be> | 2019-02-14 16:41:40 +0000 |
|---|---|---|
| committer | Wim Vanderbauwhede <wim.vanderbauwhede@mail.be> | 2019-02-14 16:41:40 +0000 |
| commit | 04b1c135543965860029557fc216eb38fd63b6c7 (patch) | |
| tree | c1fb60376eeb35539704c23d282af7777895d4ea /test/flake_id_test.exs | |
| parent | bf5b1c7f06c9f8882c40cf2385439bee3b74522c (diff) | |
| parent | 1d17082ab2523eb75ee0ca4a49e45da0d0edabd7 (diff) | |
| download | pleroma-04b1c135543965860029557fc216eb38fd63b6c7.tar.gz pleroma-04b1c135543965860029557fc216eb38fd63b6c7.zip | |
Merge remote-tracking branch 'upstream/develop' into patch-image-description
Diffstat (limited to 'test/flake_id_test.exs')
| -rw-r--r-- | test/flake_id_test.exs | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/test/flake_id_test.exs b/test/flake_id_test.exs new file mode 100644 index 000000000..ca2338041 --- /dev/null +++ b/test/flake_id_test.exs @@ -0,0 +1,42 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/> +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.FlakeIdTest do + use Pleroma.DataCase + import Kernel, except: [to_string: 1] + import Pleroma.FlakeId + + describe "fake flakes (compatibility with older serial integers)" do + test "from_string/1" do + fake_flake = <<0::integer-size(64), 42::integer-size(64)>> + assert from_string("42") == fake_flake + assert from_string(42) == fake_flake + end + + test "zero or -1 is a null flake" do + fake_flake = <<0::integer-size(128)>> + assert from_string("0") == fake_flake + assert from_string("-1") == fake_flake + end + + test "to_string/1" do + fake_flake = <<0::integer-size(64), 42::integer-size(64)>> + assert to_string(fake_flake) == "42" + end + end + + test "ecto type behaviour" do + flake = <<0, 0, 1, 104, 80, 229, 2, 235, 140, 22, 69, 201, 53, 210, 0, 0>> + flake_s = "9eoozpwTul5mjSEDRI" + + assert cast(flake) == {:ok, flake_s} + assert cast(flake_s) == {:ok, flake_s} + + assert load(flake) == {:ok, flake_s} + assert load(flake_s) == {:ok, flake_s} + + assert dump(flake_s) == {:ok, flake} + assert dump(flake) == {:ok, flake} + end +end |
