38 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
'use strict'
 | 
						|
 | 
						|
/* eslint no-prototype-builtins: 0 */
 | 
						|
 | 
						|
const test = require('node:test')
 | 
						|
const assert = require('node:assert')
 | 
						|
 | 
						|
const { sink, once } = require('./helper')
 | 
						|
 | 
						|
test('pino.stdTimeFunctions.isoTimeNano returns RFC 3339 timestamps', async () => {
 | 
						|
  // Mock Date.now at module initialization time
 | 
						|
  const now = Date.now
 | 
						|
  Date.now = () => new Date('2025-08-01T15:03:45.000000000Z').getTime()
 | 
						|
 | 
						|
  // Mock process.hrtime.bigint at module initialization time
 | 
						|
  const hrTimeBigint = process.hrtime.bigint
 | 
						|
  process.hrtime.bigint = () => 100000000000000n
 | 
						|
 | 
						|
  const pino = require('../')
 | 
						|
 | 
						|
  const opts = {
 | 
						|
    timestamp: pino.stdTimeFunctions.isoTimeNano
 | 
						|
  }
 | 
						|
  const stream = sink()
 | 
						|
 | 
						|
  // Mock process.hrtime.bigint at invocation time, add 1 day to the timestamp
 | 
						|
  process.hrtime.bigint = () => 100000000000000n + 86400012345678n
 | 
						|
 | 
						|
  const instance = pino(opts, stream)
 | 
						|
  instance.info('foobar')
 | 
						|
  const result = await once(stream, 'data')
 | 
						|
  assert.equal(result.hasOwnProperty('time'), true)
 | 
						|
  assert.equal(result.time, '2025-08-02T15:03:45.012345678Z')
 | 
						|
 | 
						|
  Date.now = now
 | 
						|
  process.hrtime.bigint = hrTimeBigint
 | 
						|
})
 |