1'use strict';
2const common = require('../common');
3const tmpdir = require('../common/tmpdir');
4const assert = require('assert');
5const fs = require('fs');
6const path = require('path');
7
8tmpdir.refresh();
9
10const code = common.isWindows ? 'ENOENT' : 'ENOTDIR';
11
12{
13  const filePath = path.join(tmpdir.path, 'rmdir-recursive.txt');
14  fs.writeFileSync(filePath, '');
15  assert.throws(() => fs.rmdirSync(filePath, { recursive: true }), { code });
16}
17{
18  const filePath = path.join(tmpdir.path, 'rmdir-recursive.txt');
19  fs.writeFileSync(filePath, '');
20  fs.rmdir(filePath, { recursive: true }, common.mustCall((err) => {
21    assert.strictEqual(err.code, code);
22  }));
23}
24{
25  const filePath = path.join(tmpdir.path, 'rmdir-recursive.txt');
26  fs.writeFileSync(filePath, '');
27  assert.rejects(() => fs.promises.rmdir(filePath, { recursive: true }),
28                 { code }).then(common.mustCall());
29}
30