1
0
mirror of https://github.com/h3poteto/whalebird-desktop synced 2024-12-13 09:18:54 +01:00
Whalebird-desktop-client-ma.../test/mocha/validator.spec.js
2018-08-20 22:01:10 +09:00

64 lines
1.9 KiB
JavaScript

import assert from 'assert'
import { domainFormat } from '../../src/renderer/utils/validator'
describe('validator', () => {
describe('domainFormat', () => {
context('string contains protocol', () => {
const domain = 'https://mastodon.social'
it('should not match', () => {
const res = domain.search(domainFormat)
assert.strictEqual(res, -1)
})
})
context('string contains account name', () => {
const domain = 'h3_poteto@mastodon.social'
it('should not match', () => {
const res = domain.search(domainFormat)
assert.strictEqual(res, -1)
})
})
context('string is gTLD domain', () => {
const domain = 'mastodon.social'
it('should match', () => {
const res = domain.search(domainFormat)
assert.strictEqual(res, 0)
})
})
context('string is subdomain', () => {
const domain = 'music.mastodon.social'
it('should match', () => {
const res = domain.search(domainFormat)
assert.strictEqual(res, 0)
})
})
context('string is subdomain', () => {
const domain = 'social.tchncs.de'
it('should match', () => {
const res = domain.search(domainFormat)
assert.strictEqual(res, 0)
})
})
context('string is jp domain', () => {
const domain = 'mstdn.co.jp'
it('should match', () => {
const res = domain.search(domainFormat)
assert.strictEqual(res, 0)
})
})
context('string contains hyphone', () => {
const domain = 'music-mastodon.social'
it('should match', () => {
const res = domain.search(domainFormat)
assert.strictEqual(res, 0)
})
})
context('string is short domain', () => {
const domain = 'id.cc'
it('should match', () => {
const res = domain.search(domainFormat)
assert.strictEqual(res, 0)
})
})
})
})