Skip to content

Commit 32dcbd2

Browse files
Lord-McSweeneyLord-McSweeney
Lord-McSweeney
authored andcommitted
avm1/tests: Replace unit tests for global functions with SWF tests
Added 3 tests for SWFv5, SWFv6, and SWFv7
1 parent 9044881 commit 32dcbd2

File tree

13 files changed

+729
-178
lines changed

13 files changed

+729
-178
lines changed

core/src/avm1/globals.rs

-178
Original file line numberDiff line numberDiff line change
@@ -1026,181 +1026,3 @@ pub fn remove_display_object<'gc>(this: DisplayObject<'gc>, activation: &mut Act
10261026
}
10271027
}
10281028
}
1029-
1030-
#[cfg(test)]
1031-
#[allow(clippy::unreadable_literal)]
1032-
mod tests {
1033-
use super::*;
1034-
1035-
fn setup<'gc>(activation: &mut Activation<'_, 'gc>) -> Object<'gc> {
1036-
create_globals(activation.strings()).1
1037-
}
1038-
1039-
test_method!(boolean_function, "Boolean", setup,
1040-
[19] => {
1041-
[true] => true,
1042-
[false] => false,
1043-
[10.0] => true,
1044-
[-10.0] => true,
1045-
[0.0] => false,
1046-
[f64::INFINITY] => true,
1047-
[f64::NAN] => false,
1048-
[""] => false,
1049-
["Hello"] => true,
1050-
[" "] => true,
1051-
["0"] => true,
1052-
["1"] => true,
1053-
[Value::Undefined] => false,
1054-
[Value::Null] => false,
1055-
[] => Value::Undefined
1056-
},
1057-
[6] => {
1058-
[true] => true,
1059-
[false] => false,
1060-
[10.0] => true,
1061-
[-10.0] => true,
1062-
[0.0] => false,
1063-
[f64::INFINITY] => true,
1064-
[f64::NAN] => false,
1065-
[""] => false,
1066-
["Hello"] => false,
1067-
[" "] => false,
1068-
["0"] => false,
1069-
["1"] => true,
1070-
[Value::Undefined] => false,
1071-
[Value::Null] => false,
1072-
[] => Value::Undefined
1073-
}
1074-
);
1075-
1076-
test_method!(is_nan_function, "isNaN", setup,
1077-
[19] => {
1078-
[true] => false,
1079-
[false] => false,
1080-
[10.0] => false,
1081-
[-10.0] => false,
1082-
[0.0] => false,
1083-
[f64::INFINITY] => false,
1084-
[f64::NAN] => true,
1085-
[""] => true,
1086-
["Hello"] => true,
1087-
[" "] => true,
1088-
[" 5 "] => true,
1089-
["0"] => false,
1090-
["1"] => false,
1091-
["Infinity"] => true,
1092-
["100a"] => true,
1093-
["0x10"] => false,
1094-
["0xhello"] => true,
1095-
["0x1999999981ffffff"] => false,
1096-
["0xUIXUIDFKHJDF012345678"] => true,
1097-
["123e-1"] => false,
1098-
[] => true
1099-
}
1100-
);
1101-
1102-
test_method!(is_finite, "isFinite", setup,
1103-
[19] => {
1104-
[true] => true,
1105-
[false] => true,
1106-
[10.0] => true,
1107-
[-10.0] => true,
1108-
[0.0] => true,
1109-
[f64::INFINITY] => false,
1110-
[f64::NEG_INFINITY] => false,
1111-
[f64::NAN] => false,
1112-
[""] => false,
1113-
["Hello"] => false,
1114-
[" "] => false,
1115-
[" 5 "] => false,
1116-
["0"] => true,
1117-
["1"] => true,
1118-
["Infinity"] => false,
1119-
["-Infinity"] => false,
1120-
["100a"] => false,
1121-
["0x10"] => true,
1122-
["0xhello"] => false,
1123-
["0x1999999981ffffff"] => true,
1124-
["0xUIXUIDFKHJDF012345678"] => false,
1125-
["123e-1"] => true,
1126-
[Value::Undefined] => false,
1127-
[Value::Null] => false,
1128-
[] => false
1129-
}
1130-
);
1131-
1132-
test_method!(number_function, "Number", setup,
1133-
[5, 6] => {
1134-
[true] => 1.0,
1135-
[false] => 0.0,
1136-
[10.0] => 10.0,
1137-
[-10.0] => -10.0,
1138-
["true"] => f64::NAN,
1139-
["false"] => f64::NAN,
1140-
[1.0] => 1.0,
1141-
[0.0] => 0.0,
1142-
[0.000] => 0.0,
1143-
["0.000"] => 0.0,
1144-
["True"] => f64::NAN,
1145-
["False"] => f64::NAN,
1146-
[f64::NAN] => f64::NAN,
1147-
[f64::INFINITY] => f64::INFINITY,
1148-
[f64::NEG_INFINITY] => f64::NEG_INFINITY,
1149-
[" 12"] => 12.0,
1150-
[" \t\r\n12"] => 12.0,
1151-
["\u{A0}12"] => f64::NAN,
1152-
[" 0x12"] => f64::NAN,
1153-
["01.2"] => 1.2,
1154-
[""] => f64::NAN,
1155-
["Hello"] => f64::NAN,
1156-
[" "] => f64::NAN,
1157-
[" 5 "] => f64::NAN,
1158-
["0"] => 0.0,
1159-
["1"] => 1.0,
1160-
["Infinity"] => f64::NAN,
1161-
["-Infinity"] => f64::NAN,
1162-
["inf"] => f64::NAN,
1163-
["-inf"] => f64::NAN,
1164-
["100a"] => f64::NAN,
1165-
["0xhello"] => f64::NAN,
1166-
["123e-1"] => 12.3,
1167-
["0xUIXUIDFKHJDF012345678"] => f64::NAN,
1168-
[] => 0.0
1169-
},
1170-
[5] => {
1171-
["0x12"] => f64::NAN,
1172-
["0x10"] => f64::NAN,
1173-
["0x1999999981ffffff"] => f64::NAN,
1174-
["010"] => 10,
1175-
["-010"] => -10,
1176-
["+010"] => 10,
1177-
[" 010"] => 10,
1178-
[" -010"] => -10,
1179-
[" +010"] => 10,
1180-
["037777777777"] => 37777777777.0,
1181-
["-037777777777"] => -37777777777.0
1182-
},
1183-
[6, 7] => {
1184-
["0x12"] => 18.0,
1185-
["0x10"] => 16.0,
1186-
["-0x10"] => f64::NAN,
1187-
["0x1999999981ffffff"] => -2113929217.0,
1188-
["010"] => 8,
1189-
["-010"] => -8,
1190-
["+010"] => 8,
1191-
[" 010"] => 10,
1192-
[" -010"] => -10,
1193-
[" +010"] => 10,
1194-
["037777777777"] => -1,
1195-
["-037777777777"] => 1
1196-
},
1197-
[5, 6] => {
1198-
[Value::Undefined] => 0.0,
1199-
[Value::Null] => 0.0
1200-
},
1201-
[7] => {
1202-
[Value::Undefined] => f64::NAN,
1203-
[Value::Null] => f64::NAN
1204-
}
1205-
);
1206-
}

0 commit comments

Comments
 (0)