mirror of
https://github.com/harttle/liquidjs.git
synced 2026-09-15 04:10:40 -07:00
test: coverage to 100%
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import strftime, { LiquidDate } from '../../util/strftime'
|
||||
import strftime from '../../util/strftime'
|
||||
import { LiquidDate } from '../../util/liquid-date'
|
||||
import { isString, isNumber } from '../../util/underscore'
|
||||
import { FilterImpl } from '../../template/filter/filter-impl'
|
||||
import { TimezoneDate } from '../../util/timezone-date'
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
/**
|
||||
* The date interface LiquidJS uses.
|
||||
* Basically a subset of JavaScript Date,
|
||||
* it's defined abstractly here to allow different implementation
|
||||
*/
|
||||
export interface LiquidDate {
|
||||
getTime(): number;
|
||||
getMilliseconds(): number;
|
||||
getSeconds(): number;
|
||||
getMinutes(): number;
|
||||
getHours(): number;
|
||||
getDay(): number;
|
||||
getDate(): number;
|
||||
getMonth(): number;
|
||||
getFullYear(): number;
|
||||
getTimezoneOffset(): number;
|
||||
toLocaleTimeString(): string;
|
||||
toLocaleDateString(): string;
|
||||
}
|
||||
+1
-15
@@ -1,19 +1,5 @@
|
||||
import { changeCase, padStart, padEnd } from './underscore'
|
||||
|
||||
export interface LiquidDate {
|
||||
getTime(): number;
|
||||
getMilliseconds(): number;
|
||||
getSeconds(): number;
|
||||
getMinutes(): number;
|
||||
getHours(): number;
|
||||
getDay(): number;
|
||||
getDate(): number;
|
||||
getMonth(): number;
|
||||
getFullYear(): number;
|
||||
getTimezoneOffset(): number;
|
||||
toLocaleTimeString(): string;
|
||||
toLocaleDateString(): string;
|
||||
}
|
||||
import { LiquidDate } from './liquid-date'
|
||||
|
||||
const rFormat = /%([-_0^#:]+)?(\d+)?([EO])?(.)/
|
||||
const monthNames = [
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { LiquidDate } from './strftime'
|
||||
import { LiquidDate } from './liquid-date'
|
||||
|
||||
// one minute in milliseconds
|
||||
const OneMinute = 60000
|
||||
@@ -13,18 +13,18 @@ const ISO8601_TIMEZONE_PATTERN = /([zZ]|([+-])(\d{2}):(\d{2}))$/
|
||||
* - rewrite getTimezoneOffset() to trick strftime
|
||||
*/
|
||||
export class TimezoneDate implements LiquidDate {
|
||||
private timezoneOffset?: number
|
||||
private timezoneOffset: number
|
||||
private date: Date
|
||||
constructor (init: string | number | Date | TimezoneDate, timezoneOffset: number) {
|
||||
const diff = (hostTimezoneOffset - timezoneOffset) * OneMinute
|
||||
if (init instanceof TimezoneDate) {
|
||||
this.date = init.date
|
||||
this.timezoneOffset = init.timezoneOffset
|
||||
timezoneOffset = init.timezoneOffset
|
||||
} else {
|
||||
const diff = (hostTimezoneOffset - timezoneOffset) * OneMinute
|
||||
const time = new Date(init).getTime() + diff
|
||||
this.date = new Date(time)
|
||||
this.timezoneOffset = timezoneOffset
|
||||
}
|
||||
this.timezoneOffset = timezoneOffset
|
||||
}
|
||||
|
||||
getTime () {
|
||||
@@ -55,11 +55,11 @@ export class TimezoneDate implements LiquidDate {
|
||||
getFullYear () {
|
||||
return this.date.getFullYear()
|
||||
}
|
||||
toLocaleTimeString () {
|
||||
return this.date.toLocaleTimeString()
|
||||
toLocaleTimeString (locale?: string) {
|
||||
return this.date.toLocaleTimeString(locale)
|
||||
}
|
||||
toLocaleDateString () {
|
||||
return this.date.toLocaleDateString()
|
||||
toLocaleDateString (locale?: string) {
|
||||
return this.date.toLocaleDateString(locale)
|
||||
}
|
||||
getTimezoneOffset () {
|
||||
return this.timezoneOffset!
|
||||
|
||||
Reference in New Issue
Block a user