From 0775f052768278fe9e37dace3f20b935db5afb8f Mon Sep 17 00:00:00 2001
From: Marcono1234 <Marcono1234@users.noreply.github.com>
Date: Fri, 22 May 2020 00:46:27 +0200
Subject: [PATCH 1/2] Improve InternationalizationTest

- Remove "raw" tests since after compiling they are the same as the one with
  escape sequences
- Add tests for supplementary code points (> \uFFFF)
---
 .../functional/InternationalizationTest.java  | 41 +++++++++++--------
 1 file changed, 23 insertions(+), 18 deletions(-)

diff --git a/gson/src/test/java/com/google/gson/functional/InternationalizationTest.java b/gson/src/test/java/com/google/gson/functional/InternationalizationTest.java
index 169c37a503..3a29b1908a 100644
--- a/gson/src/test/java/com/google/gson/functional/InternationalizationTest.java
+++ b/gson/src/test/java/com/google/gson/functional/InternationalizationTest.java
@@ -34,32 +34,16 @@ protected void setUp() throws Exception {
     gson = new Gson();
   }
 
-  /*
-  public void testStringsWithRawChineseCharactersSerialization() throws Exception {
-    String target = "好好好";
-    String json = gson.toJson(target);
-    String expected = "\"\\u597d\\u597d\\u597d\"";
-    assertEquals(expected, json);
-  }
-  */
-
-  public void testStringsWithRawChineseCharactersDeserialization() throws Exception {
-    String expected = "好好好";
-    String json = "\"" + expected + "\"";
-    String actual = gson.fromJson(json, String.class);
-    assertEquals(expected, actual);
-  }
-
   public void testStringsWithUnicodeChineseCharactersSerialization() throws Exception {
     String target = "\u597d\u597d\u597d";
     String json = gson.toJson(target);
-    String expected = "\"\u597d\u597d\u597d\"";
+    String expected = '"' + target + '"';
     assertEquals(expected, json);
   }
 
   public void testStringsWithUnicodeChineseCharactersDeserialization() throws Exception {
     String expected = "\u597d\u597d\u597d";
-    String json = "\"" + expected + "\"";
+    String json = '"' + expected + '"';
     String actual = gson.fromJson(json, String.class);
     assertEquals(expected, actual);
   }
@@ -68,4 +52,25 @@ public void testStringsWithUnicodeChineseCharactersEscapedDeserialization() thro
     String actual = gson.fromJson("'\\u597d\\u597d\\u597d'", String.class);
     assertEquals("\u597d\u597d\u597d", actual);
   }
+
+  public void testSupplementaryUnicodeSerialization() throws Exception {
+    // Supplementary code point U+1F60A
+    String supplementaryChar = new String(new int[] {0x1F60A}, 0, 1);
+    String json = gson.toJson(supplementaryChar);
+    assertEquals('"' + supplementaryChar + '"', json);
+  }
+
+  public void testSupplementaryUnicodeDeserialization() throws Exception {
+    // Supplementary code point U+1F60A
+    String supplementaryChar = new String(new int[] {0x1F60A}, 0, 1);
+    String actual = gson.fromJson('"' + supplementaryChar + '"', String.class);
+    assertEquals(supplementaryChar, actual);
+  }
+
+  public void testSupplementaryUnicodeEscapedDeserialization() throws Exception {
+    // Supplementary code point U+1F60A
+    String supplementaryChar = new String(new int[] {0x1F60A}, 0, 1);
+    String actual = gson.fromJson("\"\uD83D\uDE0A\"", String.class);
+    assertEquals(supplementaryChar, actual);
+  }
 }

From 84920314e3ed56a42e8dad9946ef6fbf28a588e0 Mon Sep 17 00:00:00 2001
From: Marcono1234 <Marcono1234@users.noreply.github.com>
Date: Mon, 8 Aug 2022 00:49:51 +0200
Subject: [PATCH 2/2] Improve variable names, fix incorrect escape sequences

---
 .../functional/InternationalizationTest.java  | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)

diff --git a/gson/src/test/java/com/google/gson/functional/InternationalizationTest.java b/gson/src/test/java/com/google/gson/functional/InternationalizationTest.java
index 3a29b1908a..bdf6ea6e83 100644
--- a/gson/src/test/java/com/google/gson/functional/InternationalizationTest.java
+++ b/gson/src/test/java/com/google/gson/functional/InternationalizationTest.java
@@ -17,7 +17,6 @@
 package com.google.gson.functional;
 
 import com.google.gson.Gson;
-
 import junit.framework.TestCase;
 
 /**
@@ -55,22 +54,22 @@ public void testStringsWithUnicodeChineseCharactersEscapedDeserialization() thro
 
   public void testSupplementaryUnicodeSerialization() throws Exception {
     // Supplementary code point U+1F60A
-    String supplementaryChar = new String(new int[] {0x1F60A}, 0, 1);
-    String json = gson.toJson(supplementaryChar);
-    assertEquals('"' + supplementaryChar + '"', json);
+    String supplementaryCodePoint = new String(new int[] {0x1F60A}, 0, 1);
+    String json = gson.toJson(supplementaryCodePoint);
+    assertEquals('"' + supplementaryCodePoint + '"', json);
   }
 
   public void testSupplementaryUnicodeDeserialization() throws Exception {
     // Supplementary code point U+1F60A
-    String supplementaryChar = new String(new int[] {0x1F60A}, 0, 1);
-    String actual = gson.fromJson('"' + supplementaryChar + '"', String.class);
-    assertEquals(supplementaryChar, actual);
+    String supplementaryCodePoint = new String(new int[] {0x1F60A}, 0, 1);
+    String actual = gson.fromJson('"' + supplementaryCodePoint + '"', String.class);
+    assertEquals(supplementaryCodePoint, actual);
   }
 
   public void testSupplementaryUnicodeEscapedDeserialization() throws Exception {
     // Supplementary code point U+1F60A
-    String supplementaryChar = new String(new int[] {0x1F60A}, 0, 1);
-    String actual = gson.fromJson("\"\uD83D\uDE0A\"", String.class);
-    assertEquals(supplementaryChar, actual);
+    String supplementaryCodePoint = new String(new int[] {0x1F60A}, 0, 1);
+    String actual = gson.fromJson("\"\\uD83D\\uDE0A\"", String.class);
+    assertEquals(supplementaryCodePoint, actual);
   }
 }