firebase / firebase/firebase-admin-java
[BUG] RemoteConfig unit tests fail in non-English (e.g., Korean) Locales due to Date Parsing
- Vorherrschende Sprache
- Java
- Sterne
- 620
- Forks
- 305
- Ø Merge
- 3 Std. 23 Min.
- Gemergte PRs (30 T.)
- 1
Beschreibung
### [REQUIRED] Step 2: Describe your environment
* **Operating System version:** macOS (Apple Silicon, ko_KR locale)
* **Firebase SDK version:** 9.7.0 (Current development branch)
* **Library version:** N/A
* **Firebase Product:** Remote Config
### [REQUIRED] Step 3: Describe the problem
#### Steps to reproduce:
The unit tests for Remote Config fail when the system's default locale is set to a non-English language (e.g., Korean). This is due to `RemoteConfigUtil` using `SimpleDateFormat` without an explicit `Locale.ENGLISH`, causing parsing errors or string comparison mismatches against English date formats.
#### Error Output:
```text
org.junit.ComparisonFailure: expected:<...NODE","updateTime":"[Tue, 08 Dec] 2020 15:49:51 UTC",...>
but was:<...NODE","updateTime":"[화, 08 12월] 2020 15:49:51 UTC",...>
Caused by: java.text.ParseException: Unparseable date: "Tue, 08 Dec 2020 15:49:51 UTC"
at java.base/java.text.DateFormat.parse(DateFormat.java:427)
at com.google.firebase.remoteconfig.RemoteConfigUtil.convertFromUtcDateFormat(RemoteConfigUtil.java:91)
```
#### Relevant Code:
The issue occurs in `RemoteConfigUtil.java`. There are 4 methods using `SimpleDateFormat` without an explicit `Locale`. To ensure consistent behavior across different system locales, all instances of `SimpleDateFormat` should be instantiated with `Locale.ENGLISH`.
**Affected Methods:**
* `convertToUtcZuluFormat(long millis)`
* `convertToUtcDateFormat(long millis)`
* `convertFromUtcZuluFormat(String dateString)`
* `convertFromUtcDateFormat(String dateString)`
**Current implementation:**
```java
SimpleDateFormat dateFormat = new SimpleDateFormat(PATTERN);
```
Recommended fix:
```Java
SimpleDateFormat dateFormat = new SimpleDateFormat(PATTERN, Locale.ENGLISH);
```
I've already identified the fix and verified it locally by setting the locale to Korean. I'd like to submit a Pull Request to resolve this issue.
Beitragsleitfaden
Bewertung
Dieses Issue wurde noch nicht bewertet.