X-Git-Url: http://gitweb.michael.orlitzky.com/?p=dead%2Fhalcyon.git;a=blobdiff_plain;f=src%2FTwitter%2FStatus.hs;h=0bc60faf47a2f623a9b6f89204894fafe839b939;hp=176619d0ed5a6e2d9f2720b13fe4abed61350cfd;hb=d721869c5e7395c021cc79f40720bdb275d613d2;hpb=bbd3f429da0e9e5906f6aecb85f1c00683500428 diff --git a/src/Twitter/Status.hs b/src/Twitter/Status.hs index 176619d..0bc60fa 100644 --- a/src/Twitter/Status.hs +++ b/src/Twitter/Status.hs @@ -7,7 +7,7 @@ where import Control.Applicative ((<$>), (<*>)) import Control.Monad (liftM) import Data.Aeson ((.:), FromJSON(..), Value(Object)) -import Data.Maybe (fromMaybe, mapMaybe, isJust) +import Data.Maybe (mapMaybe, isJust) import Data.Monoid (mempty) import Data.String.Utils (join, splitWs) import Data.Text (pack) @@ -16,7 +16,9 @@ import Data.Time.Clock (UTCTime) import Data.Time.Format (parseTime) import Data.Time.LocalTime (TimeZone, utcToZonedTime) import System.Locale (defaultTimeLocale, rfc822DateFormat) -import Test.HUnit +import Test.Framework (Test, testGroup) +import Test.Framework.Providers.HUnit (testCase) +import Test.HUnit (Assertion, assertEqual) import Text.Regex (matchRegex, mkRegex) import Html (replace_entities) @@ -77,7 +79,7 @@ utc_time_to_rfc822 mtz utc = show_created_at :: Maybe TimeZone -> Status -> String show_created_at mtz = - (fromMaybe "") . (fmap $ utc_time_to_rfc822 mtz) . created_at + (maybe "" (utc_time_to_rfc822 mtz)) . created_at -- | Returns a nicely-formatted String representing the given 'Status' -- object. @@ -136,26 +138,30 @@ make_user_timeline_urls status = usernames = parse_usernames_from_status status -status_tests :: [Test] -status_tests = [ test_parse_usernames ] +status_tests :: Test +status_tests = + testGroup "Status Tests" [ tc1 ] + where + tc1 = testCase "All usernames are parsed." test_parse_usernames -test_parse_usernames :: Test +test_parse_usernames :: Assertion test_parse_usernames = - TestCase $ - assertEqual - "All usernames are parsed." - expected_usernames - actual_usernames - where - dummy_user = User { screen_name = "nobody" } - dummy_status = Status { status_id = 1, - created_at = Nothing, - text = "Hypothesis: @donsbot and @bonus500 are two personalities belonging to the same person.", - user = dummy_user, - reply = False, - retweeted = False - } - - actual_usernames = parse_usernames_from_status dummy_status - expected_usernames = ["donsbot", "bonus500"] + assertEqual + "All usernames are parsed." + expected_usernames + actual_usernames + where + dummy_user = User { screen_name = "nobody" } + dummy_text = "Hypothesis: @donsbot and @bonus500 are two " ++ + "personalities belonging to the same person." + dummy_status = Status { status_id = 1, + created_at = Nothing, + text = dummy_text, + user = dummy_user, + reply = False, + retweeted = False + } + + actual_usernames = parse_usernames_from_status dummy_status + expected_usernames = ["donsbot", "bonus500"]