Branch :
quote require Marshall
require Marshall
quote require MarshallRead
require MarshallRead
quote loopback = fn (tag) do
str = Marshall.tag_to_str(tag)
result = MarshallRead.tag_from_str(str)
if (inspect(result) == inspect(tag)) do
{:ok, Str.size(str)}
else
{:ko, Str.size(str), result}
end
end
loopback = fn (tag) do
str = Marshall.tag_to_str(tag)
result = MarshallRead.tag_from_str(str)
if (inspect(result) == inspect(tag)) do
{:ok, Str.size(str)}
else
{:ko, Str.size(str), result}
end
end
quote loopback(false)
loopback(false)
quote loopback(true)
loopback(true)
quote loopback('A')
loopback('A')
quote loopback('\0')
loopback('\0')
quote loopback('Z')
loopback('Z')
quote loopback(0)
loopback(0)
quote loopback(1)
loopback(1)
quote loopback(2)
loopback(2)
quote loopback(255)
loopback(255)
quote loopback(256)
loopback(256)
quote loopback(-1234)
loopback(-1234)
quote loopback(1234)
loopback(1234)
quote loopback(-123456789)
loopback(-123456789)
quote loopback(123456789)
loopback(123456789)
quote loopback((F32) 0.0)
loopback((F32) 0.0)
quote loopback((F32) 1.0)
loopback((F32) 1.0)
quote loopback((F64) 0.0)
loopback((F64) 0.0)
quote loopback((F64) 1.0)
loopback((F64) 1.0)
quote loopback((F128) 0.0)
loopback((F128) 0.0)
quote loopback((F128) 1.0)
loopback((F128) 1.0)
quote loopback("")
loopback("")
quote loopback("hello")
loopback("hello")
quote loopback("héllo wörld")
loopback("héllo wörld")
quote loopback([0, 1])
loopback([0, 1])
quote loopback([[2, 3], [4, 5]])
loopback([[2, 3], [4, 5]])
quote loopback(%Time{})
loopback(%Time{})
quote loopback((Ptr) 0)
loopback((Ptr) 0)
quote loopback(1 +i 2)
loopback(1 +i 2)
quote loopback(false)
loopback(false)
quote loopback(true)
loopback(true)
quote loopback('0')
loopback('0')
quote loopback('z')
loopback('z')
quote loopback('\n')
loopback('\n')
quote loopback('\t')
loopback('\t')
quote loopback(255)
loopback(255)
quote loopback(127)
loopback(127)
quote loopback(128)
loopback(128)
quote loopback(-1)
loopback(-1)
quote loopback(-32768)
loopback(-32768)
quote loopback(32767)
loopback(32767)
quote loopback(65535)
loopback(65535)
quote loopback(-2147483648)
loopback(-2147483648)
quote loopback(2147483647)
loopback(2147483647)
quote loopback(4294967295)
loopback(4294967295)
quote loopback(-9223372036854775808)
loopback(-9223372036854775808)
quote loopback(9223372036854775807)
loopback(9223372036854775807)
quote loopback(18446744073709551615)
loopback(18446744073709551615)
quote loopback((Integer) 1024)
loopback((Integer) 1024)
quote loopback(10000000000000000000000000000000000)
loopback(10000000000000000000000000000000000)
quote loopback(123456789012345678901234567890)
loopback(123456789012345678901234567890)
quote loopback((F32) -1.0)
loopback((F32) -1.0)
quote loopback((F32) 3.141592)
loopback((F32) 3.141592)
quote loopback((F32) 4.294967e9)
loopback((F32) 4.294967e9)
quote loopback((F64) -1.0)
loopback((F64) -1.0)
quote loopback((F64) 3.14159265358979)
loopback((F64) 3.14159265358979)
quote loopback((F64) 4294967296.0)
loopback((F64) 4294967296.0)
quote loopback((F128) -1.0)
loopback((F128) -1.0)
quote loopback((F128) 3.1415926535897932384626433832795028841971693993751)
loopback((F128) 3.1415926535897932384626433832795028841971693993751)
quote loopback(2/6)
loopback(2/6)
quote loopback(1/3)
loopback(1/3)
quote loopback(22/7)
loopback(22/7)
quote loopback(0 +i 1)
loopback(0 +i 1)
quote loopback(-1 +i -2)
loopback(-1 +i -2)
quote loopback((F32) 3.14 +i (F32) 2.71)
loopback((F32) 3.14 +i (F32) 2.71)
#quote loopback("hello\xFF\x00world")
#loopback("hello\xFF\x00world")
#quote loopback("\xFF\xFE\xFD")
#loopback("\xFF\xFE\xFD")
quote loopback("test\ntab\there")
loopback("test\ntab\there")
quote loopback([])
loopback([])
quote loopback([1, 2, 3, 4, 5])
loopback([1, 2, 3, 4, 5])
quote loopback([true, false, 'A'])
loopback([true, false, 'A'])
quote loopback(["hello", "world"])
loopback(["hello", "world"])
quote loopback([[[1]]])
loopback([[[1]]])
quote loopback({1, 2, 3})
loopback({1, 2, 3})
quote loopback({true, 'A', "test"})
loopback({true, 'A', "test"})
quote loopback({1, 2, [3, 4]})
loopback({1, 2, [3, 4]})
quote loopback(do end)
loopback(do end)
quote loopback(Module)
loopback(Module)
quote loopback(:test)
loopback(:test)
quote loopback(:hello_world)
loopback(:hello_world)
quote loopback(%{})
loopback(%{})
quote loopback(%{a: 1, b: 2})
loopback(%{a: 1, b: 2})
quote loopback(%{key: "value", num: 42})
loopback(%{key: "value", num: 42})
quote loopback(%{nested: %{inner: true}})
loopback(%{nested: %{inner: true}})
quote loopback(%Time{tv_sec: 1000, tv_nsec: 2000})
loopback(%Time{tv_sec: 1000, tv_nsec: 2000})
quote loopback(%Time{tv_sec: 1 + 1, tv_nsec: 2 + 2})
loopback(%Time{tv_sec: 1 + 1, tv_nsec: 2 + 2})
quote loopback((Ptr) 0x0)
loopback((Ptr) 0x0)
quote loopback((PtrFree) 0x0)
loopback((PtrFree) 0x0)
#quote loopback(quote 1 + 1)
#loopback(quote 1 + 1)
#quote loopback(quote hello)
#loopback(quote hello)
#quote loopback(unquote(123))
#loopback(unquote(123))
quote loopback((U8) ?)
loopback((U8) ?)
quote loopback(?)
loopback(?)
quote loopback(fn (x) { x * 2 })
loopback(fn (x) { x * 2 })
quote loopback(fn (a, b) { a + b })
loopback(fn (a, b) { a + b })
quote loopback(List.reverse([]))
loopback(List.reverse([]))
quote loopback(a = 1)
loopback(a = 1)
quote loopback(defmodule Test do end)
loopback(defmodule Test do end)
quote loopback(do
1
2
3
end)
loopback(do
1
2
3
end)
quote loopback(cfn Tag "tag_add" (Tag, Tag, Result))
loopback(cfn Tag "tag_add" (Tag, Tag, Result))
quote loopback(%KC3.Op{sym: :-})
loopback(%KC3.Op{sym: :-})
quote loopback((U8[]) {})
loopback((U8[]) {})
quote loopback((U8[]) {0, 1, 2, 254, 255})
loopback((U8[]) {0, 1, 2, 254, 255})
quote loopback((U8[]) {0, 1 + 1, 2 + 2, 254, 255})
loopback((U8[]) {0, 1 + 1, 2 + 2, 254, 255})
quote loopback(do
a = 1
f = fn () { a } [a: 2]
f()
end)
loopback(do
a = 1
f = fn () { a } [a: 2]
f()
end)
quote loopback([[A, B], [C, D]])
loopback([[A, B], [C, D]])