!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 

uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/var/www/html/rtail-expressjs/node_modules/chrono-node/test/en/   drwxr-xr-x
Free 13.3 GB of 57.97 GB (22.94%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     en_time_exp.test.js (23.74 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
import * as chrono from '../../src/chrono';
import { testSingleCase } from '../test_util';

test("Test - Single Expression", function() {


    testSingleCase(chrono, '8:10', new Date(2012,7,10), (result) => {
        expect(result.index).toBe(0);
        expect(result.text).toBe('8:10');

        expect(result.start).not.toBeNull();
        expect(result.start.get('hour')).toBe(8);
        expect(result.start.get('minute')).toBe(10);


        expect(result.start.isCertain('day')).toBe(false);
        expect(result.start.isCertain('month')).toBe(false);
        expect(result.start.isCertain('year')).toBe(false);
        expect(result.start.isCertain('hour')).toBe(true);
        expect(result.start.isCertain('minute')).toBe(true);
        expect(result.start.isCertain('second')).toBe(false);
        expect(result.start.isCertain('millisecond')).toBe(false);

        var resultDate = result.start.date();
        var expectDate = new Date(2012, 7, 10, 8, 10);
        expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
    });

    testSingleCase(chrono, '8:10 PM', new Date(2012,7,10), (result) => {
        expect(result.index).toBe(0);
        expect(result.text).toBe('8:10 PM');

        expect(result.start).not.toBeNull();
        expect(result.start.get('hour')).toBe(20);
        expect(result.start.get('minute')).toBe(10);
        expect(result.start.isCertain('second')).toBe(false);
        expect(result.start.isCertain('millisecond')).toBe(false);


      var resultDate = result.start.date();
        var expectDate = new Date(2012, 7, 10, 20, 10);
        expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
    });

    testSingleCase(chrono, '1230pm', new Date(2012,7,10), (result) => {
        expect(result.index).toBe(0);
        expect(result.text).toBe('1230pm');

        expect(result.start).not.toBeNull();
        expect(result.start.get('hour')).toBe(12);
        expect(result.start.get('minute')).toBe(30);
        expect(result.start.isCertain('second')).toBe(false);
        expect(result.start.isCertain('millisecond')).toBe(false);


      var resultDate = result.start.date();
        var expectDate = new Date(2012, 7, 10, 12, 30);
        expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
    });
	
    testSingleCase(chrono, '5:16p', new Date(2012,7,10), (result) => {
        expect(result.index).toBe(0);
        expect(result.text).toBe('5:16p');

        expect(result.start).not.toBeNull();
        expect(result.start.get('hour')).toBe(17);
        expect(result.start.get('minute')).toBe(16);
        expect(result.start.isCertain('second')).toBe(false);
        expect(result.start.isCertain('millisecond')).toBe(false);


      var resultDate = result.start.date();
        var expectDate = new Date(2012, 7, 10, 17, 16);
        expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
    });

    testSingleCase(chrono, '5:16 p.m.', new Date(2012,7,10), (result) => {
        expect(result.index).toBe(0);
        expect(result.text).toBe('5:16 p.m.');

        expect(result.start).not.toBeNull();
        expect(result.start.get('hour')).toBe(17);
        expect(result.start.get('minute')).toBe(16);
        expect(result.start.isCertain('second')).toBe(false);
        expect(result.start.isCertain('millisecond')).toBe(false);


      var resultDate = result.start.date();
        var expectDate = new Date(2012, 7, 10, 17, 16);
        expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
    });

    testSingleCase(chrono, 'Lets meet at 6.13 AM', new Date(2012,7,10), (result) => {
        expect(result.index).toBe(10);
        expect(result.text).toBe('at 6.13 AM');

        expect(result.start).not.toBeNull();
        expect(result.start.get('hour')).toBe(6);
        expect(result.start.get('minute')).toBe(13);

        var resultDate = result.start.date();
        var expectDate = new Date(2012, 7, 10, 6, 13);
        expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
    });


    testSingleCase(chrono, '1-3pm', new Date(2012,7,10), (result) => {
        expect(result.index).toBe(0);
        expect(result.text).toBe('1-3pm');

        expect(result.start).not.toBeNull();
        expect(result.start.get('hour')).toBe(13);
        expect(result.start.get('minute')).toBe(0);
        expect(result.start.get('meridiem')).toBe(1);

        var resultDate = result.start.date();
        var expectDate = new Date(2012, 7, 10, 13, 0);
        expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());

        expect(result.end).not.toBeNull();
        expect(result.end.get('hour')).toBe(15);
        expect(result.end.get('minute')).toBe(0);
        expect(result.end.get('meridiem')).toBe(1);

        var resultDate = result.end.date();
        var expectDate = new Date(2012, 7, 10, 15, 0);
        expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
    });


    testSingleCase(chrono, '11pm-2', new Date(2012,7,10), (result) => {
        expect(result.index).toBe(0);
        expect(result.text).toBe('11pm-2');

        expect(result.start).not.toBeNull();
        expect(result.start.get('hour')).toBe(23);
        expect(result.start.get('minute')).toBe(0);
        expect(result.start.get('meridiem')).toBe(1);

        var resultDate = result.start.date();
        var expectDate = new Date(2012, 7, 10, 23, 0);
        expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());

        expect(result.end).not.toBeNull();
        expect(result.end.get('hour')).toBe(2);
        expect(result.end.get('minute')).toBe(0);
        expect(result.end.get('meridiem')).toBe(0);

        var resultDate = result.end.date();
        var expectDate = new Date(2012, 7, 11, 2, 0);
        expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
    });
});

