webdriver-precore-0.2.0.0: test/HTTP/HttpActionsDeprecated.hs
module HTTP.HttpActionsDeprecated
(
mkDeprecatedActions,
)
where
import HTTP.HttpRunnerDeprecated (HttpRunnerDeprecated (..))
import WebDriverPreCore.HTTP.Protocol qualified as P
import WebDriverPreCore.HTTP.SpecDefinition qualified as W
import HTTP.Actions (HttpActions (..))
import WebDriverPreCore.Http qualified as Legacy
mkDeprecatedActions :: HttpRunnerDeprecated -> HttpActions
mkDeprecatedActions MkHttpRunnerDeprecated {run} =
MkHttpActions
{ -- Root methods
status = run W.status,
newSession = run . W.newSession,
-- Session methods
deleteSession = run . W.deleteSession,
getTimeouts = run . W.getTimeouts,
setTimeouts = sessRun W.setTimeouts,
navigateTo = sessRun W.navigateTo,
getCurrentUrl = run . W.getCurrentUrl,
back = run . W.back,
forward = run . W.forward,
refresh = run . W.refresh,
getTitle = run . W.getTitle,
getWindowHandle = run . W.getWindowHandle,
newWindow = run . W.newWindow,
closeWindow = run . W.closeWindow,
switchToWindow = sessRun W.switchToWindow,
switchToFrame = sessRun W.switchToFrame,
getPageSource = run . W.getPageSource,
executeScript = sessRun W.executeScript,
executeScriptAsync = sessRun W.executeScriptAsync,
addCookie = sessRun W.addCookie,
getAllCookies = run . W.getAllCookies,
getNamedCookie = sessRun W.getNamedCookie,
deleteCookie = sessRun W.deleteCookie,
deleteAllCookies = run . W.deleteAllCookies,
performActions = sessRun W.performActions,
releaseActions = run . W.releaseActions,
dismissAlert = run . W.dismissAlert,
acceptAlert = run . W.acceptAlert,
getAlertText = run . W.getAlertText,
sendAlertText = sessRun W.sendAlertText,
takeScreenshot = run . W.takeScreenshot,
printPage = run . W.printPage,
-- Window methods
getWindowHandles = run . W.getWindowHandles,
getWindowRect = run . W.getWindowRect,
setWindowRect = sessRun W.setWindowRect,
maximizeWindow = run . W.maximizeWindow,
minimizeWindow = run . W.minimizeWindow,
fullScreenWindow = run . W.fullscreenWindow,
-- Frame methods
switchToParentFrame = run . W.switchToParentFrame,
-- Element(s) methods
getActiveElement = run . W.getActiveElement,
findElement = sessRun W.findElement,
findElements = sessRun W.findElements,
-- Element instance methods
findElementFromElement = sessRun2 W.findElementFromElement,
findElementsFromElement = sessRun2 W.findElementsFromElement,
isElementSelected = sessRun W.isElementSelected,
getElementAttribute = sessRun2 W.getElementAttribute,
getElementProperty = sessRun2 W.getElementProperty,
getElementCssValue = sessRun2 W.getElementCssValue,
getElementShadowRoot = sessRun W.getElementShadowRoot,
getElementText = sessRun W.getElementText,
getElementTagName = sessRun W.getElementTagName,
getElementRect = sessRun W.getElementRect,
isElementEnabled = sessRun W.isElementEnabled,
getElementComputedRole = sessRun W.getElementComputedRole,
getElementComputedLabel = sessRun W.getElementComputedLabel,
elementClick = sessRun W.elementClick,
elementClear = sessRun W.elementClear,
elementSendKeys = sessRun2 W.elementSendKeys,
takeElementScreenshot = sessRun W.takeElementScreenshot,
-- Shadow DOM methods
findElementFromShadowRoot = sessRun2 W.findElementFromShadowRoot,
findElementsFromShadowRoot = sessRun2 W.findElementsFromShadowRoot,
-- stubs for new methods that will not be implemented withthsi API
runCommand = \_ -> error "runCommand not implemented in legacy actions",
runCommand' = \_ -> error "runCommand not implemented in legacy actions"
}
where
sessRun :: forall a r. (Show r) => (P.Session -> a -> Legacy.HttpSpec r) -> P.Session -> a -> IO r
sessRun f s = run . f s
sessRun2 :: forall a b r. (Show r) => (P.Session -> a -> b -> Legacy.HttpSpec r) -> P.Session -> a -> b -> IO r
sessRun2 f s a = run . f s a