home: hub: zuo

ref: 476b3ea3a5d3791c51daa633b800ec0c76435a33
dir: /tests/opaque.zuo/

View raw version
#lang zuo

(require "harness.zuo")

(alert "opaque records")

(check (not (pair? (opaque 'hello "hi"))))

(check (opaque-ref 'hello (opaque 'hello "hi") #f) "hi")
(check (opaque-ref 'not-hello (opaque 'hello "hi") #f) #f)
(check (opaque-ref (string->uninterned-symbol "hello") (opaque 'hello "hi") #f) #f)
(check (opaque-ref 'hello (opaque (string->uninterned-symbol "hello") "hi") #f) #f)
(check (opaque-ref (opaque 'hello "hi") 'hello #f) #f)
(check (opaque-ref 10 10 #f) #f)
(check (opaque-ref 10 10 'no) 'no)