test("Test - Range Expression", function() {

    testSingleCase(chrono, '8:10 - 12.32', new Date(2012,7,10), (result) => {
        expect(result.index).toBe(0);
        expect(result.text).toBe('8:10 - 12.32');

        expect(result.start).not.toBeNull();
        expect(result.start.get('hour')).toBe(8);
        expect(result.start.get('minute')).toBe(10);

        expect(result.start.isCertain('day')).toBe(false);
        expect(result.start.isCertain('month')).toBe(false);
        expect(result.start.isCertain('year')).toBe(false);
        expect(result.start.isCertain('hour')).toBe(true);
        expect(result.start.isCertain('minute')).toBe(true);
        expect(result.start.isCertain('second')).toBe(false);
        expect(result.start.isCertain('millisecond')).toBe(false);

        var resultDate = result.start.date();
        var expectDate = new Date(2012, 7, 10, 8, 10);
        expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());

        expect(result.end).not.toBeNull();
        expect(result.end.get('hour')).toBe(12);
        expect(result.end.get('minute')).toBe(32);

        expect(result.end.isCertain('day')).toBe(false);
        expect(result.end.isCertain('month')).toBe(false);
        expect(result.end.isCertain('year')).toBe(false);
        expect(result.end.isCertain('hour')).toBe(true);
        expect(result.end.isCertain('minute')).toBe(true);
        expect(result.end.isCertain('second')).toBe(false);
        expect(result.end.isCertain('millisecond')).toBe(false);

        var resultDate = result.end.date();
        var expectDate = new Date(2012, 7, 10, 12, 32);
        expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
    });

    testSingleCase(chrono, ' from 6:30pm to 11:00pm ', new Date(2012,7,10), (result) => {
        expect(result.index).toBe(1);
        expect(result.text).toBe('from 6:30pm to 11:00pm');

        expect(result.start).not.toBeNull();
        expect(result.start.get('hour')).toBe(18);
        expect(result.start.get('minute')).toBe(30);
        expect(result.start.get('meridiem')).toBe(1);

        var resultDate = result.start.date();
        var expectDate = new Date(2012, 7, 10, 18, 30);
        expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());

        expect(result.end).not.toBeNull();
        expect(result.end.get('hour')).toBe(23);
        expect(result.end.get('minute')).toBe(0);
        expect(result.end.get('meridiem')).toBe(1);

        var resultDate = result.end.date();
        var expectDate = new Date(2012, 7, 10, 23, 0);
        expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
    });

});

