@ 261107.5
current
'use strict'

import { group, bench, run } from 'mitata'
import { parseHttpDate } from '../../lib/util/date.js'

const DATES = [
  // IMF
  'Sun, 06 Nov 1994 08:49:37 GMT',
  'Thu, 18 Aug 1950 02:01:18 GMT',
  'Wed, 11 Dec 2024 23:20:57 GMT',
  'Wed, aa Dec 2024 23:20:57 GMT',
  'aaa, 06 Dec 2024 23:20:57 GMT',
  'Wed, 01 aaa 2024 23:20:57 GMT',
  'Wed, 6 Dec 2024 23:20:07 GMT',
  'Wed, 06 Dec 2024 3:20:07 GMT',
  'Wed, 06 Dec 2024 23:1:07 GMT',
  'Wed, 06 Dec 2024 23:01:7 GMT',
  'Wed, 06 Dec aaaa 23:01:07 GMT',
  'Wed, 06 Dec 2024 aa:01:07 GMT',
  'Wed, 06 Dec 2024 23:aa:07 GMT',
  'Wed, 06 Dec 2024 23:01:aa GMT',

  // RFC850
  'Sunday, 06-Nov-94 08:49:37 GMT',
  'Thursday, 18-Aug-50 02:01:18 GMT',
  'Wednesday, 11-Dec-24 23:20:57 GMT',
  'Wednesday, aa Dec 2024 23:20:57 GMT',
  'aaa, 06 Dec 2024 23:20:57 GMT',
  'Wednesday, 01-aaa-24 23:20:57 GMT',
  'Wednesday, 6-Dec-24 23:20:07 GMT',
  'Wednesday, 06-Dec-24 3:20:07 GMT',
  'Wednesday, 06-Dec-24 23:1:07 GMT',
  'Wednesday, 06-Dec-24 23:01:7 GMT',
  'Wednesday, 06 Dec-aa 23:01:07 GMT',
  'Wednesday, 06-Dec-24 aa:01:07 GMT',
  'Wednesday, 06-Dec-24 23:aa:07 GMT',
  'Wednesday, 06-Dec-24 23:01:aa GMT',

  // asctime()
  'Sun Nov  6 08:49:37 1994',
  'Thu Aug 18 02:01:18 1950',
  'Wed Dec 11 23:20:57 2024',
  'Wed Dec aa 23:20:57 2024',
  'aaa Dec 06 23:20:57 2024',
  'Wed aaa 01 23:20:57 2024',
  'Wed Dec 6 23:20:07 2024',
  'Wed Dec 06 3:20:07 2024',
  'Wed Dec 06 23:1:07 2024',
  'Wed Dec 06 23:01:7 2024',
  'Wed 06 Dec 23:01:07 aaaa',
  'Wed Dec 06 aa:01:07 2024',
  'Wed Dec 06 23:aa:07 2024',
  'Wed Dec 06 23:01:aa 2024'
]

group(() => {
  bench('parseHttpDate', () => {
    for (const date of DATES) {
      parseHttpDate(date)
    }
  })

  bench('new Date()', () => {
    for (const date of DATES) {
      // eslint-disable-next-line no-new
      new Date(date)
    }
  })
})

await run()