@@ -118,6 +118,37 @@ final class AndroidEntryOverrideResolutionTests: XCTestCase {
118118 XCTAssertEqual ( resolved, fallback)
119119 }
120120
121+ // MARK: - effectiveCodeConnectPackageName
122+
123+ func testIconsEntry_bothPackageNames_prefersCodeConnect( ) throws {
124+ let entry = try makeAndroidIconsEntry (
125+ composePackageName: " com.compose " ,
126+ codeConnectPackageName: " com.codeconnect "
127+ )
128+
129+ XCTAssertEqual ( entry. effectiveCodeConnectPackageName, " com.codeconnect " )
130+ }
131+
132+ func testIconsEntry_onlyComposePackageName_fallsBack( ) throws {
133+ let entry = try makeAndroidIconsEntry ( composePackageName: " com.compose " )
134+
135+ XCTAssertEqual ( entry. effectiveCodeConnectPackageName, " com.compose " )
136+ }
137+
138+ func testIconsEntry_onlyCodeConnectPackageName_returnsIt( ) throws {
139+ let entry = try makeAndroidIconsEntry ( codeConnectPackageName: " com.codeconnect " )
140+
141+ XCTAssertEqual ( entry. effectiveCodeConnectPackageName, " com.codeconnect " )
142+ }
143+
144+ func testIconsEntry_bothNil_returnsNil( ) throws {
145+ let entry = try makeAndroidIconsEntry ( )
146+
147+ XCTAssertNil ( entry. effectiveCodeConnectPackageName)
148+ }
149+
150+ // MARK: - ImagesEntry mainRes
151+
121152 func testImagesEntry_mainResOverride_resolvesEntryValue( ) throws {
122153 let entry = try makeAndroidImagesEntry ( mainRes: " /images/res " )
123154 let fallback = URL ( fileURLWithPath: " /default/res " )
@@ -129,10 +160,16 @@ final class AndroidEntryOverrideResolutionTests: XCTestCase {
129160
130161 // MARK: - Helpers
131162
132- private func makeAndroidIconsEntry( mainRes: String ? = nil ) throws -> AndroidIconsEntry {
163+ private func makeAndroidIconsEntry(
164+ mainRes: String ? = nil ,
165+ composePackageName: String ? = nil ,
166+ codeConnectPackageName: String ? = nil
167+ ) throws -> AndroidIconsEntry {
133168 var fields = [ String] ( )
134169 fields. append ( " \" output \" : \" drawable \" " )
135170 if let mainRes { fields. append ( " \" mainRes \" : \" \( mainRes) \" " ) }
171+ if let composePackageName { fields. append ( " \" composePackageName \" : \" \( composePackageName) \" " ) }
172+ if let codeConnectPackageName { fields. append ( " \" codeConnectPackageName \" : \" \( codeConnectPackageName) \" " ) }
136173 let json = " { \( fields. joined ( separator: " , " ) ) } "
137174 return try JSONDecoder ( ) . decode ( AndroidIconsEntry . self, from: Data ( json. utf8) )
138175 }
0 commit comments