test("Test - Impossible", function() {

    var text = "8:62";
    var results = chrono.parse(text, new Date(2012,7,10));
    expect(results.length).toBe(0);

    var text = "25:12";
    var results = chrono.parse(text, new Date(2012,7,10));
    expect(results.length).toBe(0);

    var text = "13.12 PM";
    var results = chrono.parse(text, new Date(2012,7,10));
    expect(results.length).toBe(0)
});

test("Test - Date + Time Expression", function() {

    testSingleCase(chrono, 'Something happen on 2014-04-18 3.00 AM', new Date(2012,7,10), (result) => {
        expect(result.index).toBe(20);
        expect(result.text).toBe('2014-04-18 3.00 AM');

        expect(result.start.get('year')).toBe(2014);
        expect(result.start.get('month')).toBe(4);
        expect(result.start.get('day')).toBe(18);
        expect(result.start.get('hour')).toBe(3);
        expect(result.start.get('minute')).toBe(0);
        expect(result.start.get('second')).toBe(0);
        expect(result.start.get('millisecond')).toBe(0);
        expect(result.start.isCertain('millisecond')).toBe(false);

        var resultDate = result.start.date();
        var expectDate = new Date(2014, 4-1, 18, 3, 0);
        expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
    });

    testSingleCase(chrono, 'Something happen on August 10, 2012 10:12:59 pm', new Date(2012,7,10), (result) => {
        expect(result.index).toBe(20);
        expect(result.text).toBe('August 10, 2012 10:12:59 pm');

        expect(result.start.get('year')).toBe(2012);
        expect(result.start.get('month')).toBe(8);
        expect(result.start.get('day')).toBe(10);
        expect(result.start.get('hour')).toBe(22);
        expect(result.start.get('minute')).toBe(12);
        expect(result.start.get('second')).toBe(59);
        expect(result.start.get('millisecond')).toBe(0);
        expect(result.start.isCertain('millisecond')).toBe(false);

        var resultDate = result.start.date();
        var expectDate = new Date(2012, 8-1, 10, 22, 12, 59);
        expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
    });

    testSingleCase(chrono, 'Something happen on 2014-04-18 7:00 - 8:00 AM...', new Date(2012,7,10), (result) => {
        expect(result.index).toBe(20);
        expect(result.text).toBe('2014-04-18 7:00 - 8:00 AM');

        expect(result.start.get('year')).toBe(2014);
        expect(result.start.get('month')).toBe(4);
        expect(result.start.get('day')).toBe(18);
        expect(result.start.get('hour')).toBe(7);
        expect(result.start.get('minute')).toBe(0);
        expect(result.start.get('second')).toBe(0);
        expect(result.start.get('millisecond')).toBe(0);
        expect(result.start.get('meridiem')).toBe(0);
        expect(result.start.isCertain('millisecond')).toBe(false);

        var resultDate = result.start.date();
        var expectDate = new Date(2014, 4-1, 18, 7, 0);
        expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());


        expect(result.end.get('year')).toBe(2014);
        expect(result.end.get('month')).toBe(4);
        expect(result.end.get('day')).toBe(18);
        expect(result.end.get('hour')).toBe(8);
        expect(result.end.get('minute')).toBe(0);
        expect(result.end.get('second')).toBe(0);
        expect(result.end.get('millisecond')).toBe(0);
        expect(result.end.get('meridiem')).toBe(0);
        expect(result.end.isCertain('millisecond')).toBe(false);

        var resultDate = result.end.date();
        var expectDate = new Date(2014, 4-1, 18, 8, 0);
        expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
    });



    testSingleCase(chrono, 'Something happen on 2014-04-18 7:00 - 8:00 PM...', new Date(2012,7,10), (result) => {
        expect(result.index).toBe(20);
        expect(result.text).toBe('2014-04-18 7:00 - 8:00 PM');

        expect(result.start.get('year')).toBe(2014);
        expect(result.start.get('month')).toBe(4);
        expect(result.start.get('day')).toBe(18);
        expect(result.start.get('hour')).toBe(19);
        expect(result.start.get('minute')).toBe(0);
        expect(result.start.get('second')).toBe(0);
        expect(result.start.get('millisecond')).toBe(0);
        expect(result.start.get('meridiem')).toBe(1);
        expect(result.start.isCertain('millisecond')).toBe(false);

        var resultDate = result.start.date();
        var expectDate = new Date(2014, 4-1, 18, 19, 0);
        expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());


        expect(result.end.get('year')).toBe(2014);
        expect(result.end.get('month')).toBe(4);
        expect(result.end.get('day')).toBe(18);
        expect(result.end.get('hour')).toBe(20);
        expect(result.end.get('minute')).toBe(0);
        expect(result.end.get('second')).toBe(0);
        expect(result.end.get('millisecond')).toBe(0);
        expect(result.end.get('meridiem')).toBe(1);
        expect(result.end.isCertain('millisecond')).toBe(false);

        var resultDate = result.end.date();
        var expectDate = new Date(2014, 4-1, 18, 20, 0);
        expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
    });
});


