test-path-dirname.js 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. 'use strict';
  2. var tape = require('tape');
  3. var path = require('../');
  4. tape('path.posix.dirname', function (t) {
  5. t.strictEqual(path.posix.dirname('/a/b/'), '/a');
  6. t.strictEqual(path.posix.dirname('/a/b'), '/a');
  7. t.strictEqual(path.posix.dirname('/a'), '/');
  8. t.strictEqual(path.posix.dirname(''), '.');
  9. t.strictEqual(path.posix.dirname('/'), '/');
  10. t.strictEqual(path.posix.dirname('////'), '/');
  11. t.strictEqual(path.posix.dirname('//a'), '//');
  12. t.strictEqual(path.posix.dirname('foo'), '.');
  13. t.end();
  14. });
  15. tape('path.win32.dirname', { skip: true }, function (t) {
  16. t.strictEqual(path.win32.dirname('c:\\'), 'c:\\');
  17. t.strictEqual(path.win32.dirname('c:\\foo'), 'c:\\');
  18. t.strictEqual(path.win32.dirname('c:\\foo\\'), 'c:\\');
  19. t.strictEqual(path.win32.dirname('c:\\foo\\bar'), 'c:\\foo');
  20. t.strictEqual(path.win32.dirname('c:\\foo\\bar\\'), 'c:\\foo');
  21. t.strictEqual(path.win32.dirname('c:\\foo\\bar\\baz'), 'c:\\foo\\bar');
  22. t.strictEqual(path.win32.dirname('\\'), '\\');
  23. t.strictEqual(path.win32.dirname('\\foo'), '\\');
  24. t.strictEqual(path.win32.dirname('\\foo\\'), '\\');
  25. t.strictEqual(path.win32.dirname('\\foo\\bar'), '\\foo');
  26. t.strictEqual(path.win32.dirname('\\foo\\bar\\'), '\\foo');
  27. t.strictEqual(path.win32.dirname('\\foo\\bar\\baz'), '\\foo\\bar');
  28. t.strictEqual(path.win32.dirname('c:'), 'c:');
  29. t.strictEqual(path.win32.dirname('c:foo'), 'c:');
  30. t.strictEqual(path.win32.dirname('c:foo\\'), 'c:');
  31. t.strictEqual(path.win32.dirname('c:foo\\bar'), 'c:foo');
  32. t.strictEqual(path.win32.dirname('c:foo\\bar\\'), 'c:foo');
  33. t.strictEqual(path.win32.dirname('c:foo\\bar\\baz'), 'c:foo\\bar');
  34. t.strictEqual(path.win32.dirname('file:stream'), '.');
  35. t.strictEqual(path.win32.dirname('dir\\file:stream'), 'dir');
  36. t.strictEqual(path.win32.dirname('\\\\unc\\share'),
  37. '\\\\unc\\share');
  38. t.strictEqual(path.win32.dirname('\\\\unc\\share\\foo'),
  39. '\\\\unc\\share\\');
  40. t.strictEqual(path.win32.dirname('\\\\unc\\share\\foo\\'),
  41. '\\\\unc\\share\\');
  42. t.strictEqual(path.win32.dirname('\\\\unc\\share\\foo\\bar'),
  43. '\\\\unc\\share\\foo');
  44. t.strictEqual(path.win32.dirname('\\\\unc\\share\\foo\\bar\\'),
  45. '\\\\unc\\share\\foo');
  46. t.strictEqual(path.win32.dirname('\\\\unc\\share\\foo\\bar\\baz'),
  47. '\\\\unc\\share\\foo\\bar');
  48. t.strictEqual(path.win32.dirname('/a/b/'), '/a');
  49. t.strictEqual(path.win32.dirname('/a/b'), '/a');
  50. t.strictEqual(path.win32.dirname('/a'), '/');
  51. t.strictEqual(path.win32.dirname(''), '.');
  52. t.strictEqual(path.win32.dirname('/'), '/');
  53. t.strictEqual(path.win32.dirname('////'), '/');
  54. t.strictEqual(path.win32.dirname('foo'), '.');
  55. t.end();
  56. });