import 'package:flutter_test/flutter_test.dart';
import 'package:tane/domain/message_rules.dart';

void main() {
  group('containsUrl', () {
    test('flags explicit schemes and www', () {
      expect(containsUrl('look https://evil.example/login'), isTrue);
      expect(containsUrl('http://foo'), isTrue);
      expect(containsUrl('go to www.example.org now'), isTrue);
    });

    test('flags bare domains with a common TLD', () {
      expect(containsUrl('see tomate.com'), isTrue);
      expect(containsUrl('my-shop.store has it'), isTrue);
      expect(containsUrl('grab it at bit.ly'), isFalse); // ly not in the list
    });

    test('leaves ordinary seed talk alone', () {
      expect(containsUrl('tengo 3.5kg de tomate rosa'), isFalse);
      expect(containsUrl('variedad F1 vs polinización abierta'), isFalse);
      expect(containsUrl('nos vemos a las 12.30'), isFalse);
      expect(containsUrl('semillas de calabaza, ¿cambiamos?'), isFalse);
      expect(containsUrl(''), isFalse);
    });

    test('is case-insensitive', () {
      expect(containsUrl('HTTPS://EXAMPLE.COM'), isTrue);
      expect(containsUrl('Example.COM'), isTrue);
    });
  });
}
