| 'use strict'; |
| const common = require('../common'); |
| if (!common.hasCrypto) common.skip('missing crypto'); |
| |
| const assert = require('assert'); |
| const tls = require('tls'); |
| |
| assert(Array.isArray(tls.rootCertificates)); |
| assert(tls.rootCertificates.length > 0); |
| |
| // Getter should return the same object. |
| assert.strictEqual(tls.rootCertificates, tls.rootCertificates); |
| |
| // Array is immutable... |
| assert.throws(() => tls.rootCertificates[0] = 0, /TypeError/); |
| assert.throws(() => tls.rootCertificates.sort(), /TypeError/); |
| |
| // ...and so is the property. |
| assert.throws(() => tls.rootCertificates = 0, /TypeError/); |
| |
| // Does not contain duplicates. |
| assert.strictEqual(tls.rootCertificates.length, |
| new Set(tls.rootCertificates).size); |
| |
| assert(tls.rootCertificates.every((s) => { |
| return s.startsWith('-----BEGIN CERTIFICATE-----\n'); |
| })); |
| |
| assert(tls.rootCertificates.every((s) => { |
| return s.endsWith('\n-----END CERTIFICATE-----'); |
| })); |