Advertisement
Guest User

Untitled

a guest
Oct 14th, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.17 KB | None | 0 0
  1. open DomTestingLibrary;
  2.  
  3. module FireEvent = {
  4. include FireEvent;
  5. };
  6.  
  7. type renderResult;
  8. type renderOptions = {
  9. .
  10. "baseElement": Js.undefined(Dom.element),
  11. "container": Js.undefined(Dom.element),
  12. };
  13.  
  14. [@bs.module "@testing-library/react"]
  15. external _cleanup: unit => unit = "cleanup";
  16.  
  17. [@bs.module "@testing-library/react"]
  18. external _render: (ReasonReact.reactElement, renderOptions) => renderResult =
  19. "render";
  20.  
  21. [@bs.get] external container: renderResult => Dom.element = "";
  22.  
  23. [@bs.get] external baseElement: renderResult => Dom.element = "";
  24.  
  25. [@bs.send.pipe: renderResult]
  26. external _debug: Js.undefined(Dom.element) => unit = "debug";
  27.  
  28. [@bs.send.pipe: renderResult] external unmount: unit => bool = "";
  29.  
  30. [@bs.send.pipe: renderResult]
  31. external rerender: ReasonReact.reactElement => unit = "";
  32.  
  33. let getByAltText = (string, result) =>
  34. getByAltText(string, result |> baseElement);
  35.  
  36. let getByPlaceholderText = (string, result) =>
  37. getByPlaceholderText(string, result |> baseElement);
  38.  
  39. let getByTestId = (string, result) =>
  40. getByTestId(string, result |> baseElement);
  41.  
  42. let getByText = (~matcher, ~options=?, result) =>
  43. getByText(~matcher, ~options?, result |> baseElement);
  44.  
  45. let getAllByText = (~matcher, ~options=?, result) =>
  46. getAllByText(~matcher, ~options?, result |> baseElement);
  47.  
  48. let getAllByRole = (~role, ~options=?, result) =>
  49. getAllByRole(~role, ~options?, result |> baseElement);
  50.  
  51. let getByLabelText = (~matcher, ~options=?, result) =>
  52. getByLabelText(~matcher, ~options?, result |> baseElement);
  53.  
  54. let getByTitle = (string, result) =>
  55. getByTitle(string, result |> baseElement);
  56.  
  57. let getByDisplayValue = (string, result) =>
  58. getByDisplayValue(string, result |> baseElement);
  59.  
  60. let render = (~baseElement=?, ~container=?, element) => {
  61. let baseElement_ =
  62. switch (container) {
  63. | Some(container') => Js.Undefined.return(container')
  64. | None => Js.Undefined.fromOption(baseElement)
  65. };
  66. let container_ = Js.Undefined.fromOption(container);
  67.  
  68. _render(element, {"baseElement": baseElement_, "container": container_});
  69. };
  70.  
  71. let debug = (~el=?, ()) => _debug(Js.Undefined.fromOption(el));
  72.  
  73. let cleanup = _cleanup;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement