UNPKG

sql-query

Version:

NodeJS SQL query builder

117 lines (94 loc) 1.9 kB
var common = require('../common'); var assert = require('assert'); var dialect = common.getDialect('mssql'); var d = new Date(1378322111133); var tzOffsetMillis = (d.getTimezoneOffset() * 60 * 1000); assert.equal( dialect.escapeId('col'), "[col]" ); assert.equal( dialect.escapeId('table', 'col'), "[table].[col]" ); assert.equal( dialect.escapeId('table', 'co\'l'), "[table].[co\'l]" ); assert.equal( dialect.escapeVal(undefined), 'NULL' ); assert.equal( dialect.escapeVal(null), 'NULL' ); assert.equal( dialect.escapeVal(123), "123" ); assert.equal( dialect.escapeVal(NaN), "'NaN'" ); assert.equal( dialect.escapeVal(Infinity), "'Infinity'" ); assert.equal( dialect.escapeVal('abc'), "'abc'" ); assert.equal( dialect.escapeVal('ab\'c'), "'ab''c'" ); assert.equal( dialect.escapeVal([ 1, 'abc', 'a\'' ]), "(1, 'abc', 'a''')" ); assert.equal( dialect.escapeVal(true), "1" ); assert.equal( dialect.escapeVal(false), "0" ); assert.equal( dialect.escapeVal({ key: 'value' }), "'{\"key\":\"value\"}'" ); assert.equal( dialect.escapeVal(Symbol("why does this exist")), "NULL" ) assert.equal( dialect.escapeVal(new Date(d.getTime() + tzOffsetMillis)), "'2013-09-04 19:15:11.133'" ); assert.equal( dialect.escapeVal(new Date(d.getTime()), 'Z'), "'2013-09-04T19:15:11.133Z'" ); assert.equal( dialect.escapeVal(new Date(d.getTime()), '-0000'), "'2013-09-04T19:15:11.133Z'" ); assert.equal( dialect.escapeVal(new Date(d.getTime()), '-0400'), "'2013-09-04T15:15:11.133Z'" ); assert.equal( dialect.escapeVal(new Date(d.getTime())), dialect.escapeVal(new Date(d.getTime()), 'local') ); assert.equal( dialect.defaultValuesStmt, "DEFAULT VALUES" ); //Assert that mssql is configured to use the SELECT TOP as a contruct for limit assert.equal( dialect.limitAsTop, true );