Skip to content

Commit 0c3de71

Browse files
committed
Added Whatsapp convenience function (phone cleanup) + tests
1 parent f75026e commit 0c3de71

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

QRCoder/PayloadGenerator.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,8 @@ public WhatsAppMessage(string message)
354354

355355
public override string ToString()
356356
{
357-
return ($"https://wa.me/{this.number}?text={Uri.EscapeDataString(message)}");
357+
var cleanedPhone = Regex.Replace(this.number, @"^[0+]+|[ ()-]", string.Empty);
358+
return ($"https://wa.me/{cleanedPhone}?text={Uri.EscapeDataString(message)}");
358359
}
359360
}
360361

QRCoderTests/PayloadGeneratorTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2923,13 +2923,13 @@ public void contactdata_generator_can_generate_payload_full_vcard4_reverse()
29232923
[Category("PayloadGenerator/WhatsAppMessage")]
29242924
public void whatsapp_generator_can_generate_payload_simple()
29252925
{
2926-
var number = "01601234567";
2926+
var number = "491601234567";
29272927
var msg = "This is a sample message with Umlauts: Ä,ö, ü and ß.";
29282928
var generator = new PayloadGenerator.WhatsAppMessage(number, msg);
29292929

29302930
generator
29312931
.ToString()
2932-
.ShouldBe("whatsapp://send?phone=01601234567&text=This%20is%20a%20sample%20message%20with%20Umlauts%3A%20%C3%84%2C%C3%B6%2C%20%C3%BC%20and%20%C3%9F.");
2932+
.ShouldBe("https://wa.me/491601234567?text=This%20is%20a%20sample%20message%20with%20Umlauts%3A%20%C3%84%2C%C3%B6%2C%20%C3%BC%20and%20%C3%9F.");
29332933
}
29342934

29352935
[Fact]
@@ -2941,7 +2941,7 @@ public void whatsapp_should_add_unused_params()
29412941

29422942
generator
29432943
.ToString()
2944-
.ShouldBe("whatsapp://send?phone=&text=This%20is%20a%20sample%20message%20with%20Umlauts%3A%20%C3%84%2C%C3%B6%2C%20%C3%BC%20and%20%C3%9F.");
2944+
.ShouldBe("https://wa.me/?text=This%20is%20a%20sample%20message%20with%20Umlauts%3A%20%C3%84%2C%C3%B6%2C%20%C3%BC%20and%20%C3%9F.");
29452945
}
29462946

29472947
[Fact]

0 commit comments

Comments
 (0)