You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					35 lines
				
				1003 B
			
		
		
			
		
	
	
					35 lines
				
				1003 B
			| 
											3 years ago
										 | 'use strict' | ||
|  | 
 | ||
|  | const { test } = require('tap') | ||
|  | const { sink, once } = require('./helper') | ||
|  | const { PassThrough } = require('stream') | ||
|  | const pino = require('../') | ||
|  | 
 | ||
|  | test('Proxy and stream objects', async ({ equal }) => { | ||
|  |   const s = new PassThrough() | ||
|  |   s.resume() | ||
|  |   s.write('', () => {}) | ||
|  |   const obj = { s, p: new Proxy({}, { get () { throw new Error('kaboom') } }) } | ||
|  |   const stream = sink() | ||
|  |   const instance = pino(stream) | ||
|  |   instance.info({ obj }) | ||
|  | 
 | ||
|  |   const result = await once(stream, 'data') | ||
|  | 
 | ||
|  |   equal(result.obj, '[unable to serialize, circular reference is too complex to analyze]') | ||
|  | }) | ||
|  | 
 | ||
|  | test('Proxy and stream objects', async ({ equal }) => { | ||
|  |   const s = new PassThrough() | ||
|  |   s.resume() | ||
|  |   s.write('', () => {}) | ||
|  |   const obj = { s, p: new Proxy({}, { get () { throw new Error('kaboom') } }) } | ||
|  |   const stream = sink() | ||
|  |   const instance = pino(stream) | ||
|  |   instance.info(obj) | ||
|  | 
 | ||
|  |   const result = await once(stream, 'data') | ||
|  | 
 | ||
|  |   equal(result.p, '[unable to serialize, circular reference is too complex to analyze]') | ||
|  | }) |