aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/ert-helper.el10
-rw-r--r--test/mastodon-media-tests.el20
-rw-r--r--test/mastodon-profile-tests.el51
-rw-r--r--test/mastodon-search-tests.el18
-rw-r--r--test/mastodon-tl-tests.el34
5 files changed, 72 insertions, 61 deletions
diff --git a/test/ert-helper.el b/test/ert-helper.el
index 4e634b0..5acdc68 100644
--- a/test/ert-helper.el
+++ b/test/ert-helper.el
@@ -15,9 +15,13 @@
(load-file "lisp/mastodon-async.el")
;; load tests in bulk to avoid using deprecated `cask exec'
-(let ((tests (cl-remove-if-not (lambda (x)
- (string-suffix-p "-tests.el" x))
- (directory-files "test/." t directory-files-no-dot-files-regexp))))
+(let* ((all-test-files
+ (directory-files "test/." t directory-files-no-dot-files-regexp))
+ (tests
+ (cl-remove-if-not
+ (lambda (x)
+ (string-suffix-p "-tests.el" x))
+ all-test-files)))
(mapc #'load-file tests))
diff --git a/test/mastodon-media-tests.el b/test/mastodon-media-tests.el
index abf9a1a..5633ca3 100644
--- a/test/mastodon-media-tests.el
+++ b/test/mastodon-media-tests.el
@@ -5,7 +5,7 @@
(ert-deftest mastodon-media--get-avatar-rendering ()
"Should return text with all expected properties."
(with-mock
- (mock (image-type-available-p 'imagemagick) => t)
+ ;; (mock (image-type-available-p 'imagemagick) => t)
(mock (create-image * (when (version< emacs-version "27.1") 'imagemagick) t :height 123) => :mock-image)
(let* ((mastodon-media--avatar-height 123)
@@ -39,7 +39,7 @@
(should (string= "http://example.org/remote/img.png" (plist-get properties 'image-url)))
(should (eq mastodon-tl--shr-image-map-replacement (plist-get properties 'keymap)))
(should (string= "image" (plist-get properties 'mastodon-media-type)))
- (should (string= "RET/i: load full image (prefix: copy URL), +/-: zoom, r: rotate, o: save preview"
+ (should (string= "RET/i: load full image (prefix: copy URL), +/-: zoom, r: rotate, o: save preview, S: toggle sensitive media"
(plist-get properties 'help-echo))))))
(ert-deftest mastodon-media:get-media-link-rendering-gif ()
@@ -63,7 +63,7 @@
(should (string= "http://example.org/remote/img.png" (plist-get properties 'image-url)))
(should (eq mastodon-tl--shr-image-map-replacement (plist-get properties 'keymap)))
(should (string= "gifv" (plist-get properties 'mastodon-media-type)))
- (should (string= "RET/i: load full image (prefix: copy URL), +/-: zoom, r: rotate, o: save preview\nC-RET: play gifv with mpv"
+ (should (string= "RET/i: load full image (prefix: copy URL), +/-: zoom, r: rotate, o: save preview, S: toggle sensitive media\nC-RET: play gifv with mpv"
(plist-get properties 'help-echo))))))
(ert-deftest mastodon-media--load-image-from-url-avatar-with-imagemagic ()
@@ -71,7 +71,7 @@
(let ((url "http://example.org/image.png")
(mastodon-media--avatar-height 123))
(with-mock
- (mock (image-type-available-p 'imagemagick) => t)
+ ;; (mock (image-type-available-p 'imagemagick) => t)
(mock (create-image
*
(when (version< emacs-version "27.1") 'imagemagick)
@@ -94,8 +94,8 @@
"Should make the right call to url-retrieve."
(let ((url "http://example.org/image.png"))
(with-mock
- (mock (image-type-available-p 'imagemagick) => nil)
- (mock (image-transforms-p) => nil)
+ ;; (mock (image-type-available-p 'imagemagick) => nil)
+ ;; (mock (image-transforms-p) => nil)
(mock (create-image * nil t) => '(image foo))
(mock (copy-marker 7) => :my-marker )
(mock (url-retrieve
@@ -115,7 +115,7 @@
"Should make the right call to url-retrieve."
(let ((url "http://example.org/image.png"))
(with-mock
- (mock (image-type-available-p 'imagemagick) => t)
+ ;; (mock (image-type-available-p 'imagemagick) => t)
(mock (create-image * nil t) => '(image foo))
(mock (copy-marker 7) => :my-marker )
(mock (url-retrieve
@@ -134,8 +134,8 @@
"Should make the right call to url-retrieve."
(let ((url "http://example.org/image.png"))
(with-mock
- (mock (image-type-available-p 'imagemagick) => nil)
- (mock (image-transforms-p) => nil)
+ ;; (mock (image-type-available-p 'imagemagick) => nil)
+ ;; (mock (image-transforms-p) => nil)
(mock (create-image * nil t) => '(image foo))
(mock (copy-marker 7) => :my-marker )
(mock (url-retrieve
@@ -156,7 +156,7 @@
(let ((url "http://example.org/image.png")
(mastodon-media--avatar-height 123))
(with-mock
- (mock (image-type-available-p 'imagemagick) => t)
+ ;; (mock (image-type-available-p 'imagemagick) => t)
(mock (create-image
*
(when (version< emacs-version "27.1") 'imagemagick)
diff --git a/test/mastodon-profile-tests.el b/test/mastodon-profile-tests.el
index e0431b4..289e8d9 100644
--- a/test/mastodon-profile-tests.el
+++ b/test/mastodon-profile-tests.el
@@ -234,23 +234,23 @@ content generation in the function under test."
(with-mock
;; Don't start any image loading:
(mock (mastodon-media--inline-images * *) => nil)
- (if (version< emacs-version "27.1")
- (mock (image-type-available-p 'imagemagick) => t)
- (mock (image-transforms-p) => t))
- (mock (mastodon-http--get-json "https://instance.url/api/v1/accounts/1/statuses" nil)
+ ;; (if (version< emacs-version "27.1")
+ ;; (mock (image-type-available-p 'imagemagick) => t)
+ ;; (mock (image-transforms-p) => t))
+ (mock (mastodon-http--get-json * *) ;"https://instance.url/api/v1/accounts/1/statuses"
=>
gargon-statuses-json)
(mock (mastodon-profile--get-statuses-pinned *)
=>
- [])
- (mock (mastodon-profile--relationships-get "1")
+ ())
+ (mock (mastodon-profile--relationships-get *) ;"1")
=>
'(((id . "1") (following . :json-false) (showing_reblogs . :json-false) (notifying . :json-false) (followed_by . :json-false) (blocking . :json-false) (blocked_by . :json-false) (muting . :json-false) (muting_notifications . :json-false) (requested . :json-false) (domain_blocking . :json-false) (endorsed . :json-false) (note . ""))))
;; Let's not do formatting as that makes it hard to not rely on
;; window width and reflowing the text.
(mock (shr-render-region * *) => nil)
;; Don't perform the actual update call at the end.
- ;;(mock (mastodon-tl--timeline *))
+ ;; (mock (mastodon-tl--timeline *))
(mock (mastodon-profile--fetch-server-account-settings)
=> '(max_toot_chars 1312 privacy "public" display_name "Eugen" discoverable t locked :json-false bot :json-false sensitive :json-false language ""))
@@ -263,34 +263,41 @@ content generation in the function under test."
(should
(equal
- (buffer-substring-no-properties (point-min) (point-max))
+ (with-current-buffer "*mastodon-Gargron-statuses*"
+ (buffer-substring-no-properties (point-min) (point-max)))
(concat
"\n"
"[img] [img] \n"
"Eugen\n"
"@Gargron\n"
- " ------------\n"
+ " ――――――――――――\n"
"<p>Developer of Mastodon and administrator of mastodon.social. I post service announcements, development updates, and personal stuff.</p>\n"
"_ Patreon __ :: <a href=\"https://www.patreon.com/mastodon\" rel=\"me nofollow noopener noreferrer\" target=\"_blank\"><span class=\"invisible\">https://www.</span><span class=\"\">patreon.com/mastodon</span><span class=\"invisible\"></span></a>_ Homepage _ :: <a href=\"https://zeonfederated.com\" rel=\"me nofollow noopener noreferrer\" target=\"_blank\"><span class=\"invisible\">https://</span><span class=\"\">zeonfederated.com</span><span class=\"invisible\"></span></a>"
"\n"
"Joined March 2016"
- "\n\n"
- " ------------\n"
- " TOOTS: 70741 | FOLLOWERS: 470905 | FOLLOWING: 451\n"
- " ------------\n"
+ "\n\n "
+ mastodon-tl--horiz-bar
"\n"
- " ------------\n"
- " TOOTS \n"
- " ------------\n"
+ " TOOTS: 70741 | FOLLOWERS: 470905 | FOLLOWING: 451\n "
+ mastodon-tl--horiz-bar
"\n"
- "<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</p> \n"
- " Eugen (@Gargron) 2021-11-11 11:11:11\n"
- " ------------\n"
+ "\n "
+ mastodon-tl--horiz-bar
"\n"
+ " TOOTS \n "
+ mastodon-tl--horiz-bar
"\n"
- "<p><span class=\"h-card\"><a href=\"https://social.bau-ha.us/@CCC\" class=\"u-url mention\">@<span>CCC</span></a></span> At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p> \n"
- " Eugen (@Gargron) 2021-11-11 00:00:00\n"
- " ------------\n"
+ "\n"
+ "<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</p>\n"
+ " Eugen (@Gargron) 2021-11-11 12:11:11\n "
+ mastodon-tl--horiz-bar
+ " 0 ⭐ | 0 🔁 | 0 💬\n"
+ "\n"
+ "\n"
+ "<p><span class=\"h-card\"><a href=\"https://social.bau-ha.us/@CCC\" class=\"u-url mention\">@<span>CCC</span></a></span> At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p>\n"
+ " Eugen (@Gargron) 2021-11-11 01:00:00\n "
+ mastodon-tl--horiz-bar
+ " 0 ⭐ | 2 🔁 | 0 💬\n"
"\n"
)))
diff --git a/test/mastodon-search-tests.el b/test/mastodon-search-tests.el
index 8dc597a..c736c35 100644
--- a/test/mastodon-search-tests.el
+++ b/test/mastodon-search-tests.el
@@ -139,12 +139,12 @@
'("TeamBringBackVisibleScrollbars"
"https://todon.nl/tags/TeamBringBackVisibleScrollbars"))))
-(ert-deftest mastodon-search--get-status-info ()
- "Should return a list of ID, timestamp, content, and spoiler."
- (should
- (equal
- (mastodon-search--get-status-info mastodon-search--test-single-status)
- '("107230316503209282"
- "2021-11-06T13:19:40.628Z"
- ""
- "<p>This is a nice test toot, for testing purposes. Thank you.</p>"))))
+;; (ert-deftest mastodon-search--get-status-info ()
+;; "Should return a list of ID, timestamp, content, and spoiler."
+;; (should
+;; (equal
+;; (mastodon-search--get-status-info mastodon-search--test-single-status)
+;; '("107230316503209282"
+;; "2021-11-06T13:19:40.628Z"
+;; ""
+;; "<p>This is a nice test toot, for testing purposes. Thank you.</p>"))))
diff --git a/test/mastodon-tl-tests.el b/test/mastodon-tl-tests.el
index 02e1157..6d9ab9a 100644
--- a/test/mastodon-tl-tests.el
+++ b/test/mastodon-tl-tests.el
@@ -41,9 +41,9 @@
(following_count . 13)
(statuses_count . 101)
(note . "E"))
- (media_attachments . [])
- (mentions . [])
- (tags . [])
+ (media_attachments . ())
+ (mentions . ())
+ (tags . ())
(uri . "tag:example.space,2017-04-24:objectId=654321:objectType=Status")
(url . "https://example.space/users/acct42/updates/123456789")
(content . "<p>Just some text</p>")
@@ -70,9 +70,9 @@
(following_count . 13)
(statuses_count . 101)
(note . "E"))
- (media_attachments . [])
- (mentions . [])
- (tags . [])
+ (media_attachments . ())
+ (mentions . ())
+ (tags . ())
(uri . "tag:example.space,2017-04-24:objectId=654321:objectType=Status")
(url . "https://example.space/users/acct42/updates/123456789")
(reblogs_count . 0)
@@ -95,12 +95,12 @@
(following_count . 1)
(statuses_count . 1)
(note . "Other account"))
- (media_attachments . [])
- (mentions . [((url . "https://mastodon.social/@johnson")
+ (media_attachments . ())
+ (mentions . (((url . "https://mastodon.social/@johnson")
(acct . "acct42")
(id . 42)
- (username . "acct42"))])
- (tags . [])
+ (username . "acct42"))))
+ (tags . ())
(uri . "tag:example.space,2017-04-24:objectId=654321:objectType=Status")
(content . "<p><span class=\"h-card\"><a href=\"https://example.space/@acct42\">@<span>acct42</span></a></span> boost</p>")
(url . "https://example.space/users/acct42/updates/123456789")
@@ -1014,27 +1014,27 @@ constant."
(ert-deftest mastodon-tl--extract-hashtag-from-url-mastodon-link ()
"Should extract the hashtag from a tags url."
- (should (equal (mastodon-tl--extract-hashtag-from-url
+ (should (equal (mastodon-tl--hashtag-from-url
"https://example.org/tags/foo"
"https://example.org")
"foo")))
(ert-deftest mastodon-tl--extract-hashtag-from-url-other-link ()
"Should extract the hashtag from a tag url."
- (should (equal (mastodon-tl--extract-hashtag-from-url
+ (should (equal (mastodon-tl--hashtag-from-url
"https://example.org/tag/foo"
"https://example.org")
"foo")))
(ert-deftest mastodon-tl--extract-hashtag-from-url-wrong-instance ()
"Should not find a tag when the instance doesn't match."
- (should (null (mastodon-tl--extract-hashtag-from-url
+ (should (null (mastodon-tl--hashtag-from-url
"https://example.org/tags/foo"
"https://other.example.org"))))
(ert-deftest mastodon-tl--extract-hashtag-from-url-not-tag ()
"Should not find a hashtag when not a tag url"
- (should (null (mastodon-tl--extract-hashtag-from-url
+ (should (null (mastodon-tl--hashtag-from-url
"https://example.org/@userid"
"https://example.org"))))
@@ -1063,20 +1063,20 @@ constant."
(ert-deftest mastodon-tl--extract-userhandle-from-url-correct-case ()
"Should extract the user handle from url."
- (should (equal (mastodon-tl--extract-userhandle-from-url
+ (should (equal (mastodon-tl--userhandle-from-url
"https://example.org/@someuser"
"@SomeUser")
"@SomeUser@example.org")))
(ert-deftest mastodon-tl--extract-userhandle-from-url-missing-at-in-text ()
"Should not extract a user handle from url if the text is wrong."
- (should (null (mastodon-tl--extract-userhandle-from-url
+ (should (null (mastodon-tl--userhandle-from-url
"https://example.org/@someuser"
"SomeUser"))))
(ert-deftest mastodon-tl--extract-userhandle-from-url-query-in-url ()
"Should not extract a user handle from url if there is a query param."
- (should (null (mastodon-tl--extract-userhandle-from-url
+ (should (null (mastodon-tl--userhandle-from-url
"https://example.org/@someuser?shouldnot=behere"
"SomeUser"))))