M1 공유 타겟(U1)+M2 저장 진행 알림: ACTION_SEND 인텐트 필터+ShareTarget/SharePayload(RED 7건)+루트 타이머 큐 전송(am start 인텐트 E2E로 서버 큐 반영 실증), 오프라인 저장 Android ProgressBar 노티(5% 스로틀)→폰 저장 완료 전환(34MB E2E, Report(1) 되덮어쓰기 방지). 154/154 GREEN

This commit is contained in:
Yun Chan 2026-08-15 18:45:51 +09:00
parent 69094595a5
commit 04ff0ff93d
7 changed files with 166 additions and 6 deletions

View file

@ -61,6 +61,24 @@ public class MobileCoreTests
public void 정상_시_빈_문자열()
=> Assert.Equal("", ConnectionTroubleshoot.Message(isConfigured: true, lastError: null));
// ── M1 공유 타겟(U1): 공유 텍스트 → URL 추출 ──
[Theory]
[InlineData("https://youtu.be/abc123", "https://youtu.be/abc123")] // URL 만
[InlineData("재밌는 영상\nhttps://youtu.be/abc123", "https://youtu.be/abc123")] // 제목+URL (유튜브 공유 형식)
[InlineData("http://x.com/a?b=1 입니다", "http://x.com/a?b=1")] // http + 쿼리
[InlineData("a https://1.com b https://2.com", "https://1.com")] // 첫 번째 우선
public void 공유_텍스트에서_URL_추출(string text, string expected)
=> Assert.Equal(expected, SharePayload.ExtractUrl(text));
[Theory]
[InlineData(null)]
[InlineData("")]
[InlineData("URL 없는 그냥 텍스트")]
public void URL_없으면_null(string? text)
=> Assert.Null(SharePayload.ExtractUrl(text));
// ── U4 저장소(임시 디렉터리로 파일 시스템 검증) ──
[Fact]