11cb0ef41Sopenharmony_ci'use strict'; 21cb0ef41Sopenharmony_ciconst common = require('../common.js'); 31cb0ef41Sopenharmony_ciconst { win32 } = require('path'); 41cb0ef41Sopenharmony_ci 51cb0ef41Sopenharmony_ciconst bench = common.createBenchmark(main, { 61cb0ef41Sopenharmony_ci pathext: [ 71cb0ef41Sopenharmony_ci '', 81cb0ef41Sopenharmony_ci 'C:\\', 91cb0ef41Sopenharmony_ci 'C:\\foo', 101cb0ef41Sopenharmony_ci 'D:\\foo\\.bar.baz', 111cb0ef41Sopenharmony_ci ['E:\\foo\\.bar.baz', '.baz'].join('|'), 121cb0ef41Sopenharmony_ci 'foo', 131cb0ef41Sopenharmony_ci 'foo\\bar.', 141cb0ef41Sopenharmony_ci ['foo\\bar.', '.'].join('|'), 151cb0ef41Sopenharmony_ci '\\foo\\bar\\baz\\asdf\\quux.html', 161cb0ef41Sopenharmony_ci ['\\foo\\bar\\baz\\asdf\\quux.html', '.html'].join('|'), 171cb0ef41Sopenharmony_ci ], 181cb0ef41Sopenharmony_ci n: [1e5], 191cb0ef41Sopenharmony_ci}); 201cb0ef41Sopenharmony_ci 211cb0ef41Sopenharmony_cifunction main({ n, pathext }) { 221cb0ef41Sopenharmony_ci let ext; 231cb0ef41Sopenharmony_ci const extIdx = pathext.indexOf('|'); 241cb0ef41Sopenharmony_ci if (extIdx !== -1) { 251cb0ef41Sopenharmony_ci ext = pathext.slice(extIdx + 1); 261cb0ef41Sopenharmony_ci pathext = pathext.slice(0, extIdx); 271cb0ef41Sopenharmony_ci } 281cb0ef41Sopenharmony_ci 291cb0ef41Sopenharmony_ci bench.start(); 301cb0ef41Sopenharmony_ci for (let i = 0; i < n; i++) { 311cb0ef41Sopenharmony_ci win32.basename(i % 3 === 0 ? `${pathext}${i}` : pathext, ext); 321cb0ef41Sopenharmony_ci } 331cb0ef41Sopenharmony_ci bench.end(n); 341cb0ef41Sopenharmony_ci} 35