Files
codeql/javascript/ql/test/library-tests/Promises/promises.js
2020-03-25 23:54:56 +01:00

83 lines
1.8 KiB
JavaScript

(function () {
var source = "tainted";
var promise = new Promise(function (resolve, reject) {
resolve(source);
});
promise.then(function (val) {
var sink = val;
});
var promise2 = new Promise((res, rej) => {
var res_source = "resolved";
var rej_source = "rejected";
if (Math.random() > .5)
res(res_source);
else
rej(rej_source);
});
promise2.then((v) => {
var res_sink = v;
}, (v) => {
var rej_sink = v;
});
promise2.catch((v) => {
var rej_sink = v;
});
promise2.finally((v) => {
var sink = v;
});
})();
(function() {
var Promise = require("bluebird");
var promise = new Promise(function (resolve, reject) {
resolve(source);
});
promise.then(function (val) {
var sink = val;
});
})();
(function() {
var Q = require("q");
var promise = Q.Promise(function (resolve, reject) {
resolve(source);
});
promise.then(function (val) {
var sink = val;
});
})();
(function() {
var source = "tainted";
var promise = Promise.resolve(source);
promise.then(function (val) {
var sink = val;
});
})();
(function() {
var Promise = require("bluebird");
var source = "tainted";
var promise = Promise.resolve(source);
promise.then(function (val) {
var sink = val;
});
})();
(function() {
var Promise = goog.require('goog.Promise');
var source = "tainted";
Promise.resolve(source).then(val => { var sink = val; });
new Promise((res,rej) => res(source)).then(val => { var sink = val });
let resolver = Promise.withResolver();
resolver.resolve(source);
resolver.promise.then(val => { var sink = val });
})();
(function(source) {
var promise = Promise.resolve(source);
promise.then(function (val) {
var sink = val;
});
})();