; The client in the page of the test application: its data, its cookies, and
; URLs computed by the client and by the server.

(copy_files# ../page/urls.ml)

(executable
 (name test)
 (modes js wasm)
 (modules urls test)
 (preprocess
  (pps js_of_ocaml-ppx))
 (libraries eliom.client))

(rule
 (package eliom)
 (enabled_if %{bin-available:node})
 (action
  (with-stdout-to
   test.js.output
   (run
    node
    --require
    ./%{dep:../stub.js}
    --require
    ./%{dep:../page/page.js}
    %{dep:test.bc.js}))))

(rule
 (alias runtest)
 (package eliom)
 (enabled_if %{bin-available:node})
 (action
  (diff test.expected test.js.output)))

(rule
 (package eliom)
 (enabled_if %{bin-available:node})
 (action
  (with-stdout-to
   test.wasm.output
   (run
    node
    --require
    ./%{dep:../wasm_node.js}
    --require
    ./%{dep:../stub.js}
    --require
    ./%{dep:../page/page.js}
    %{dep:test.bc.wasm.js}))))

(rule
 (alias runtest)
 (package eliom)
 (enabled_if %{bin-available:node})
 (action
  (diff test.expected test.wasm.output)))
