From fb8f2d10984bcfa2585dc272b4c85d285b722792 Mon Sep 17 00:00:00 2001
From: Michael Manfre
Date: Mon, 28 Nov 2022 23:41:36 -0500
Subject: Hashtags
---
tests/activities/models/test_hashtag.py | 41 ++++++++++++++++++++++
.../activities/templatetags/test_activity_tags.py | 12 ++++++-
2 files changed, 52 insertions(+), 1 deletion(-)
create mode 100644 tests/activities/models/test_hashtag.py
(limited to 'tests')
diff --git a/tests/activities/models/test_hashtag.py b/tests/activities/models/test_hashtag.py
new file mode 100644
index 0000000..32742d6
--- /dev/null
+++ b/tests/activities/models/test_hashtag.py
@@ -0,0 +1,41 @@
+from activities.models import Hashtag
+
+
+def test_hashtag_from_content():
+ assert Hashtag.hashtags_from_content("#hashtag") == ["hashtag"]
+ assert Hashtag.hashtags_from_content("a#hashtag") == []
+ assert Hashtag.hashtags_from_content("Text #with #hashtag in it") == [
+ "hashtag",
+ "with",
+ ]
+ assert Hashtag.hashtags_from_content("#hashtag.") == ["hashtag"]
+ assert Hashtag.hashtags_from_content("More text\n#one # two ##three #hashtag;") == [
+ "hashtag",
+ "one",
+ "three",
+ ]
+
+
+def test_linkify_hashtag():
+ linkify = Hashtag.linkify_hashtags
+
+ assert linkify("# hashtag") == "# hashtag"
+ assert (
+ linkify('Text')
+ == 'Text'
+ )
+ assert (
+ linkify("#HashTag") == '#HashTag'
+ )
+ assert (
+ linkify(
+ """A longer text #bigContent
+with #tags, linebreaks, and
+maybe a few links
+#allTheTags #AllTheTags #ALLTHETAGS"""
+ )
+ == """A longer text #bigContent
+with #tags, linebreaks, and
+maybe a few links
+#allTheTags #AllTheTags #ALLTHETAGS"""
+ )
diff --git a/tests/activities/templatetags/test_activity_tags.py b/tests/activities/templatetags/test_activity_tags.py
index 987c008..85d8cdf 100644
--- a/tests/activities/templatetags/test_activity_tags.py
+++ b/tests/activities/templatetags/test_activity_tags.py
@@ -2,7 +2,7 @@ from datetime import timedelta
from django.utils import timezone
-from activities.templatetags.activity_tags import timedeltashort
+from activities.templatetags.activity_tags import linkify_hashtags, timedeltashort
def test_timedeltashort_regress():
@@ -19,3 +19,13 @@ def test_timedeltashort_regress():
assert timedeltashort(value - timedelta(days=364)) == "364d"
assert timedeltashort(value - timedelta(days=365)) == "1y"
assert timedeltashort(value - timedelta(days=366)) == "1y"
+
+
+def test_linkify_hashtags_regres():
+ assert linkify_hashtags(None) == ""
+ assert linkify_hashtags("") == ""
+
+ assert (
+ linkify_hashtags("#Takahe")
+ == '#Takahe'
+ )
--
cgit v1.2.3