diff --git a/src/Toppoki.js b/src/Toppoki.js index b28092b..a9ea30a 100644 --- a/src/Toppoki.js +++ b/src/Toppoki.js @@ -133,3 +133,9 @@ exports._keyboardUp = function(string, options, page) { return page.keyboard.up(string, options); }; }; + +exports._setUserAgent = function(string, page) { + return function() { + return page.setUserAgent(string); + }; +}; diff --git a/src/Toppoki.purs b/src/Toppoki.purs index 060c291..b446150 100644 --- a/src/Toppoki.purs +++ b/src/Toppoki.purs @@ -212,7 +212,7 @@ keyboardDown :: forall options trash -> { | options } -> Page -> Aff Unit -keyboardDown key options page = runPromiseAffE3 _keyboardDown key options page +keyboardDown = runPromiseAffE3 _keyboardDown -- | Trigger a single keypress. Shortcut for `keyboard.down` and `keyboard.up`. keyboardPress @@ -229,7 +229,7 @@ keyboardPress = runPromiseAffE3 _keyboardPress -- | Dispatches a keypress and input event. This does not send a keydown or keyup event. keyboardSendCharacter :: String -> Page -> Aff Unit -keyboardSendCharacter char page = runPromiseAffE2 _keyboardSendCharacter char page +keyboardSendCharacter = runPromiseAffE2 _keyboardSendCharacter -- | Sends a keydown, keypress/input, and keyup event for each character in the text. -- | To press a special key, like Control or ArrowDown, use keyboard.press. @@ -248,7 +248,10 @@ keyboardUp :: forall options trash -> { | options } -> Page -> Aff Unit -keyboardUp key options page = runPromiseAffE3 _keyboardUp key options page +keyboardUp = runPromiseAffE3 _keyboardUp + +setUserAgent :: String -> Page -> Aff Unit +setUserAgent = runPromiseAffE2 _setUserAgent foreign import puppeteer :: Puppeteer foreign import _launch :: forall options. FU.Fn1 options (Effect (Promise Browser)) @@ -273,3 +276,4 @@ foreign import _keyboardPress :: forall options. FU.Fn3 KeyboardKey options Page foreign import _keyboardSendCharacter :: FU.Fn2 String Page (Effect (Promise Unit)) foreign import _keyboardType :: forall options. FU.Fn3 String options Page (Effect (Promise Unit)) foreign import _keyboardUp :: forall options. FU.Fn3 KeyboardKey options Page (Effect (Promise Unit)) +foreign import _setUserAgent :: FU.Fn2 String Page (Effect (Promise Unit)) diff --git a/test/Main.purs b/test/Main.purs index d931150..b73bc90 100644 --- a/test/Main.purs +++ b/test/Main.purs @@ -148,3 +148,10 @@ tests dir = runTest do Left _ -> throwError $ error "failed to read test input element value" Right value -> Assert.equal "∀" value T.close browser + + test "setting the user agent successfully completes" do + browser <- T.launch {} + page <- T.newPage browser + T.setUserAgent "Toppokki yum!" page + T.close browser +