text: 'use strict';
  const common = require('../common');
  
  if (!common.hasCrypto)
    common.skip('missing crypto');
  
  const tls = require('tls');
  const net = require('net');
  const assert = require('assert');
  
  const bonkers = Buffer.alloc(1024, 42);
  
  
  const server = tls.createServer({})
    .listen(0, function() {
      const c = net.connect({ port: this.address().port }, function() {
        c.write(bonkers);
      });
  
    }).on('tlsClientError', common.mustCall(function(e) {
      assert.ok(e instanceof Error,
                'Instance of Error should be passed to error handler');
      // OpenSSL 1.0.x and 1.1.x use different error codes for junk inputs.
      assert.ok(
        /SSL routines:[^:]*:(unknown protocol|wrong version number)/.test(
          e.message),
        'Expecting SSL unknown protocol');
  
      server.close();
    }));
  