HEX
Server: Apache/2.4.61 (Ubuntu)
System: Linux hosting106 7.0.12-1-pve #1 SMP PREEMPT_DYNAMIC PMX 7.0.12-1 (2026-06-09T21:07Z) x86_64
User: clinicadentalargarate.com (1193)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //home/cursos.ril.es/node_modules/laravel-elixir/node_modules/parse-filepath/test.js
/*!
 * parse-filepath <https://github.com/jonschlinkert/parse-filepath>
 *
 * Copyright (c) 2014, Jon Schlinkert, Brian Woodward, contributors.
 * Licensed under the MIT License
 */

'use strict';

var path = require('path');
var should = require('should');
var parsePath = require('./');

function normalize(str) {
  return path.normalize(str);
}


describe('parse-filepath:', function() {
  describe('dotfiles', function() {
    it('should recognize dotfiles', function() {
      parsePath('foo/bar/baz/.dotfile').should.eql({
        name: 'dotfile',
        dirname: normalize('foo/bar/baz'),
        extname: '',
        basename: '.dotfile',
        extSegments: []
      });
    });

    it('should recognize .gitignore', function() {
      parsePath('./.gitignore').should.eql({
        name: 'gitignore',
        dirname: '.',
        extname: '',
        basename: '.gitignore',
        extSegments: []
      });
    });

    it('should recognize config files', function() {
      parsePath('./.verbfile.md').should.eql({
        name: 'verbfile',
        dirname: '.',
        extname: '.md',
        basename: '.verbfile.md',
        extSegments: ['.md']
      });
    });

    it('should recognize config files', function() {
      parsePath('./.travis.yml').should.eql({
        name: 'travis',
        dirname: '.',
        extname: '.yml',
        basename: '.travis.yml',
        extSegments: ['.yml']
      });
    });
  });

  describe('when a single segment is passed', function() {
    it('should return the correct values', function() {
      parsePath('foo').should.eql({
        name: 'foo',
        dirname: '.',
        extname: '',
        basename: 'foo',
        extSegments: []
      });
    });

    it('should return the correct values', function() {
      parsePath('./foo').should.eql({
        name: 'foo',
        dirname: '.',
        extname: '',
        basename: 'foo',
        extSegments: []
      });
    });
  });

  describe('when a filepath is passed', function() {
    it('should return an object of path parts', function() {
      parsePath('foo/bar/baz/index.html').should.eql({
        name: 'index',
        dirname: normalize('foo/bar/baz'),
        extname: '.html',
        basename: 'index.html',
        extSegments: ['.html']
      });
    });
  });

  describe('when a filepath ends with a slash', function() {
    it('dirname should be the full filepath, and basename should be empty', function() {
      parsePath('foo/bar/baz/quux/').should.eql({
        name: '',
        dirname: normalize('foo/bar/baz/quux/'),
        extname: '',
        basename: '',
        extSegments: []
      });
    });
  });

  describe('when a filepath with multiple extensions is passed', function() {
    it('should return an object of path parts', function() {
      parsePath('foo/bar/baz/index.md.html').should.eql({
        name: 'index',
        dirname: normalize('foo/bar/baz'),
        extname: '.md.html',
        basename: 'index.md.html',
        extSegments: ['.md', '.html']
      });
    });
  });

  describe('when a filepath with zero extensions is passed', function() {
    it('should return an object of path parts', function() {
      parsePath('foo/bar/baz/index').should.eql({
        name: 'index',
        dirname: normalize('foo/bar/baz'),
        extname: '',
        basename: 'index',
        extSegments: []
      });
    });
  });

  describe('when a dirname is "."', function() {
    it('should preserve the basename', function() {
      parsePath('index.js').should.eql({
        dirname: '.',
        basename: 'index.js',
        name: 'index',
        extname: '.js',
        extSegments: ['.js'],
      });
    });
  });

  describe('when a filepath with zero extensions is passed', function() {
    it('should return an object of path parts', function() {
      parsePath('foo/bar/baz/index').should.eql({
        name: 'index',
        dirname: normalize('foo/bar/baz'),
        extname: '',
        basename: 'index',
        extSegments: []
      });
    });
  });
});

describe('utils.ext()', function() {
  describe('when a filepath with multiple extensions is passed:', function() {
    it('should return the extension from options.ext', function() {
      parsePath('foo/bar/baz.min.js').extname.should.eql('.min.js');
    });

    it('should return the extension from options.ext', function() {
      parsePath('foo/bar/baz.min.js').extSegments.should.eql(['.min', '.js']);
    });
  });

  describe('when a filepath with a single extension is passed:', function() {
    it('should return the extname', function() {
      parsePath('foo/bar/baz.js').extname.should.eql('.js');
    });

    it('should return an array with the extname', function() {
      parsePath('foo/bar/baz.js').extSegments.should.eql(['.js']);
    });
  });

  describe('when a filepath with no extensions is passed:', function() {
    it('should return an empty extname', function() {
      parsePath('foo/bar/baz').extname.should.eql('');
    });

    it('should return an empty extSegments array', function() {
      parsePath('foo/bar/baz').extSegments.should.eql([]);
    });
  });
});