summaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
Diffstat (limited to 'spec')
-rw-r--r--spec/invidious/helpers_spec.cr12
-rw-r--r--spec/invidious/utils_spec.cr46
-rw-r--r--spec/parsers_helper.cr2
-rw-r--r--spec/spec_helper.cr1
4 files changed, 47 insertions, 14 deletions
diff --git a/spec/invidious/helpers_spec.cr b/spec/invidious/helpers_spec.cr
index f81cd29a..142e1653 100644
--- a/spec/invidious/helpers_spec.cr
+++ b/spec/invidious/helpers_spec.cr
@@ -23,18 +23,6 @@ Spectator.describe "Helper" do
end
end
- describe "#produce_comment_continuation" do
- it "correctly produces a continuation token for comments" do
- expect(produce_comment_continuation("_cE8xSu6swE", "ADSJ_i2qvJeFtL0htmS5_K5Ctj3eGFVBMWL9Wd42o3kmUL6_mAzdLp85-liQZL0mYr_16BhaggUqX652Sv9JqV6VXinShSP-ZT6rL4NolPBaPXVtJsO5_rA_qE3GubAuLFw9uzIIXU2-HnpXbdgPLWTFavfX206hqWmmpHwUOrmxQV_OX6tYkM3ux3rPAKCDrT8eWL7MU3bLiNcnbgkW8o0h8KYLL_8BPa8LcHbTv8pAoNkjerlX1x7K4pqxaXPoyz89qNlnh6rRx6AXgAzzoHH1dmcyQ8CIBeOHg-m4i8ZxdX4dP88XWrIFg-jJGhpGP8JUMDgZgavxVx225hUEYZMyrLGler5em4FgbG62YWC51moLDLeYEA")).to eq("EkMSC19jRTh4U3U2c3dFyAEA4AEBogINKP___________wFAAMICHQgEGhdodHRwczovL3d3dy55b3V0dWJlLmNvbSIAGAYyjAMK9gJBRFNKX2kycXZKZUZ0TDBodG1TNV9LNUN0ajNlR0ZWQk1XTDlXZDQybzNrbVVMNl9tQXpkTHA4NS1saVFaTDBtWXJfMTZCaGFnZ1VxWDY1MlN2OUpxVjZWWGluU2hTUC1aVDZyTDROb2xQQmFQWFZ0SnNPNV9yQV9xRTNHdWJBdUxGdzl1eklJWFUyLUhucFhiZGdQTFdURmF2ZlgyMDZocVdtbXBId1VPcm14UVZfT1g2dFlrTTN1eDNyUEFLQ0RyVDhlV0w3TVUzYkxpTmNuYmdrVzhvMGg4S1lMTF84QlBhOExjSGJUdjhwQW9Oa2plcmxYMXg3SzRwcXhhWFBveXo4OXFObG5oNnJSeDZBWGdBenpvSEgxZG1jeVE4Q0lCZU9IZy1tNGk4WnhkWDRkUDg4WFdySUZnLWpKR2hwR1A4SlVNRGdaZ2F2eFZ4MjI1aFVFWVpNeXJMR2xlcjVlbTRGZ2JHNjJZV0M1MW1vTERMZVlFQSIPIgtfY0U4eFN1NnN3RTAAKBQ%3D")
-
- expect(produce_comment_continuation("_cE8xSu6swE", "ADSJ_i1yz21HI4xrtsYXVC-2_kfZ6kx1yjYQumXAAxqH3CAd7ZxKxfLdZS1__fqhCtOASRbbpSBGH_tH1J96Dxux-Qfjk-lUbupMqv08Q3aHzGu7p70VoUMHhI2-GoJpnbpmcOxkGzeIuenRS_ym2Y8fkDowhqLPFgsS0n4djnZ2UmC17F3Ch3N1S1UYf1ZVOc991qOC1iW9kJDzyvRQTWCPsJUPneSaAKW-Rr97pdesOkR4i8cNvHZRnQKe2HEfsvlJOb2C3lF1dJBfJeNfnQYeh5hv6_fZN7bt3-JL1Xk3Qc9NXNxmmbDpwAC_yFR8dthFfUJdyIO9Nu1D79MLYeR-H5HxqUJokkJiGIz4lTE_CXXbhAI")).to eq("EkMSC19jRTh4U3U2c3dFyAEA4AEBogINKP___________wFAAMICHQgEGhdodHRwczovL3d3dy55b3V0dWJlLmNvbSIAGAYyiQMK8wJBRFNKX2kxeXoyMUhJNHhydHNZWFZDLTJfa2ZaNmt4MXlqWVF1bVhBQXhxSDNDQWQ3WnhLeGZMZFpTMV9fZnFoQ3RPQVNSYmJwU0JHSF90SDFKOTZEeHV4LVFmamstbFVidXBNcXYwOFEzYUh6R3U3cDcwVm9VTUhoSTItR29KcG5icG1jT3hrR3plSXVlblJTX3ltMlk4ZmtEb3docUxQRmdzUzBuNGRqbloyVW1DMTdGM0NoM04xUzFVWWYxWlZPYzk5MXFPQzFpVzlrSkR6eXZSUVRXQ1BzSlVQbmVTYUFLVy1Scjk3cGRlc09rUjRpOGNOdkhaUm5RS2UySEVmc3ZsSk9iMkMzbEYxZEpCZkplTmZuUVllaDVodjZfZlpON2J0My1KTDFYazNRYzlOWE54bW1iRHB3QUNfeUZSOGR0aEZmVUpkeUlPOU51MUQ3OU1MWWVSLUg1SHhxVUpva2tKaUdJejRsVEVfQ1hYYmhBSSIPIgtfY0U4eFN1NnN3RTAAKBQ%3D")
-
- expect(produce_comment_continuation("29-q7YnyUmY", "")).to eq("EkMSCzI5LXE3WW55VW1ZyAEA4AEBogINKP___________wFAAMICHQgEGhdodHRwczovL3d3dy55b3V0dWJlLmNvbSIAGAYyFQoAIg8iCzI5LXE3WW55VW1ZMAAoFA%3D%3D")
-
- expect(produce_comment_continuation("CvFH_6DNRCY", "")).to eq("EkMSC0N2RkhfNkROUkNZyAEA4AEBogINKP___________wFAAMICHQgEGhdodHRwczovL3d3dy55b3V0dWJlLmNvbSIAGAYyFQoAIg8iC0N2RkhfNkROUkNZMAAoFA%3D%3D")
- end
- end
-
describe "#produce_channel_community_continuation" do
it "correctly produces a continuation token for a channel community" do
expect(produce_channel_community_continuation("UCCj956IF62FbT7Gouszaj9w", "Egljb21tdW5pdHm4")).to eq("4qmFsgIsEhhVQ0NqOTU2SUY2MkZiVDdHb3VzemFqOXcaEEVnbGpiMjF0ZFc1cGRIbTQ%3D")
diff --git a/spec/invidious/utils_spec.cr b/spec/invidious/utils_spec.cr
new file mode 100644
index 00000000..7c2c2711
--- /dev/null
+++ b/spec/invidious/utils_spec.cr
@@ -0,0 +1,46 @@
+require "../spec_helper"
+
+Spectator.describe "Utils" do
+ describe "decode_date" do
+ it "parses short dates (en-US)" do
+ expect(decode_date("1s ago")).to be_close(Time.utc - 1.second, 500.milliseconds)
+ expect(decode_date("2min ago")).to be_close(Time.utc - 2.minutes, 500.milliseconds)
+ expect(decode_date("3h ago")).to be_close(Time.utc - 3.hours, 500.milliseconds)
+ expect(decode_date("4d ago")).to be_close(Time.utc - 4.days, 500.milliseconds)
+ expect(decode_date("5w ago")).to be_close(Time.utc - 5.weeks, 500.milliseconds)
+ expect(decode_date("6mo ago")).to be_close(Time.utc - 6.months, 500.milliseconds)
+ expect(decode_date("7y ago")).to be_close(Time.utc - 7.years, 500.milliseconds)
+ end
+
+ it "parses short dates (en-GB)" do
+ expect(decode_date("55s ago")).to be_close(Time.utc - 55.seconds, 500.milliseconds)
+ expect(decode_date("44min ago")).to be_close(Time.utc - 44.minutes, 500.milliseconds)
+ expect(decode_date("22hr ago")).to be_close(Time.utc - 22.hours, 500.milliseconds)
+ expect(decode_date("1day ago")).to be_close(Time.utc - 1.day, 500.milliseconds)
+ expect(decode_date("2days ago")).to be_close(Time.utc - 2.days, 500.milliseconds)
+ expect(decode_date("3wk ago")).to be_close(Time.utc - 3.weeks, 500.milliseconds)
+ expect(decode_date("11mo ago")).to be_close(Time.utc - 11.months, 500.milliseconds)
+ expect(decode_date("11yr ago")).to be_close(Time.utc - 11.years, 500.milliseconds)
+ end
+
+ it "parses long forms (singular)" do
+ expect(decode_date("1 second ago")).to be_close(Time.utc - 1.second, 500.milliseconds)
+ expect(decode_date("1 minute ago")).to be_close(Time.utc - 1.minute, 500.milliseconds)
+ expect(decode_date("1 hour ago")).to be_close(Time.utc - 1.hour, 500.milliseconds)
+ expect(decode_date("1 day ago")).to be_close(Time.utc - 1.day, 500.milliseconds)
+ expect(decode_date("1 week ago")).to be_close(Time.utc - 1.week, 500.milliseconds)
+ expect(decode_date("1 month ago")).to be_close(Time.utc - 1.month, 500.milliseconds)
+ expect(decode_date("1 year ago")).to be_close(Time.utc - 1.year, 500.milliseconds)
+ end
+
+ it "parses long forms (plural)" do
+ expect(decode_date("5 seconds ago")).to be_close(Time.utc - 5.seconds, 500.milliseconds)
+ expect(decode_date("17 minutes ago")).to be_close(Time.utc - 17.minutes, 500.milliseconds)
+ expect(decode_date("23 hours ago")).to be_close(Time.utc - 23.hours, 500.milliseconds)
+ expect(decode_date("3 days ago")).to be_close(Time.utc - 3.days, 500.milliseconds)
+ expect(decode_date("2 weeks ago")).to be_close(Time.utc - 2.weeks, 500.milliseconds)
+ expect(decode_date("9 months ago")).to be_close(Time.utc - 9.months, 500.milliseconds)
+ expect(decode_date("8 years ago")).to be_close(Time.utc - 8.years, 500.milliseconds)
+ end
+ end
+end
diff --git a/spec/parsers_helper.cr b/spec/parsers_helper.cr
index bf05f9ec..6589acad 100644
--- a/spec/parsers_helper.cr
+++ b/spec/parsers_helper.cr
@@ -13,7 +13,7 @@ require "../src/invidious/helpers/utils"
require "../src/invidious/videos"
require "../src/invidious/videos/*"
-require "../src/invidious/comments"
+require "../src/invidious/comments/content"
require "../src/invidious/helpers/serialized_yt_data"
require "../src/invidious/yt_backend/extractors"
diff --git a/spec/spec_helper.cr b/spec/spec_helper.cr
index f8bfa718..b3060acf 100644
--- a/spec/spec_helper.cr
+++ b/spec/spec_helper.cr
@@ -7,7 +7,6 @@ require "../src/invidious/helpers/*"
require "../src/invidious/channels/*"
require "../src/invidious/videos/caption"
require "../src/invidious/videos"
-require "../src/invidious/comments"
require "../src/invidious/playlists"
require "../src/invidious/search/ctoken"
require "../src/invidious/trending"