d4t_formulas/test/d4rt_test.dart

39 lines
832 B
Dart
Raw Normal View History

2025-09-22 15:00:34 +00:00
import 'package:test/test.dart';
import 'package:d4rt/d4rt.dart';
import 'dart:math' as Math;
main(){
test('Access to Math', () {
final completeSource = """
import 'dart:math';
main() => sin(42);
""";
final interpreter = D4rt();
final result = interpreter.execute(source: completeSource);
expect(result, Math.sin(42));
});
test('Access to IO', () {
final completeSource = """
import 'dart:io';
main() {
File file = File('/etc/passwd');
String contents = file.readAsStringSync();
return contents;
}
""";
final interpreter = D4rt();
2025-11-09 19:29:58 +00:00
interpreter.grant(FilesystemPermission.readPath("/etc/passwd"));
2025-09-22 15:00:34 +00:00
final result = interpreter.execute(source: completeSource);
expect(result, contains("root"));
});
}