github-actions: 运行单元测试
parent
85f7b1aea0
commit
f62d1a3ad6
|
@ -101,6 +101,16 @@ jobs:
|
|||
echo "--------------------";
|
||||
pnpm install;
|
||||
|
||||
- name: 'test packages/core'
|
||||
run: |
|
||||
cd packages/core;
|
||||
pnpm run test;
|
||||
|
||||
- name: 'test packages/mitmproxy'
|
||||
run: |
|
||||
cd packages/mitmproxy;
|
||||
pnpm run test;
|
||||
|
||||
- name: 'npm run electron:build'
|
||||
run: |
|
||||
echo "======================================================================";
|
||||
|
|
|
@ -104,6 +104,16 @@ jobs:
|
|||
echo "--------------------";
|
||||
pnpm install;
|
||||
|
||||
- name: 'test packages/core'
|
||||
run: |
|
||||
cd packages/core;
|
||||
pnpm run test;
|
||||
|
||||
- name: 'test packages/mitmproxy'
|
||||
run: |
|
||||
cd packages/mitmproxy;
|
||||
pnpm run test;
|
||||
|
||||
- name: 'npm run electron:build'
|
||||
run: |
|
||||
echo "======================================================================";
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
node -v
|
||||
|
||||
# 安装ncu
|
||||
# npm install -g npm-check-updates
|
||||
|
||||
cd ../packages/core
|
||||
ncu -u
|
||||
|
||||
cd ../gui
|
||||
ncu -u
|
||||
# cd ../packages/gui
|
||||
# ncu -u
|
||||
|
||||
cd ../mitmproxy
|
||||
ncu -u
|
||||
# cd ../packages/mitmproxy
|
||||
# ncu -u
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
cd ../
|
||||
|
||||
node -v
|
||||
|
||||
cd ../
|
||||
npm install -g pnpm --registry=https://registry.npmmirror.com
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
cd ../
|
||||
|
||||
chcp 65001
|
||||
|
||||
node -v
|
||||
|
||||
cd ../
|
||||
chcp 65001
|
||||
pnpm install
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
cd ../packages/gui
|
||||
|
||||
chcp 65001
|
||||
|
||||
node -v
|
||||
|
||||
cd ../packages/gui
|
||||
chcp 65001
|
||||
npm run electron
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
cd ../packages/gui
|
||||
|
||||
node -v
|
||||
|
||||
cd ../packages/gui
|
||||
|
||||
if not exist "dist_electron" mkdir "dist_electron"
|
||||
start dist_electron
|
||||
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
cd ../packages/core
|
||||
|
||||
node -v
|
||||
|
||||
cd ../packages/core
|
||||
pnpm run test
|
|
@ -0,0 +1,4 @@
|
|||
node -v
|
||||
|
||||
cd ../packages/mitmproxy
|
||||
pnpm run test
|
|
@ -1,41 +1,41 @@
|
|||
const https = require('node:https')
|
||||
|
||||
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '1'
|
||||
|
||||
function request () {
|
||||
return new Promise((resolve, reject) => {
|
||||
const options = {
|
||||
hostname: 'test1.gagedigital.com',
|
||||
port: 443,
|
||||
path: '/ssltest.php',
|
||||
method: 'GET',
|
||||
rejectUnauthorized: true,
|
||||
}
|
||||
console.log('ssl test: gagedigital')
|
||||
const req = https.request(options, (res) => {
|
||||
console.log('statusCode:', res.statusCode)
|
||||
console.log('headers:', res.headers)
|
||||
|
||||
res.on('data', (d) => {
|
||||
process.stdout.write(d)
|
||||
resolve()
|
||||
})
|
||||
})
|
||||
|
||||
req.on('error', (e) => {
|
||||
console.error(e)
|
||||
reject(e)
|
||||
})
|
||||
req.end()
|
||||
})
|
||||
}
|
||||
// eslint-disable-next-line no-undef
|
||||
describe('ssl.verify', () => {
|
||||
// eslint-disable-next-line no-undef
|
||||
it('regex.test.js', async () => {
|
||||
// https.request('https://test1.gagedigital.com/ssltest.php')
|
||||
await request()
|
||||
|
||||
// expect(ret).be.ok
|
||||
})
|
||||
})
|
||||
// const https = require('node:https')
|
||||
//
|
||||
// process.env.NODE_TLS_REJECT_UNAUTHORIZED = '1'
|
||||
//
|
||||
// function request () {
|
||||
// return new Promise((resolve, reject) => {
|
||||
// const options = {
|
||||
// hostname: 'test1.gagedigital.com',
|
||||
// port: 443,
|
||||
// path: '/ssltest.php',
|
||||
// method: 'GET',
|
||||
// rejectUnauthorized: true,
|
||||
// }
|
||||
// console.log('ssl test: gagedigital')
|
||||
// const req = https.request(options, (res) => {
|
||||
// console.log('statusCode:', res.statusCode)
|
||||
// console.log('headers:', res.headers)
|
||||
//
|
||||
// res.on('data', (d) => {
|
||||
// process.stdout.write(d)
|
||||
// resolve()
|
||||
// })
|
||||
// })
|
||||
//
|
||||
// req.on('error', (e) => {
|
||||
// console.error(e)
|
||||
// reject(e)
|
||||
// })
|
||||
// req.end()
|
||||
// })
|
||||
// }
|
||||
// // eslint-disable-next-line no-undef
|
||||
// describe('ssl.verify', () => {
|
||||
// // eslint-disable-next-line no-undef
|
||||
// it('regex.test.js', async () => {
|
||||
// // https.request('https://test1.gagedigital.com/ssltest.php')
|
||||
// await request()
|
||||
//
|
||||
// // expect(ret).be.ok
|
||||
// })
|
||||
// })
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
const assert = require('node:assert')
|
||||
|
||||
// const childProcess = require('child_process')
|
||||
// const util = require('util')
|
||||
// const exec = util.promisify(childProcess.exec)
|
||||
|
@ -14,3 +16,4 @@
|
|||
let wifiAdaptor = '(151) test'
|
||||
wifiAdaptor = wifiAdaptor.substring(wifiAdaptor.indexOf(' ')).trim()
|
||||
console.log(wifiAdaptor)
|
||||
assert.strictEqual(wifiAdaptor, 'test')
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
const assert = require('node:assert')
|
||||
const lodash = require('lodash')
|
||||
const mergeApi = require('../src/merge.js')
|
||||
|
||||
|
@ -84,5 +85,8 @@ const doMergeExpect = {
|
|||
f: {},
|
||||
g: [1, 2],
|
||||
}
|
||||
console.log('check merge result:', lodash.isEqual(doMergeResult, doMergeExpect))
|
||||
|
||||
const result = lodash.isEqual(doMergeResult, doMergeExpect)
|
||||
console.log('check merge result:', result)
|
||||
console.log('\r')
|
||||
assert.strictEqual(result, true)
|
||||
|
|
|
@ -1,12 +1,15 @@
|
|||
const assert = require('node:assert')
|
||||
const expect = require('chai').expect
|
||||
// eslint-disable-next-line no-undef
|
||||
describe('test', () => {
|
||||
// eslint-disable-next-line no-undef
|
||||
it('regexp', () => {
|
||||
const test = '^/[^/]+/[^/]+(/releases(/.*)?)?$'
|
||||
const test = '^/[^/]+/[^/]+(?:/releases(?:/.*)?)?$'
|
||||
const reg = new RegExp(test)
|
||||
|
||||
const ret = reg.test('/docmirror/dev-sidecar/releases/tag')
|
||||
console.log(ret)
|
||||
assert.strictEqual(ret, true)
|
||||
|
||||
expect(ret).be.ok
|
||||
})
|
||||
|
|
|
@ -9,7 +9,9 @@
|
|||
"dev-sidecar"
|
||||
],
|
||||
"main": "src/index.js",
|
||||
"scripts": {},
|
||||
"scripts": {
|
||||
"test": "mocha"
|
||||
},
|
||||
"dependencies": {
|
||||
"@docmirror/dev-sidecar": "workspace:*",
|
||||
"agentkeepalive": "^4.5.0",
|
||||
|
|
|
@ -37,16 +37,16 @@ function createPacClient (pacFilePath) {
|
|||
const __RULES__ = getRules(pacFilePath)
|
||||
|
||||
/* eslint-disable */
|
||||
// Was generated by gfwlist2pac in precise mode
|
||||
// https://github.com/clowwindy/gfwlist2pac
|
||||
// Was generated by gfwlist2pac in precise mode
|
||||
// https://github.com/clowwindy/gfwlist2pac
|
||||
|
||||
// 2019-10-06: More 'javascript' way to interaction with main program
|
||||
// 2019-02-08: Updated to support shadowsocks-windows user rules.
|
||||
// 2019-10-06: More 'javascript' way to interaction with main program
|
||||
// 2019-02-08: Updated to support shadowsocks-windows user rules.
|
||||
|
||||
const proxy = __PROXY__
|
||||
const rules = []
|
||||
|
||||
// convert to abp grammar
|
||||
// convert to abp grammar
|
||||
for (let i = 0; i < __RULES__.length; i++) {
|
||||
let s = __RULES__[i]
|
||||
if (s.substring(0, 2) === "||") s += "^"
|
||||
|
@ -669,7 +669,8 @@ function createPacClient (pacFilePath) {
|
|||
|
||||
|
||||
return {
|
||||
FindProxyForURL
|
||||
FindProxyForURL,
|
||||
proxyUrl: __PROXY__
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -33,6 +33,6 @@ const dnsMap = dns.initDNS({
|
|||
SpeedTest.initSpeedTest({ hostnameList: {}, dnsMap })
|
||||
|
||||
const tester = new SpeedTester({ hostname: 'github.com' })
|
||||
tester.test().then((ret) => {
|
||||
console.log(tester.alive)
|
||||
tester.test().then(() => {
|
||||
console.log('github.com tester.alive = ', tester.alive)
|
||||
})
|
||||
|
|
|
@ -42,7 +42,6 @@ const dnsProviders = dns.initDNS({
|
|||
// server: ' https://dns.adguard.com/dns-query',
|
||||
// cacheSize: 1000
|
||||
// }
|
||||
|
||||
})
|
||||
|
||||
// const test = '111<tr><th>IP Address</th><td><ul class="comma-separated"><li>140.82.113.4</li></ul></td></tr>2222'
|
||||
|
@ -52,26 +51,34 @@ const dnsProviders = dns.initDNS({
|
|||
// const matched = regexp.exec(test)
|
||||
// console.log('data:', matched)
|
||||
|
||||
const hostname0 = 'github.com'
|
||||
// console.log('first')
|
||||
// dnsProviders.cloudflare.lookup(hostname0)
|
||||
console.log('test')
|
||||
dnsProviders.py233.lookup(hostname0)
|
||||
// dnsProviders.cloudflare.lookup(hostname0)
|
||||
// dnsProviders.ipaddress.lookup(hostname0)
|
||||
// dnsProviders.ipaddress.lookup(hostname0)
|
||||
const hostname1 = 'github.com'
|
||||
const hostname2 = 'api.github.com'
|
||||
const hostname3 = 'hk.docmirror.cn'
|
||||
const hostname4 = 'github.docmirror.cn'
|
||||
const hostname5 = 'gh.docmirror.top'
|
||||
const hostname6 = 'gh2.docmirror.top'
|
||||
|
||||
// const hostname = 'api.github.com'
|
||||
// dnsProviders.cloudflare.lookup(hostname)
|
||||
let ip
|
||||
|
||||
// const hostname1 = 'api.github.com'
|
||||
// dnsProviders.cloudflare.lookup(hostname1)
|
||||
//
|
||||
// const hostname2 = 'hk.docmirror.cn'
|
||||
// dnsProviders.cloudflare.lookup(hostname2)
|
||||
// const hostname3 = 'github.docmirror.cn'
|
||||
// dnsProviders.cloudflare.lookup(hostname3)
|
||||
// const hostname4 = 'gh.docmirror.top'
|
||||
// dnsProviders.cloudflare.lookup(hostname4)
|
||||
// const hostname5 = 'gh2.docmirror.top'
|
||||
// dnsProviders.cloudflare.lookup(hostname5)
|
||||
|
||||
// console.log('test cloudflare')
|
||||
// ip = await dnsProviders.cloudflare.lookup(hostname1)
|
||||
// console.log('ip:', ip)
|
||||
// ip = await dnsProviders.cloudflare.lookup(hostname2)
|
||||
// console.log('ip:', ip)
|
||||
// ip = await dnsProviders.cloudflare.lookup(hostname3)
|
||||
// console.log('ip:', ip)
|
||||
// ip = await dnsProviders.cloudflare.lookup(hostname4)
|
||||
// console.log('ip:', ip)
|
||||
// ip = await dnsProviders.cloudflare.lookup(hostname5)
|
||||
// console.log('ip:', ip)
|
||||
// ip = await dnsProviders.cloudflare.lookup(hostname6)
|
||||
// console.log('ip:', ip)
|
||||
|
||||
// console.log('test py233')
|
||||
// ip = await dnsProviders.py233.lookup(hostname1)
|
||||
// console.log('ip:', ip)
|
||||
|
||||
// console.log('test ipaddress')
|
||||
// ip = await dnsProviders.ipaddress.lookup(hostname0)
|
||||
// console.log('ip:', ip)
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
const monkey = require('../../../src/lib/monkey')
|
||||
|
||||
const scripts = monkey.load()
|
||||
console.log(scripts[0])
|
|
@ -1,10 +1,14 @@
|
|||
const assert = require('node:assert')
|
||||
|
||||
const name = '/docmirror/dev-sidecar/raw/master/doc/index.png'
|
||||
// https://raw.fastgit.org/docmirror/dev-sidecar/master/doc/index.png
|
||||
const ret = name.replace(/^(.+)\/raw\/(.+)$/, 'raw.fastgit.org$1/$2')
|
||||
console.log(ret)
|
||||
assert.strictEqual(ret, 'raw.fastgit.org/docmirror/dev-sidecar/master/doc/index.png')
|
||||
|
||||
const reg = new RegExp('^/[^/]+/[^/]+$')
|
||||
const reg = /^\/[^/]+\/[^/]+$/
|
||||
console.log('/greper/d2-crud-plus/blob/master/.eslintignore'.match(reg))
|
||||
assert.strictEqual('/greper/d2-crud-plus/blob/master/.eslintignore'.match(reg), null)
|
||||
|
||||
const chunk = Buffer.from('<head></head>')
|
||||
const script = '<script>a</script>'
|
||||
|
@ -15,6 +19,12 @@ chunk.copy(chunkNew, 0, 0, index)
|
|||
scriptBuf.copy(chunkNew, index, 0)
|
||||
chunk.copy(chunkNew, index + scriptBuf.length, index)
|
||||
console.log(chunkNew.toString())
|
||||
assert.strictEqual(chunkNew.toString(), '<head><script>a</script></head>')
|
||||
|
||||
const reg2 = '/aaaa/i'
|
||||
console.log(new RegExp(reg2).test('aaaa'))
|
||||
const reg2 = /aaaa/i
|
||||
console.log(reg2.test('aaaa')) // true
|
||||
assert.strictEqual(reg2.test('aaaa'), true)
|
||||
|
||||
const reg3 = '/aaaa/i'
|
||||
console.log(new RegExp(reg3).test('aaaa')) // false
|
||||
assert.strictEqual(new RegExp(reg3).test('aaaa'), false)
|
||||
|
|
|
@ -64,9 +64,9 @@ assert.strictEqual(value41, undefined)
|
|||
assert.strictEqual(value42, true)
|
||||
assert.strictEqual(value43, true)
|
||||
|
||||
const value51 = matchUtil.matchHostname(hostMap, 'eee.cn', 'test5.1')
|
||||
const value52 = matchUtil.matchHostname(hostMap, 'x.eee.cn', 'test5.2')
|
||||
const value53 = matchUtil.matchHostname(hostMap, 'aaaa.cnet.com', 'test5.3')
|
||||
const value51 = matchUtil.matchHostname(hostMap, 'zzz.cn', 'test5.1')
|
||||
const value52 = matchUtil.matchHostname(hostMap, 'x.zzz.cn', 'test5.2')
|
||||
const value53 = matchUtil.matchHostname(hostMap, 'zzz.cnet.com', 'test5.3')
|
||||
console.log('test5: *.cn')
|
||||
assert.strictEqual(value51, true)
|
||||
assert.strictEqual(value52, true)
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
const assert = require('node:assert')
|
||||
const monkey = require('../src/lib/monkey')
|
||||
|
||||
let scripts
|
||||
try {
|
||||
scripts = monkey.load('../gui/extra/scripts/') // 相对于 mitmproxy 目录的相对路径,而不是当前 test 目录的。
|
||||
} catch {
|
||||
scripts = monkey.load('../../gui/extra/scripts/') // 相对于 当前 test 目录的相对路径
|
||||
}
|
||||
|
||||
// console.log(scripts)
|
||||
assert.strictEqual(scripts.github != null, true)
|
||||
assert.strictEqual(scripts.google != null, true)
|
||||
assert.strictEqual(scripts.tampermonkey != null, true)
|
|
@ -1,7 +1,12 @@
|
|||
const pac = require('../src/lib/proxy/middleware/source/pac').createPacClient('../../gui/extra/pac/pac.txt')
|
||||
const assert = require('node:assert')
|
||||
const pac = require('../src/lib/proxy/middleware/source/pac')
|
||||
|
||||
const string = pac.FindProxyForURL('https://www.facebook.com', 'www.facebook.com')
|
||||
console.log(string)
|
||||
const pacClient = pac.createPacClient('../gui/extra/pac/pac.txt') // 相对于 mitmproxy 目录的相对路径,而不是当前 test 目录的。
|
||||
|
||||
const string2 = pac.FindProxyForURL('https://http2.golang.org', 'http2.golang.org')
|
||||
console.log(string2)
|
||||
const string = pacClient.FindProxyForURL('https://www.facebook.com', 'www.facebook.com')
|
||||
console.log(`facebook: ${string}`)
|
||||
assert.strictEqual(string, pacClient.proxyUrl)
|
||||
|
||||
const string2 = pacClient.FindProxyForURL('https://http2.golang.org', 'http2.golang.org')
|
||||
console.log(`golang: ${string2}`)
|
||||
assert.strictEqual(string2, 'DIRECT;')
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
const http = require('node:http')
|
||||
|
||||
const options = {
|
||||
headers: {
|
||||
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36',
|
||||
},
|
||||
lookup (hostname, options, callback) {
|
||||
const ip = '106.52.191.148'
|
||||
console.log('lookup')
|
||||
callback(null, ip, 4)
|
||||
},
|
||||
}
|
||||
|
||||
const request = http.get('http://test.target/', options, (response) => {
|
||||
response.on('data', (data) => {
|
||||
process.stdout.write(data)
|
||||
})
|
||||
})
|
||||
|
||||
request.on('error', (error) => {
|
||||
console.log(error)
|
||||
})
|
||||
// const http = require('node:http')
|
||||
//
|
||||
// const options = {
|
||||
// headers: {
|
||||
// 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36',
|
||||
// },
|
||||
// lookup (hostname, options, callback) {
|
||||
// const ip = '106.52.191.148'
|
||||
// console.log('lookup')
|
||||
// callback(null, ip, 4)
|
||||
// },
|
||||
// }
|
||||
//
|
||||
// const request = http.get('http://test.target/', options, (response) => {
|
||||
// response.on('data', (data) => {
|
||||
// process.stdout.write(data)
|
||||
// })
|
||||
// })
|
||||
//
|
||||
// request.on('error', (error) => {
|
||||
// console.log(error)
|
||||
// })
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
const responseReplace = require('../../../../../src/lib/interceptor/impl/res/responseReplace')
|
||||
const assert = require('node:assert')
|
||||
const responseReplace = require('../src/lib/interceptor/impl/res/responseReplace')
|
||||
|
||||
const headers = {}
|
||||
const res = {
|
||||
|
@ -29,3 +30,19 @@ const result = responseReplace.replaceResponseHeaders(newHeaders, res, proxyRes)
|
|||
console.log(proxyRes.rawHeaders)
|
||||
console.log(headers)
|
||||
console.log(result)
|
||||
|
||||
assert.deepStrictEqual(proxyRes.rawHeaders, [
|
||||
'Content-Type', 'application/json; charset=utf-8',
|
||||
'Content-Length', '3',
|
||||
'ETag', 'W/"2"',
|
||||
'Date', '',
|
||||
'Connection', 'keep-alive'
|
||||
])
|
||||
assert.deepStrictEqual(headers, {
|
||||
xxx: 1,
|
||||
})
|
||||
assert.deepStrictEqual(result, {
|
||||
'content-length': '2',
|
||||
'date': 'Thu, 01 Jan 1970 00:00:00 GMT',
|
||||
'xxx': null,
|
||||
})
|
|
@ -1,49 +1,50 @@
|
|||
const assert = require('node:assert')
|
||||
const util = require('../src/lib/proxy/common/util')
|
||||
|
||||
let arr
|
||||
|
||||
arr = util.parseHostnameAndPort('www.baidu.com')
|
||||
console.log(arr)
|
||||
console.log(arr.length === 1) // true
|
||||
console.log(arr[0] === 'www.baidu.com') // true
|
||||
console.log('arr1:', arr)
|
||||
assert.strictEqual(arr.length === 1, true) // true
|
||||
assert.strictEqual(arr[0] === 'www.baidu.com', true) // true
|
||||
|
||||
arr = util.parseHostnameAndPort('www.baidu.com', 80)
|
||||
console.log(arr)
|
||||
console.log(arr.length === 2) // true
|
||||
console.log(arr[0] === 'www.baidu.com') // true
|
||||
console.log(arr[1] === 80) // true
|
||||
console.log('arr2:', arr)
|
||||
assert.strictEqual(arr.length === 2, true) // true
|
||||
assert.strictEqual(arr[0] === 'www.baidu.com', true) // true
|
||||
assert.strictEqual(arr[1] === 80, true) // true
|
||||
|
||||
arr = util.parseHostnameAndPort('www.baidu.com:8080')
|
||||
console.log(arr)
|
||||
console.log(arr.length === 2) // true
|
||||
console.log(arr[0] === 'www.baidu.com') // true
|
||||
console.log(arr[1] === 8080) // true
|
||||
console.log('arr3:', arr)
|
||||
assert.strictEqual(arr.length === 2, true) // true
|
||||
assert.strictEqual(arr[0] === 'www.baidu.com', true) // true
|
||||
assert.strictEqual(arr[1] === 8080, true) // true
|
||||
|
||||
arr = util.parseHostnameAndPort('www.baidu.com:8080', 8080)
|
||||
console.log(arr)
|
||||
console.log(arr.length === 2) // true
|
||||
console.log(arr[0] === 'www.baidu.com') // true
|
||||
console.log(arr[1] === 8080) // true
|
||||
console.log('arr4:', arr)
|
||||
assert.strictEqual(arr.length === 2, true) // true
|
||||
assert.strictEqual(arr[0] === 'www.baidu.com', true) // true
|
||||
assert.strictEqual(arr[1] === 8080, true) // true
|
||||
|
||||
arr = util.parseHostnameAndPort('[2001:abcd::1]')
|
||||
console.log(arr)
|
||||
console.log(arr.length === 1) // true
|
||||
console.log(arr[0] === '[2001:abcd::1]') // ture
|
||||
console.log('arr5:', arr)
|
||||
assert.strictEqual(arr.length === 1, true) // true
|
||||
assert.strictEqual(arr[0] === '[2001:abcd::1]', true) // ture
|
||||
|
||||
arr = util.parseHostnameAndPort('[2001:abcd::1]', 80)
|
||||
console.log(arr)
|
||||
console.log(arr.length === 2) // true
|
||||
console.log(arr[0] === '[2001:abcd::1]') // ture
|
||||
console.log(arr[1] === 80) // ture
|
||||
console.log('arr6:', arr)
|
||||
assert.strictEqual(arr.length === 2, true) // true
|
||||
assert.strictEqual(arr[0] === '[2001:abcd::1]', true) // ture
|
||||
assert.strictEqual(arr[1] === 80, true) // ture
|
||||
|
||||
arr = util.parseHostnameAndPort('[2001:abcd::1]:8080')
|
||||
console.log(arr)
|
||||
console.log(arr.length === 2) // true
|
||||
console.log(arr[0] === '[2001:abcd::1]') // true
|
||||
console.log(arr[1] === 8080) // ture
|
||||
console.log('arr7:', arr)
|
||||
assert.strictEqual(arr.length === 2, true) // true
|
||||
assert.strictEqual(arr[0] === '[2001:abcd::1]', true) // true
|
||||
assert.strictEqual(arr[1] === 8080, true) // ture
|
||||
|
||||
arr = util.parseHostnameAndPort('[2001:abcd::1]:8080', 8080)
|
||||
console.log(arr)
|
||||
console.log(arr.length === 2) // true
|
||||
console.log(arr[0] === '[2001:abcd::1]') // true
|
||||
console.log(arr[1] === 8080) // ture
|
||||
console.log('arr8:', arr)
|
||||
assert.strictEqual(arr.length === 2, true) // true
|
||||
assert.strictEqual(arr[0] === '[2001:abcd::1]', true) // true
|
||||
assert.strictEqual(arr[1] === 8080, true) // ture
|
||||
|
|
Loading…
Reference in New Issue