@@ -73,14 +73,19 @@ def test_cli_output_flag_with_unicode():
7373 minified_content = f .read ()
7474
7575 # Verify problematic Unicode characters are preserved
76- if hasattr (sys , 'pypy_version_info' ):
77- # PyPy3: Some Unicode characters are escaped differently
76+ if hasattr (sys , 'pypy_version_info' ) and sys . version_info [ 0 ] >= 3 :
77+ # PyPy3: Unicode characters are escaped as \\u escapes
7878 assert "\\ \\ u274c" in minified_content # ❌ Issue #113
7979 assert "✓" in minified_content # Issue #129
8080 assert "\\ \\ U0001f40d" in minified_content # 🐍 General emoji
8181 assert "Привет" in minified_content # Issue #123
8282 assert "©" in minified_content # Issue #59
8383 assert "∀" in minified_content # Mathematical symbols
84+ elif hasattr (sys , 'pypy_version_info' ) and sys .version_info [0 ] < 3 :
85+ # PyPy2: Unicode characters appear as UTF-8 byte sequences
86+ assert "\\ xe2\\ x9d\\ x8c" in minified_content # ❌ Issue #113
87+ assert "\\ xe2\\ x9c\\ x93" in minified_content # ✓ Issue #129
88+ assert "\\ xf0\\ x9f\\ x90\\ x8d" in minified_content # 🐍 General emoji
8489 elif sys .version_info [0 ] >= 3 :
8590 # CPython 3: Unicode characters should appear literally
8691 assert "❌" in minified_content # Issue #113
@@ -131,14 +136,19 @@ def test_cli_in_place_with_unicode():
131136 with codecs .open (temp_path , 'r' , encoding = 'utf-8' ) as f :
132137 content = f .read ()
133138
134- if hasattr (sys , 'pypy_version_info' ):
135- # PyPy3: Some Unicode characters are escaped differently
139+ if hasattr (sys , 'pypy_version_info' ) and sys . version_info [ 0 ] >= 3 :
140+ # PyPy3: Unicode characters are escaped as \\u escapes
136141 assert "✓" in content
137142 assert "\\ \\ u274c" in content # ❌
138143 assert "\\ \\ U0001f40d" in content # 🐍
139144 assert "Привет" in content
140145 assert "©" in content
141146 assert "∀" in content
147+ elif hasattr (sys , 'pypy_version_info' ) and sys .version_info [0 ] < 3 :
148+ # PyPy2: Unicode characters appear as UTF-8 byte sequences
149+ assert "\\ xe2\\ x9c\\ x93" in content # ✓
150+ assert "\\ xe2\\ x9d\\ x8c" in content # ❌
151+ assert "\\ xf0\\ x9f\\ x90\\ x8d" in content # 🐍
142152 elif sys .version_info [0 ] >= 3 :
143153 # CPython 3: Unicode characters should appear literally
144154 assert "✓" in content
0 commit comments