aboutsummaryrefslogtreecommitdiff
path: root/node_modules/tmp/test/unsafe.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/tmp/test/unsafe.js')
-rw-r--r--node_modules/tmp/test/unsafe.js30
1 files changed, 30 insertions, 0 deletions
diff --git a/node_modules/tmp/test/unsafe.js b/node_modules/tmp/test/unsafe.js
new file mode 100644
index 000000000..73e4fb34e
--- /dev/null
+++ b/node_modules/tmp/test/unsafe.js
@@ -0,0 +1,30 @@
+var
+ fs = require('fs'),
+ join = require('path').join,
+ spawn = require('./spawn');
+
+var unsafe = spawn.arg;
+spawn.tmpFunction({ unsafeCleanup: unsafe }, function (err, name) {
+ if (err) {
+ spawn.err(err, spawn.exit);
+ return;
+ }
+
+ try {
+ // file that should be removed
+ var fd = fs.openSync(join(name, 'should-be-removed.file'), 'w');
+ fs.closeSync(fd);
+
+ // in tree source
+ var symlinkSource = join(__dirname, 'symlinkme');
+ // testing target
+ var symlinkTarget = join(name, 'symlinkme-target');
+
+ // symlink that should be removed but the contents should be preserved.
+ fs.symlinkSync(symlinkSource, symlinkTarget, 'dir');
+
+ spawn.out(name, spawn.exit);
+ } catch (e) {
+ spawn.err(e.toString(), spawn.exit);
+ }
+});