| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- module Test.PageUrl
- ( main
- )
- where
- import Prelude
- import Data.Either (Either(..), isLeft)
- import Data.Int64 (Int64)
- import Data.Int64 as I64
- import Data.Maybe (fromJust)
- import Effect (Effect)
- import LinkedIn.PageUrl (JobOfferId(..), PageUrl(..), pageUrlP)
- import Parsing (runParser)
- import Partial.Unsafe (unsafePartial)
- import Test.Assert (assert, assertEqual)
- toI64 ∷ String → Int64
- toI64 s = unsafePartial $ fromJust $ I64.fromString s
- main :: Effect Unit
- main = do
- assertEqual {
- actual: runParser "/in/username/details/projects/" pageUrlP,
- expected: Right(UrlProjects "username")
- }
- assertEqual {
- actual: runParser "/in/username/details/skills/" pageUrlP,
- expected: Right(UrlSkills "username")
- }
- assertEqual {
- actual: runParser "/in/username/details/experience/" pageUrlP,
- expected: Right(UrlWorkExperience "username")
- }
- assertEqual {
- actual: runParser "/in/username/details/languages/" pageUrlP,
- expected: Right(UrlLanguage "username")
- }
- assertEqual {
- actual: runParser "/in/username/details/education/" pageUrlP,
- expected: Right(UrlEducation "username")
- }
- assertEqual {
- actual: runParser "/jobs/view/3764313323/" pageUrlP,
- expected: Right(UrlJobOffer (JobOfferId (toI64 "3764313323")))
- }
- assertEqual {
- actual: runParser "/in/username/" pageUrlP,
- expected: Right(UrlProfileMain "username")
- }
- assert $ isLeft $ runParser "/not/an/url/" pageUrlP
|