}).to.throw(Error,'Both `replacements` and `bind` cannot be set at the same time');
}).to.throw(Error,'Both `replacements` and `bind` cannot be set at the same time');
});
});
if(Support.dialectIsMySQL()){
it.only('properly adds and escapes replacement value',function(){
varlogSql,
number=1,
date=newDate(),
string='t\'e"st',
boolean=true,
buffer=newBuffer('t\'e"st');
date.setMilliseconds(0);
returnthis.sequelize.query({
query:'select ? as number, ? as date,? as string,? as boolean,? as buffer',
values:[number,date,string,boolean,buffer]
},{
type:this.sequelize.QueryTypes.SELECT,
logging:function(s){
logSql=s;
}
}).then(function(result){
varres=result[0]||{};
res.date=res.date&&newDate(res.date);
res.boolean=res.boolean&&true;
expect(res).to.deep.equal({
number:number,
date:date,
string:string,
boolean:boolean,
buffer:buffer
});
expect(logSql.indexOf('?')).to.equal(-1);
});
});
}
it('uses properties `query` and `values` if query is tagged',function(){
it('uses properties `query` and `values` if query is tagged',function(){
varlogSql;
varlogSql;
returnthis.sequelize.query({query:'select ? as foo, ? as bar',values:[1,2]},{type:this.sequelize.QueryTypes.SELECT,logging:function(s){logSql=s;}}).then(function(result){
returnthis.sequelize.query({query:'select ? as foo, ? as bar',values:[1,2]},{type:this.sequelize.QueryTypes.SELECT,logging:function(s){logSql=s;}}).then(function(result){