11cb0ef41Sopenharmony_ci'use strict'; 21cb0ef41Sopenharmony_ci 31cb0ef41Sopenharmony_ciconst common = require('../common'); 41cb0ef41Sopenharmony_ciconst assert = require('assert'); 51cb0ef41Sopenharmony_ciconst dgram = require('dgram'); 61cb0ef41Sopenharmony_ci 71cb0ef41Sopenharmony_ci{ 81cb0ef41Sopenharmony_ci // Test bad signal. 91cb0ef41Sopenharmony_ci assert.throws( 101cb0ef41Sopenharmony_ci () => dgram.createSocket({ type: 'udp4', signal: {} }), 111cb0ef41Sopenharmony_ci { 121cb0ef41Sopenharmony_ci code: 'ERR_INVALID_ARG_TYPE', 131cb0ef41Sopenharmony_ci name: 'TypeError' 141cb0ef41Sopenharmony_ci }); 151cb0ef41Sopenharmony_ci} 161cb0ef41Sopenharmony_ci 171cb0ef41Sopenharmony_ci{ 181cb0ef41Sopenharmony_ci // Test close. 191cb0ef41Sopenharmony_ci const controller = new AbortController(); 201cb0ef41Sopenharmony_ci const { signal } = controller; 211cb0ef41Sopenharmony_ci const server = dgram.createSocket({ type: 'udp4', signal }); 221cb0ef41Sopenharmony_ci server.on('close', common.mustCall()); 231cb0ef41Sopenharmony_ci controller.abort(); 241cb0ef41Sopenharmony_ci} 251cb0ef41Sopenharmony_ci 261cb0ef41Sopenharmony_ci{ 271cb0ef41Sopenharmony_ci // Test close with pre-aborted signal. 281cb0ef41Sopenharmony_ci const signal = AbortSignal.abort(); 291cb0ef41Sopenharmony_ci const server = dgram.createSocket({ type: 'udp4', signal }); 301cb0ef41Sopenharmony_ci server.on('close', common.mustCall()); 311cb0ef41Sopenharmony_ci} 32