test("Test - Time Expression's Meridiem imply", function() {

    testSingleCase(chrono, '1pm-3', new Date(2012,7,10), (result) => {
        expect(result.index).toBe(0);
        expect(result.text).toBe('1pm-3');

        expect(result.start.get('year')).toBe(2012);
        expect(result.start.get('month')).toBe(8);
        expect(result.start.get('day')).toBe(10);
        expect(result.start.get('hour')).toBe(13);
        expect(result.start.get('minute')).toBe(0);
        expect(result.start.get('second')).toBe(0);
        expect(result.start.get('millisecond')).toBe(0);
        expect(result.start.get('meridiem')).toBe(1);
        expect(result.start.isCertain('meridiem')).toBe(true);

        expect(result.end.get('year')).toBe(2012);
        expect(result.end.get('month')).toBe(8);
        expect(result.end.get('day')).toBe(11);
        expect(result.end.get('hour')).toBe(3);
        expect(result.end.get('minute')).toBe(0);
        expect(result.end.get('second')).toBe(0);
        expect(result.end.get('millisecond')).toBe(0);
        expect(result.end.isCertain('meridiem')).toBe(false)
    });

    testSingleCase(chrono, '2014-04-18 1pm-3', new Date(2012,7,10), (result) => {
        expect(result.index).toBe(0);
        expect(result.text).toBe('2014-04-18 1pm-3');

        expect(result.start.get('year')).toBe(2014);
        expect(result.start.get('month')).toBe(4);
        expect(result.start.get('day')).toBe(18);
        expect(result.start.get('hour')).toBe(13);
        expect(result.start.get('minute')).toBe(0);
        expect(result.start.get('second')).toBe(0);
        expect(result.start.get('millisecond')).toBe(0);
        expect(result.start.get('meridiem')).toBe(1);
        expect(result.start.isCertain('meridiem')).toBe(true);

        expect(result.end.get('year')).toBe(2014);
        expect(result.end.get('month')).toBe(4);
        expect(result.end.get('day')).toBe(19);
        expect(result.end.get('hour')).toBe(3);
        expect(result.end.get('minute')).toBe(0);
        expect(result.end.get('second')).toBe(0);
        expect(result.end.get('millisecond')).toBe(0);
        expect(result.end.isCertain('meridiem')).toBe(false)
    });

    testSingleCase(chrono, 'today from 1pm-3', new Date(2012,7,10), (result) => {
        expect(result.index).toBe(0);
        expect(result.text).toBe('today from 1pm-3');

        expect(result.start.get('year')).toBe(2012);
        expect(result.start.get('month')).toBe(8);
        expect(result.start.get('day')).toBe(10);
        expect(result.start.get('hour')).toBe(13);
        expect(result.start.get('minute')).toBe(0);
        expect(result.start.get('second')).toBe(0);
        expect(result.start.get('millisecond')).toBe(0);
        expect(result.start.get('meridiem')).toBe(1);
        expect(result.start.isCertain('meridiem')).toBe(true);

        expect(result.end.get('year')).toBe(2012);
        expect(result.end.get('month')).toBe(8);
        expect(result.end.get('day')).toBe(11);
        expect(result.end.get('hour')).toBe(3);
        expect(result.end.get('minute')).toBe(0);
        expect(result.end.get('second')).toBe(0);
        expect(result.end.get('millisecond')).toBe(0);
        expect(result.end.isCertain('meridiem')).toBe(false)
    });

    testSingleCase(chrono, 'today from 1am-3', new Date(2012,7,10), (result) => {
        expect(result.index).toBe(0);
        expect(result.text).toBe('today from 1am-3');

        expect(result.start.get('year')).toBe(2012);
        expect(result.start.get('month')).toBe(8);
        expect(result.start.get('day')).toBe(10);
        expect(result.start.get('hour')).toBe(1);
        expect(result.start.get('minute')).toBe(0);
        expect(result.start.get('second')).toBe(0);
        expect(result.start.get('millisecond')).toBe(0);
        expect(result.start.get('meridiem')).toBe(0);
        expect(result.start.isCertain('meridiem')).toBe(true);

        expect(result.end.get('year')).toBe(2012);
        expect(result.end.get('month')).toBe(8);
        expect(result.end.get('day')).toBe(10);
        expect(result.end.get('hour')).toBe(3);
        expect(result.end.get('minute')).toBe(0);
        expect(result.end.get('second')).toBe(0);
        expect(result.end.get('millisecond')).toBe(0);
        expect(result.end.isCertain('meridiem')).toBe(false)
    });
});


