1# frozen_string_literal: true
2
3require "test_helper"
4require "proxied_jid"
5
6class ProxiedJIDTest < Minitest::Test
7 def test_unproxied
8 jid = ProxiedJID.new(Blather::JID.new("test\\40example.com@example.net"))
9 assert_equal "test@example.com", jid.unproxied.to_s
10 end
11
12 def test_proxied
13 jid = ProxiedJID.proxy(Blather::JID.new("test@example.com"))
14 assert_equal "test\\40example.com@example.net", jid.to_s
15 end
16
17 def test_escape
18 jid = ProxiedJID.proxy(Blather::JID.new("test \"&'/:<>", "example.com"))
19 assert_equal(
20 "test\\20\\22\\26\\27\\2f\\3a\\3c\\3e\\40example.com@example.net",
21 jid.to_s
22 )
23 end
24
25 def test_backlash_necessary
26 jid = ProxiedJID.proxy(Blather::JID.new("moop\\27@example.com"))
27 assert_equal "moop\\5c27\\40example.com@example.net", jid.to_s
28 end
29
30 def test_backslash_unnecessary
31 jid = ProxiedJID.proxy(Blather::JID.new("moop\\things@example.com"))
32 assert_equal "moop\\things\\40example.com@example.net", jid.to_s
33 end
34end