diff --git a/test/rfl/server/types.rfl b/test/rfl/server/types.rfl index b9a93f0..06e0ce5 100644 --- a/test/rfl/server/types.rfl +++ b/test/rfl/server/types.rfl @@ -43,10 +43,11 @@ ;; typed nulls (i64 / i32 / f64 / symbol). Note: rayforce dicts have no wire ;; encode path (q.c only decodes q dicts), so dict-result payloads are not -;; round-tripped here. +;; round-tripped here. Rayfall has no `0Ns` literal (it parses as a name), so +;; the null symbol is written as the empty symbol `(as 'sym "")`. (.q.send h "0Nl") -- 0Nl (.q.send h "0Ni") -- 0Ni (.q.send h "0Nf") -- 0Nf -(.q.send h "0Ns") -- 0Ns +(.q.send h "(as 'sym \"\")") -- (as 'sym "") (.q.close h) diff --git a/test/run.sh b/test/run.sh index 0c458f8..e56d067 100755 --- a/test/run.sh +++ b/test/run.sh @@ -122,7 +122,7 @@ T["table"; ([] a:1 2 3; b:`x`y`z)~h"(table [a b] (list [1 2 3] ['x 'y 'z]) T["null i64"; 0N~h"0Nl"] T["null i32"; 0Ni~h"0Ni"] T["null f64"; 0n~h"0Nf"] -T["null sym"; (`)~h"0Ns"] +T["null sym"; (`)~h"(as 'sym \"\")"] / server-side parse error comes back as a Q error frame T["parse err"; @[h;"(+ 1 2";{x like "*parse*"}]] hclose h