test("Test - Timezone extraction", function() {

    var text = "friday at 2 pm";
    var result = chrono.parse(text, new Date(2016, 3, 28))[0];
    expect(result.text).toBe(text);
    expect(result.start.isCertain('timezoneOffset')).toBe(false);
    expect(!result.start.get('timezoneOffset')).not.toBeNull();


    var text = "friday at 2 pm EST";
    var result = chrono.parse(text, new Date(2016, 3, 28))[0];
    expect(result.text).toBe(text);
    expect(result.start.isCertain('timezoneOffset')).toBe(true);
    expect(result.start.get('timezoneOffset')).toBe(-300);


    var text = "friday at 2 pm est";
    var result = chrono.parse(text, new Date(2016, 3, 28))[0];
    expect(result.text).toBe(text);
    expect(result.start.isCertain('timezoneOffset')).toBe(true);
    expect(result.start.get('timezoneOffset')).toBe(-300);


    var text = "friday at 2 pm establish ...";
    var result = chrono.parse(text, new Date(2016, 3, 28))[0];
    expect(result.text).toBe('friday at 2 pm');
    expect(result.start.isCertain('timezoneOffset')).toBe(false);
    expect(!result.start.get('timezoneOffset')).not.toBeNull();


    var text = "friday at 2 pm I will do something";
    var result = chrono.parse(text, new Date(2016, 3, 28))[0];
    expect(result.text).toBe('friday at 2 pm');
    expect(result.start.isCertain('timezoneOffset')).toBe(false);
    expect(!result.start.get('timezoneOffset')).not.toBeNull()
});


test("Test - Timezone extraction override", function() {

    var text = "friday at 2 pm IST";
    var result = chrono.parse(text, new Date(2016, 3, 28))[0];
    expect(result.text).toBe(text);
    expect(result.start.isCertain('timezoneOffset')).toBe(true);
    expect(result.start.get('timezoneOffset')).toBe(330);

    var options = { timezones: { 'IST' : 60 }};
    var text = "friday at 2 pm IST";
    var result = chrono.parse(text, new Date(2016, 3, 28), options)[0];
    expect(result.text).toBe(text);
    expect(result.start.isCertain('timezoneOffset')).toBe(true);
    expect(result.start.get('timezoneOffset')).toBe(60);
});

