ruffle/core/tests/swfs/avm1/date/base.as

180 lines
5.2 KiB
ActionScript

var date = new ArgumentDefinition("date")
.add(0)
.add("31")
.add(32)
.add(-1)
.add(NaN)
.add({}, "{}")
.add(undefined)
.add(null)
.add(true)
.add(false)
.add("invalid string")
.add(Infinity)
.add(32.5);
var month = new ArgumentDefinition("month")
.add(0)
.add("11")
.add(12)
.add(-1)
.add(NaN)
.add({}, "{}")
.add(undefined)
.add(null)
.add(true)
.add(false)
.add("invalid string")
.add(Infinity)
.add(11.5);
var year = new ArgumentDefinition("year")
.add(0)
.add("2000")
.add(-200)
.add(NaN)
.add({}, "{}")
.add(undefined)
.add(null)
.add(true)
.add(false)
.add("invalid string")
.add(Infinity)
.add(7002.5);
var hour = new ArgumentDefinition("hour")
.add(0)
.add("23")
.add(24)
.add(-1)
.add(NaN)
.add({}, "{}")
.add(undefined)
.add(null)
.add(true)
.add(false)
.add("invalid string")
.add(Infinity)
.add(24.5);
var minute = new ArgumentDefinition("minute")
.add(0)
.add("59")
.add(60)
.add(-1)
.add(NaN)
.add({}, "{}")
.add(undefined)
.add(null)
.add(true)
.add(false)
.add("invalid string")
.add(Infinity)
.add(60.5);
var second = new ArgumentDefinition("second", minute);
var millisecond = new ArgumentDefinition("millisecond")
.add(0)
.add("999")
.add(1000)
.add(-1)
.add(NaN)
.add({}, "{}")
.add(undefined)
.add(null)
.add(true)
.add(false)
.add("invalid string")
.add(Infinity)
.add(1000.5);
var time = new ArgumentDefinition("time")
.add(0)
.add("1594844387653")
.add(-1594844387653)
.add(NaN)
.add({}, "{}")
.add(undefined)
.add(null)
.add(true)
.add(false)
.add("invalid string")
.add(Infinity)
.add(5.5);
function constructor() {
switch (arguments.length) {
case 0: return new Date();
case 1: return new Date(arguments[0]);
case 2: return new Date(arguments[0], arguments[1]);
case 3: return new Date(arguments[0], arguments[1], arguments[2]);
case 4: return new Date(arguments[0], arguments[1], arguments[2], arguments[3]);
case 5: return new Date(arguments[0], arguments[1], arguments[2], arguments[3], arguments[4]);
case 6: return new Date(arguments[0], arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]);
case 7: return new Date(arguments[0], arguments[1], arguments[2], arguments[3], arguments[4], arguments[5], arguments[6]);
default: throw "Too many args for constructor! Found " + Utils.stringify(arguments.length);
}
}
function defaultConstructor() {
return new Date(1582971753000);
}
function fullRepr(name, date) {
var result = "";
if (date instanceof Date) {
result += name + ": " + Utils.stringify(date) + "\n";
result += name + ".getDate(): " + Utils.stringify(date.getDate()) + "\n";
result += name + ".getDay(): " + Utils.stringify(date.getDay()) + "\n";
result += name + ".getFullYear(): " + Utils.stringify(date.getFullYear()) + "\n";
result += name + ".getHours(): " + Utils.stringify(date.getHours()) + "\n";
result += name + ".getMilliseconds(): " + Utils.stringify(date.getMilliseconds()) + "\n";
result += name + ".getMinutes(): " + Utils.stringify(date.getMinutes()) + "\n";
result += name + ".getMonth(): " + Utils.stringify(date.getMonth()) + "\n";
result += name + ".getSeconds(): " + Utils.stringify(date.getSeconds()) + "\n";
result += name + ".getTime(): " + Utils.stringify(date.getTime()) + "\n";
result += name + ".getTimezoneOffset(): " + Utils.stringify(date.getTimezoneOffset()) + "\n";
result += name + ".getUTCDate(): " + Utils.stringify(date.getUTCDate()) + "\n";
result += name + ".getUTCDay(): " + Utils.stringify(date.getUTCDay()) + "\n";
result += name + ".getUTCFullYear(): " + Utils.stringify(date.getUTCFullYear()) + "\n";
result += name + ".getUTCHours(): " + Utils.stringify(date.getUTCHours()) + "\n";
result += name + ".getUTCMilliseconds(): " + Utils.stringify(date.getUTCMilliseconds()) + "\n";
result += name + ".getUTCMinutes(): " + Utils.stringify(date.getUTCMinutes()) + "\n";
result += name + ".getUTCMonth(): " + Utils.stringify(date.getUTCMonth()) + "\n";
result += name + ".getUTCSeconds(): " + Utils.stringify(date.getUTCSeconds()) + "\n";
result += name + ".getUTCYear(): " + Utils.stringify(date.getUTCYear()) + "\n";
result += name + ".getYear(): " + Utils.stringify(date.getYear()) + "\n";
result += name + ".valueOf(): " + Utils.stringify(date.valueOf()) + "\n";
} else {
result += name + ": " + Utils.stringify(date) + "\n";
}
trace(result);
}
function partialRepr(name, date) {
trace(name + ": " + date + " (" + date.valueOf() + ")\n");
}
//var test = new ClassDefinition("Date", Date, defaultConstructor, fullRepr);
// test.testConstructor(constructor, [year, month, date, hour, minute, second, millisecond]);
//test.testStaticMethod("UTC", [year, month, date, hour, minute, second, millisecond]);
//
//
//
//
//
//
//
//
//
//
//
//
//
//