import 'package:flutter_test/flutter_test.dart';
import 'package:smplayer/core/infra/player_engine/media3_player_engine.dart';

void main() {
  group('isMedia3NetworkError', () {
    test('命中所有 ERROR_CODE_IO_* 网络类错误', () {
      expect(
        isMedia3NetworkError('ERROR_CODE_IO_NETWORK_CONNECTION_FAILED'),
        isTrue,
      );
      expect(isMedia3NetworkError('ERROR_CODE_IO_BAD_HTTP_STATUS'), isTrue);
      expect(isMedia3NetworkError('ERROR_CODE_IO_FILE_NOT_FOUND'), isTrue);
    });

    test('反直觉边界：TIMEOUT 不带 IO_ 前缀 → 不命中（走宽限等待）', () {
      expect(isMedia3NetworkError('ERROR_CODE_TIMEOUT'), isFalse);
    });

    test('解码/解析类错误不命中', () {
      expect(isMedia3NetworkError('ERROR_CODE_DECODING_FAILED'), isFalse);
      expect(
        isMedia3NetworkError('ERROR_CODE_PARSING_CONTAINER_MALFORMED'),
        isFalse,
      );
      expect(isMedia3NetworkError('playback_error'), isFalse);
    });
  });
}
