blob: 71b0fce88983bc72db9a8449c256b019a2cb55e9 [file] [log] [blame]
// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:jnigen/src/summary/summary.dart';
import 'package:test/test.dart';
void main() {
group('getActionableSummaryParseMessage', () {
test('returns actionable message for unsupported classfile version', () {
const stderr = '''
Exception in thread "main" java.lang.RuntimeException
Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 66
''';
final message = getActionableSummaryParseMessage(stderr);
expect(message, isNotNull);
expect(message, contains('class file version 66'));
expect(message, contains('JDK version (11 to 17) (see JNIgen README)'));
expect(message, contains('javac --release 17'));
});
test('returns null for unrelated stderr', () {
const stderr = 'Not found: [com.github.dart_lang.jnigen.DoesNotExist]';
final message = getActionableSummaryParseMessage(stderr);
expect(message, isNull);
});
});
}