mirror of
https://github.com/fluencelabs/js-mafmt
synced 2025-08-01 03:22:16 +00:00
Use dignified.js
This commit is contained in:
95
test/index.spec.js
Normal file
95
test/index.spec.js
Normal file
@@ -0,0 +1,95 @@
|
||||
/* eslint-env mocha */
|
||||
'use strict'
|
||||
|
||||
var expect = require('chai').expect
|
||||
var mafmt = require('./../src')
|
||||
|
||||
describe('multiaddr validation', function () {
|
||||
it('basic stuff works', function () {
|
||||
var good_ip = [
|
||||
'/ip4/0.0.0.0',
|
||||
'/ip6/fc00::'
|
||||
]
|
||||
|
||||
var bad_ip = [
|
||||
'/ip4/0.0.0.0/tcp/555',
|
||||
'/udp/789/ip6/fc00::'
|
||||
]
|
||||
|
||||
var good_tcp = [
|
||||
'/ip4/0.0.7.6/tcp/1234',
|
||||
'/ip6/::/tcp/0'
|
||||
]
|
||||
|
||||
var bad_tcp = [
|
||||
'/tcp/12345',
|
||||
'/ip6/fc00::/udp/5523/tcp/9543'
|
||||
]
|
||||
|
||||
var good_udp = [
|
||||
'/ip4/0.0.7.6/udp/1234',
|
||||
'/ip6/::/udp/0'
|
||||
]
|
||||
|
||||
var bad_udp = [
|
||||
'/udp/12345',
|
||||
'/ip6/fc00::/tcp/5523/udp/9543'
|
||||
]
|
||||
|
||||
var good_utp = [
|
||||
'/ip4/1.2.3.4/udp/3456/utp',
|
||||
'/ip6/::/udp/0/utp'
|
||||
]
|
||||
|
||||
var bad_utp = [
|
||||
'/ip4/0.0.0.0/tcp/12345/utp',
|
||||
'/ip6/::/ip4/0.0.0.0/udp/1234/utp'
|
||||
]
|
||||
|
||||
var good_websockets = [
|
||||
'/ip4/1.2.3.4/tcp/3456/websockets',
|
||||
'/ip6/::/tcp/0/websockets'
|
||||
]
|
||||
|
||||
var bad_websockets = [
|
||||
'/ip4/0.0.0.0/tcp/12345/udp/2222/websockets',
|
||||
'/ip6/::/ip4/0.0.0.0/udp/1234/websockets'
|
||||
]
|
||||
|
||||
function assertMatches (p) {
|
||||
var tests = Array.from(arguments).slice(1)
|
||||
tests.forEach(function (test) {
|
||||
test.forEach(function (testcase) {
|
||||
expect(p.matches(testcase)).to.be.eql(true)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
function assertMismatches (p) {
|
||||
var tests = Array.from(arguments).slice(1)
|
||||
tests.forEach(function (test) {
|
||||
test.forEach(function (testcase) {
|
||||
expect(p.matches(testcase)).to.be.eql(false)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
assertMatches(mafmt.IP, good_ip)
|
||||
assertMismatches(mafmt.IP, bad_ip, good_tcp)
|
||||
|
||||
assertMatches(mafmt.TCP, good_tcp)
|
||||
assertMismatches(mafmt.TCP, bad_tcp, good_ip)
|
||||
|
||||
assertMatches(mafmt.UDP, good_udp)
|
||||
assertMismatches(mafmt.UDP, bad_udp, good_ip, good_tcp, good_utp)
|
||||
|
||||
assertMatches(mafmt.UTP, good_utp)
|
||||
assertMismatches(mafmt.UTP, bad_utp, good_ip, good_tcp, good_udp)
|
||||
|
||||
assertMatches(mafmt.Reliable, good_utp, good_tcp)
|
||||
assertMismatches(mafmt.Reliable, good_ip, good_udp)
|
||||
|
||||
assertMatches(mafmt.WebSockets, good_websockets)
|
||||
assertMismatches(mafmt.WebSockets, good_ip, good_udp, bad_websockets)
|
||||
})
|
||||
})
|
Reference in New Issue
Block a user