Ф1Ф2' .'дубльне филиал'; $links = (new DirectoryParser)->parseBranchList($html); expect($links)->toBe(['/krasnoyarsk/firm/111', '/krasnoyarsk/firm/222']); }); it('из карточки 2ГИС берёт телефон из tel: и адрес из заголовка', function () { $html = 'КрасЛомбард, улица Ладо Кецховели, 30, Красноярск — 2ГИС' .'

КрасЛомбард

+7 (391) 2...'; $cards = (new DirectoryParser)->parseFirmCard($html, 'https://2gis.ru/krasnoyarsk/firm/111', '2ГИС'); expect($cards)->toHaveCount(1); expect($cards[0]->number)->toBe('+73912920000'); expect($cards[0]->office)->toBe('улица Ладо Кецховели, 30'); expect($cards[0]->url)->toBe('https://2gis.ru/krasnoyarsk/firm/111'); expect($cards[0]->source)->toBe('2ГИС'); }); it('схлопывает неразрывные/двойные пробелы в адресе из заголовка', function () { $html = "КрасЛомбард,\u{00A0}улица Весны,\u{00A0}7а, Красноярск — 2ГИС" .'x'; $cards = (new DirectoryParser)->parseFirmCard($html, 'u', '2ГИС'); expect($cards[0]->office)->toBe('улица Весны, 7а'); });