blob: 9ecd199c2f480189b08ba24a2a34335d8d911da8 [file]
@TestOn('vm')
library;
import 'dart:isolate';
import 'package:html/parser.dart' show parse;
import 'package:test/test.dart';
void main() {
test('parse() limits active formatting element backwards scan', () async {
final n = 50000;
final payload = StringBuffer();
for (var i = 0; i < n; i++) {
payload.write('<b x=$i>');
}
final payloadStr = payload.toString();
// This will reliably timeout on unpatched versions because Isolate.run
// frees the main event loop to trigger the test framework's timer.
await Isolate.run(() {
parse(payloadStr);
});
}, timeout: const Timeout(Duration(seconds: 10)));
}