Skip to content

Commit

Permalink
fix(instagram): detect Instagram story URLs
Browse files Browse the repository at this point in the history
  • Loading branch information
rgueldenpfennig committed Jan 24, 2025
1 parent 40345f7 commit eadff9a
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 2 deletions.
2 changes: 1 addition & 1 deletion src/Squidlr/Instagram/Utilities/UrlUtilities.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ namespace Squidlr.Instagram.Utilities;

public static partial class UrlUtilities
{
[GeneratedRegex(@"^https?:\/\/(www\.)?instagram\.com\/(\S+)?(p|tv|reel)\/(?<id>[a-zA-Z0-9_-]+).*?", RegexOptions.IgnoreCase)]
[GeneratedRegex(@"^https?:\/\/[www\.]*instagram\.com\/[\S]*[p|tv|reel|stories]{1}[\/\S]?\/(?<id>[a-zA-Z0-9_-]+).*?", RegexOptions.IgnoreCase)]
private static partial Regex InstagramUrlRegex();

public static bool TryGetInstagramIdentifier(string url, [NotNullWhen(true)] out InstagramIdentifier? identifier)
Expand Down
5 changes: 4 additions & 1 deletion test/Squidlr.Tests/Instagram/Utilities/UrlUtilitiesTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@ public class UrlUtilitiesTests
[InlineData("https://www.instagram.com/p/BQ0eAlwhDrw/", true)]
[InlineData("https://www.instagram.com/tv/BkfuX9UB-eK/", true)]
[InlineData("http://instagram.com/p/9o6LshA7zy/embed/", true)]
[InlineData("https://www.instagram.com/stories/highlights/18090946048123978/", false)] // TODO: Support Instagram story URLs
[InlineData("https://www.instagram.com/stories/highlights/18090946048123978/", true)]
[InlineData("https://www.instagram.com/stories/padre_arturo_cornejo/3551300174632422452?utm_source=ig_story_item_share&igsh=M3FtcXYydWNjM2Rr", true)]
[InlineData("https://www.instagram.com/marvelskies.fc/reel/CWqAgUZgCku/", true)]
[InlineData("https://www.instagram.com/marvelskies.fc/abc/CWqAgUZgCku/", false)]
[InlineData("https://example.com/foo/1152128691131318273/", false)]
Expand All @@ -31,6 +32,8 @@ public void IsValidInstagramUrl(string url, bool expectedResult)
[InlineData("https://www.instagram.com/p/BQ0eAlwhDrw/", "BQ0eAlwhDrw", "https://www.instagram.com/p/BQ0eAlwhDrw")]
[InlineData("https://www.instagram.com/tv/BkfuX9UB-eK/", "BkfuX9UB-eK", "https://www.instagram.com/tv/BkfuX9UB-eK")]
[InlineData("http://instagram.com/p/9o6LshA7zy/embed/", "9o6LshA7zy", "http://instagram.com/p/9o6LshA7zy")]
[InlineData("https://www.instagram.com/stories/highlights/18090946048123978/", "18090946048123978", "https://www.instagram.com/stories/highlights/18090946048123978")]
[InlineData("https://www.instagram.com/stories/padre_arturo_cornejo/3551300174632422452?utm_source=ig_story_item_share&igsh=M3FtcXYydWNjM2Rr", "3551300174632422452", "https://www.instagram.com/stories/padre_arturo_cornejo/3551300174632422452")]
public void GetInstagramIdentifier(string url, string expectedId, string expectedUrl)
{
// Act
Expand Down

0 comments on commit eadff9a

Please sign in to comment.