forked from cadence/out-of-your-element
username sanitisation for registration
This commit is contained in:
parent
48c2ef76f5
commit
7ee04d085f
8 changed files with 402 additions and 2350 deletions
33
d2m/converters/user-to-mxid.test.js
Normal file
33
d2m/converters/user-to-mxid.test.js
Normal file
|
@ -0,0 +1,33 @@
|
|||
const {test} = require("supertape")
|
||||
const tryToCatch = require("try-to-catch")
|
||||
const assert = require("assert")
|
||||
const {userToSimName} = require("./user-to-mxid")
|
||||
|
||||
test("user2name: cannot create user for a webhook", async t => {
|
||||
const [error] = await tryToCatch(() => userToSimName({discriminator: "0000"}))
|
||||
t.ok(error instanceof assert.AssertionError, error.message)
|
||||
})
|
||||
|
||||
test("user2name: works on normal name", t => {
|
||||
t.equal(userToSimName({username: "Harry Styles!", discriminator: "0001"}), "harry_styles")
|
||||
})
|
||||
|
||||
test("user2name: works on emojis", t => {
|
||||
t.equal(userToSimName({username: "Cookie 🍪", discriminator: "0001"}), "cookie")
|
||||
})
|
||||
|
||||
test("user2name: works on crazy name", t => {
|
||||
t.equal(userToSimName({username: "*** D3 &W (89) _7//-", discriminator: "0001"}), "d3_w_89__7//")
|
||||
})
|
||||
|
||||
test("user2name: adds discriminator if name is unavailable (old tag format)", t => {
|
||||
t.equal(userToSimName({username: "BOT$", discriminator: "1234"}), "bot1234")
|
||||
})
|
||||
|
||||
test("user2name: adds number suffix if name is unavailable (new username format)", t => {
|
||||
t.equal(userToSimName({username: "bot", discriminator: "0"}), "bot2")
|
||||
})
|
||||
|
||||
test("user2name: uses ID if name becomes too short", t => {
|
||||
t.equal(userToSimName({username: "f***", discriminator: "0001", id: "9"}), "9")
|
||||
})
|
Loading…
Add table
Add a link
Reference in a new issue