maddy

Fork https://github.com/foxcpp/maddy

git clone git://git.lin.moe/go/maddy.git

 1/*
 2Maddy Mail Server - Composable all-in-one email server.
 3Copyright © 2019-2020 Max Mazurov <fox.cpp@disroot.org>, Maddy Mail Server contributors
 4
 5This program is free software: you can redistribute it and/or modify
 6it under the terms of the GNU General Public License as published by
 7the Free Software Foundation, either version 3 of the License, or
 8(at your option) any later version.
 9
10This program is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13GNU General Public License for more details.
14
15You should have received a copy of the GNU General Public License
16along with this program.  If not, see <https://www.gnu.org/licenses/>.
17*/
18
19package address
20
21import (
22	"strings"
23	"testing"
24)
25
26func TestToASCII(t *testing.T) {
27	test := addrFuncTest(t, ToASCII)
28	test("test@тест.example.org", "test@xn--e1aybc.example.org", false)
29	test("test@org."+strings.Repeat("x", 65535)+"\uFF00", "test@org."+strings.Repeat("x", 65535)+"\uFF00", true)
30	test("тест@example.org", "тест@example.org", true)
31	test("postmaster", "postmaster", false)
32	test("postmaster@", "postmaster@", true)
33}
34
35func TestToUnicode(t *testing.T) {
36	test := addrFuncTest(t, ToUnicode)
37	test("test@xn--e1aybc.example.org", "test@тест.example.org", false)
38	test("test@xn--9999999999999999999a.org", "test@xn--9999999999999999999a.org", true)
39	test("postmaster", "postmaster", false)
40	test("postmaster@", "postmaster@", true)
41}