+
+test_bare_filename_parsed :: Assertion
+test_bare_filename_parsed =
+ assertEqual "Filename is 'example.jpg'" "example.jpg" actual_result
+ where
+ url = "example.jpg"
+ actual_result = fromJust $ filename url
+
+test_absolute_filename_parsed :: Assertion
+test_absolute_filename_parsed =
+ assertEqual "Filename is 'example.jpg'" "example.jpg" actual_result
+ where
+ url = "http://lwn.net/one/two/example.jpg"
+ actual_result = fromJust $ filename url
+
+test_relative_filename_parsed :: Assertion
+test_relative_filename_parsed =
+ assertEqual "Filename is 'example.jpg'" "example.jpg" actual_result
+ where
+ url = "/one/two/example.jpg"
+ actual_result = fromJust $ filename url
+
+
+test_empty_url_conversion :: Assertion
+test_empty_url_conversion =
+ assertEqual "'' converted to lwn.net" expected actual
+ where
+ expected = "https://lwn.net/"
+ actual = fromJust $ make_absolute_url ""
+
+
+test_normal_url_conversion :: Assertion
+test_normal_url_conversion =
+ assertEqual "Image URL is made absolute" expected actual
+ where
+ url = "/images/2012/lcj-coughlan-lattimer-sm.jpg"
+ expected = "https://lwn.net/images/2012/lcj-coughlan-lattimer-sm.jpg"
+ actual = fromJust $ make_absolute_url url
+
+
+
+test_make_https :: Assertion
+test_make_https =
+ assertEqual "HTTP URL is made HTTPS" expected actual
+ where
+ url = "http://lwn.net/current"
+ expected = "https://lwn.net/current"
+ actual = make_https url
+
+
+test_add_trailing_slash :: Assertion
+test_add_trailing_slash =
+ assertEqual "Trailing slashes get added" expected actual
+ where
+ url = "https://lwn.net/current"
+ expected = "https://lwn.net/current/"
+ actual = add_trailing_slash url
+
+