UEA-PRODEM

This commit is contained in:
2026-06-10 12:14:46 -03:00
parent f54126b9d8
commit 9947565694
5319 changed files with 148520 additions and 129332 deletions
+41 -3
View File
@@ -239,7 +239,7 @@ test('symlinked', function (t) {
});
test('readPackage', function (t) {
t.plan(3);
t.plan(4);
var files = {};
files[path.resolve('/foo/node_modules/bar/something-else.js')] = 'beep';
@@ -281,14 +281,14 @@ test('readPackage', function (t) {
});
});
var readPackage = function (readFile, file, cb) {
function readPackage(readFile, file, cb) {
var barPackage = path.join('bar', 'package.json');
if (file.slice(-barPackage.length) === barPackage) {
cb(null, { main: './something-else.js' });
} else {
cb(null, JSON.parse(files[path.resolve(file)]));
}
};
}
t.test('with readPackage', function (st) {
st.plan(3);
@@ -312,4 +312,42 @@ test('readPackage', function (t) {
st.throws(function () { throw err; }, TypeError, 'errors when both readFile and readPackage are provided');
});
});
t.test('readPackage error in loadpkg does not invoke callback twice', function (st) {
st.plan(1);
var callCount = 0;
var readPackageError = new Error('read package error');
function failReadPackage(rf, file, cb) {
cb(readPackageError);
}
var relFiles = {};
relFiles[path.resolve('/foo/bar/baz.js')] = 'beep';
relFiles[path.resolve('/foo/bar/package.json')] = '{}';
var relDirs = {};
relDirs[path.resolve('/foo/bar')] = true;
resolve('./baz', {
basedir: path.resolve('/foo/bar'),
isFile: function (file, cb) {
cb(null, Object.prototype.hasOwnProperty.call(relFiles, path.resolve(file)));
},
isDirectory: function (dir, cb) {
cb(null, !!relDirs[path.resolve(dir)]);
},
readPackage: failReadPackage,
realpath: function (file, cb) {
cb(null, file);
}
}, function () {
callCount += 1;
});
setTimeout(function () {
st.equal(callCount, 1, 'callback is invoked exactly once');
}, 50);
});
});