//@ skip if $hostOS == "windows"
// FIXME: unskip this test when https://bugs.webkit.org/show_bug.cgi?id=176538 is fixed.

function shouldBe(actual, expected)
{
    if (actual !== expected)
        throw new Error(`bad value: ${actual}`);
}

{
    let date = new Date("May 8");
    shouldBe(date.getFullYear(), 2000);
    shouldBe(date.getMonth(), 4);
    shouldBe(date.getDate(), 8);
}
{
    let date = new Date("Feb 29");
    shouldBe(date.getFullYear(), 2000);
    shouldBe(date.getMonth(), 1);
    shouldBe(date.getDate(), 29);
}
{
    let date = new Date(" May 8 ");
    shouldBe(date.getFullYear(), 2000);
    shouldBe(date.getMonth(), 4);
    shouldBe(date.getDate(), 8);
}
{
    let date = new Date(" Feb 29 ");
    shouldBe(date.getFullYear(), 2000);
    shouldBe(date.getMonth(), 1);
    shouldBe(date.getDate(), 29);
}
{
    let date = new Date("May/8");
    shouldBe(date.getFullYear(), 2000);
    shouldBe(date.getMonth(), 4);
    shouldBe(date.getDate(), 8);
}
{
    let date = new Date("Feb/29");
    shouldBe(date.getFullYear(), 2000);
    shouldBe(date.getMonth(), 1);
    shouldBe(date.getDate(), 29);
}
{
    let date = new Date("May8");
    shouldBe(date.getFullYear(), 2000);
    shouldBe(date.getMonth(), 4);
    shouldBe(date.getDate(), 8);
}
{
    let date = new Date("Feb29");
    shouldBe(date.getFullYear(), 2000);
    shouldBe(date.getMonth(), 1);
    shouldBe(date.getDate(), 29);
}

{
    let date = new Date("May 8 -1");
    shouldBe(date.getFullYear(), -1);
    shouldBe(date.getMonth(), 4);
    shouldBe(date.getDate(), 8);
}
