diff --git a/internal/webserver/server_test.go b/internal/webserver/server_test.go index 3cf37d5..e527704 100644 --- a/internal/webserver/server_test.go +++ b/internal/webserver/server_test.go @@ -380,6 +380,22 @@ func TestTombstoneTweet(t *testing.T) { assert.Equal("This Tweet was deleted by the Tweet author", strings.TrimSpace(tombstone.FirstChild.Data)) } +func TestTweetThread(t *testing.T) { + assert := assert.New(t) + require := require.New(t) + + resp := do_request(httptest.NewRequest("GET", "/tweet/1698762403163304110", nil)) + require.Equal(resp.StatusCode, 200) + root, err := html.Parse(resp.Body) + require.NoError(err) + + reply_chains := cascadia.QueryAll(root, selector(".reply-chain")) + require.Len(reply_chains, 2) + + thread_chain := reply_chains[0] + assert.Len(cascadia.QueryAll(thread_chain, selector(".reply-tweet")), 7) +} + // Follow and unfollow // ------------------- diff --git a/internal/webserver/tpl/tweet_detail.tpl b/internal/webserver/tpl/tweet_detail.tpl index 57dfe1d..05a359d 100644 --- a/internal/webserver/tpl/tweet_detail.tpl +++ b/internal/webserver/tpl/tweet_detail.tpl @@ -11,6 +11,16 @@ {{template "tweet" (dict "TweetID" .MainTweetID "RetweetID" 0 "QuoteNestingLevel" 0)}} + {{if (len .ThreadIDs)}} +
+ {{end}} + {{range .ReplyChains}}