Skip to content

Commit

Permalink
Add Page.emulateMedia binding
Browse files Browse the repository at this point in the history
  • Loading branch information
jihchi committed Feb 28, 2018
1 parent 4bf5e9f commit 48baea9
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 0 deletions.
5 changes: 5 additions & 0 deletions __tests__/puppeteer_test.re
Expand Up @@ -363,6 +363,11 @@ describe("Page", () => {
)
)
);
testPromise("emulateMedia()", () =>
Js.Promise.(
page^ |> Page.emulateMedia(Some(Print)) |> then_(() => pass |> resolve)
)
);
afterAllPromise(() =>
Js.Promise.(Page.close(page^) |> then_(() => Browser.close(browser^)))
);
Expand Down
18 changes: 18 additions & 0 deletions src/Page.re
Expand Up @@ -166,6 +166,24 @@ external setCookie : array(cookie) => Js.Promise.t(unit) = "";
external emulate : emulateOption => Js.Promise.t(unit) = "";

[@bs.send.pipe : t] external viewport : unit => viewport = "";

[@bs.send]
external _emulateMedia : (t, Js.Nullable.t(string)) => Js.Promise.t(unit) =
"emulateMedia";

type mediaType =
| Screen
| Print;

let emulateMedia = (mediaType: option(mediaType), t) =>
switch mediaType {
| Some(v) =>
switch v {
| Screen => _emulateMedia(t, Js.Nullable.return("screen"))
| Print => _emulateMedia(t, Js.Nullable.return("print"))
}
| None => _emulateMedia(t, Js.Nullable.null)
};
/* TODO: the rest of Page */
/* cookies(...urls: string[]): Promise<Cookie[]>; */
/* type 'cookie;
Expand Down

0 comments on commit 48baea9

Please sign in to comment.