'use strict';

var _require = require('../constants'),
    DEFAULT_SEPARATOR = _require.DEFAULT_SEPARATOR;

var path = require('path');

module.exports = function (thePath, potentialParent) {
  // For inside-directory checking, we want to allow trailing slashes, so normalize.
  thePath = stripTrailingSep(thePath);
  potentialParent = stripTrailingSep(potentialParent);

  // Node treats only Windows as case-insensitive in its path module; we follow those conventions.
  if (process.platform === 'win32') {
    thePath = thePath.toLowerCase();
    potentialParent = potentialParent.toLowerCase();
  }

  return thePath.lastIndexOf(potentialParent, 0) === 0 && (thePath[potentialParent.length] === DEFAULT_SEPARATOR || thePath[potentialParent.length] === undefined);
};

function stripTrailingSep(thePath) {
  if (thePath[thePath.length - 1] === path.sep) {
    return thePath.slice(0, -1);
  }
  return thePath;
}