test("Test - Milliseconds", function() {
    
    var text = "friday at 10:31:50.522 - 10:45:50.122 pm";
    var result = chrono.parse(text, new Date(2016, 3, 28))[0];
    expect(result.text).toBe(text);

    expect(result.start.isCertain('millisecond')).toBe(true);
    expect(result.start.get('millisecond')).toBe(522);
    expect(result.start.get('second')).toBe(50);
    expect(result.start.get('minute')).toBe(31);
    expect(result.start.get('hour')).toBe(22);

    expect(result.end.isCertain('millisecond')).toBe(true);
    expect(result.end.get('millisecond')).toBe(122);
    expect(result.end.get('second')).toBe(50);
    expect(result.end.get('minute')).toBe(45);
    expect(result.end.get('hour')).toBe(22);


    var text = "friday at 10:31:50.522142 - 10:45:50.122124 pm";
    var result = chrono.parse(text, new Date(2016, 3, 28))[0];
    expect(result.text).toBe(text);

    expect(result.start.isCertain('millisecond')).toBe(true);
    expect(result.start.get('millisecond')).toBe(522);
    expect(result.start.get('second')).toBe(50);
    expect(result.start.get('minute')).toBe(31);
    expect(result.start.get('hour')).toBe(22);

    expect(result.end.isCertain('millisecond')).toBe(true);
    expect(result.end.get('millisecond')).toBe(122);
    expect(result.end.get('second')).toBe(50);
    expect(result.end.get('minute')).toBe(45);
    expect(result.end.get('hour')).toBe(22)


});

test("Test - Random date + time expression", function() {

    var text = "monday 4/29/2013 630-930am";
    var result = chrono.parse(text)[0];
    expect(result.text).toBe(text);
    
    var text = "wednesday 5/1/2013 1115am";
    var result = chrono.parse(text)[0];
    expect(result.text).toBe(text);
    
    var text = "friday 5/3/2013 1230pm";
    var result = chrono.parse(text)[0];
    expect(result.text).toBe(text);

    
    var text = "sunday 5/6/2013  750am-910am";
    var result = chrono.parse(text)[0];
    expect(result.text).toBe(text);

    var text = "monday 5/13/2013 630-930am";
    var result = chrono.parse(text)[0];
    expect(result.text).toBe(text);

    var text = "wednesday 5/15/2013 1030am";
    var result = chrono.parse(text)[0];
    expect(result.text).toBe(text);

    var text = "friday 6/21/2013 2:30";
    var result = chrono.parse(text)[0];
    expect(result.text).toBe(text);

    var text = "tuesday 7/2/2013 1-230 pm";
    var result = chrono.parse(text)[0];
    expect(result.text).toBe(text);

    var text = "Monday, 6/24/2013, 7:00pm - 8:30pm";
    var result = chrono.parse(text)[0];
    expect(result.text).toBe(text);

    var text = "Thursday6/20/2013 from 7:00 PM to 10:00 PM";
    var result = chrono.parse(text)[0];
    expect(result.text).toBe(text);

    var text = "Wednesday, July 03, 2013 2pm";
    var result = chrono.parse(text)[0];
    expect(result.text).toBe(text);


    var text = "6pm";
    var result = chrono.parse(text)[0];
    expect(result.text).toBe(text);

    var text = "6 pm";
    var result = chrono.parse(text)[0];
    expect(result.text).toBe(text);

    var text = "7-10pm";
    var result = chrono.parse(text)[0];
    expect(result.text).toBe(text);

    var text = "11.1pm";
    var result = chrono.parse(text)[0];
    expect(result.text).toBe(text);

    var text = "that I need to know or am I covered?";
    var result = chrono.parse(text);
    expect(result.length).toBe(0);

    var text = "at 12";
    var result = chrono.parse(text)[0];
    expect(result.text).toBe(text);

    var text = "at noon";
    var result = chrono.parse(text)[0];
    expect(result.text).toBe(text);
    expect(result.start.get('hour')).toBe(12);
    expect(result.start.get('hour')).toBe(12);

    var text = "at midnight";
    var result = chrono.parse(text)[0];
    expect(result.text).toBe(text);

    var text = "at 7 oclock";
    var result = chrono.parse(text)[0];
    expect(result.text).toBe(text);

    var text = "at 7 o clock";
    var result = chrono.parse(text)[0];
    expect(result.text).toBe(text);

    var text = "at 7 o'clock";
    var result = chrono.parse(text)[0];
    expect(result.text).toBe(text);

    var text = "at 7-8 o'clock";
    var result = chrono.parse(text)[0];
    expect(result.text).toBe(text)
});

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.034 ]--