Compose: Show 'search for username' by itself more often

This commit is contained in:
Scott Nonnenberg
2025-03-19 01:41:52 +10:00
committed by GitHub
parent 5e825e03ba
commit a3335929b3
4 changed files with 134 additions and 27 deletions

View File

@@ -9,12 +9,9 @@ describe('Username', () => {
describe('getUsernameFromSearch', () => {
const { getUsernameFromSearch } = Username;
it('matches invalid username searches', () => {
assert.isUndefined(getUsernameFromSearch('us'));
assert.isUndefined(getUsernameFromSearch('123'));
});
it('matches partial username searches without discriminator', () => {
assert.strictEqual(getUsernameFromSearch('u'), 'u.01');
assert.strictEqual(getUsernameFromSearch('us'), 'us.01');
assert.strictEqual(getUsernameFromSearch('use'), 'use.01');
assert.strictEqual(getUsernameFromSearch('use.'), 'use.01');
});
@@ -25,6 +22,11 @@ describe('Username', () => {
assert.strictEqual(getUsernameFromSearch('@user.01'), 'user.01');
});
it('adds a 1 if discriminator is one digit', () => {
assert.strictEqual(getUsernameFromSearch('@user.0'), 'user.01');
assert.strictEqual(getUsernameFromSearch('@user.2'), 'user.21');
});
it('matches valid username searches', () => {
assert.strictEqual(getUsernameFromSearch('username.12'), 'username.12');
assert.strictEqual(getUsernameFromSearch('xyz.568'), 'xyz.568');
@@ -37,4 +39,39 @@ describe('Username', () => {
assert.isUndefined(getUsernameFromSearch('+234234234233'));
});
});
describe('probablyAUsername', () => {
const { isProbablyAUsername: probablyAUsername } = Username;
it('returns true if it starts with @', () => {
assert.isTrue(probablyAUsername('@'));
assert.isTrue(probablyAUsername('@5551115555'));
assert.isTrue(probablyAUsername('@.324'));
});
it('returns true if it ends with a discriminator', () => {
assert.isTrue(probablyAUsername('someone.00'));
assert.isTrue(probablyAUsername('32423423.04'));
assert.isTrue(probablyAUsername('d.04'));
});
it('returns false if just a discriminator', () => {
assert.isFalse(probablyAUsername('.01'));
assert.isFalse(probablyAUsername('.99'));
});
it('returns false for normal searches', () => {
assert.isFalse(probablyAUsername('group'));
assert.isFalse(probablyAUsername('climbers'));
assert.isFalse(probablyAUsername('sarah'));
assert.isFalse(probablyAUsername('john'));
});
it('returns false for something that looks like a phone number', () => {
assert.isFalse(probablyAUsername('+'));
assert.isFalse(probablyAUsername('2223'));
assert.isFalse(probablyAUsername('+3'));
assert.isFalse(probablyAUsername('+234234234233'));
});
});
});