Skip to content

Commit fae50ad

Browse files
authored
Merge pull request #6275 from tommy9/unicode-default-value
Unicode default value
2 parents c417164 + 6266fe1 commit fae50ad

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

Rubberduck.Parsing/VBA/Extensions/StringExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ public static string ToVbExpression(this string managed, bool useConsts = true)
170170
tokens.Add($"\"{literal}\"");
171171
literal = string.Empty;
172172
}
173-
tokens.Add($"ChrW$(&H{Convert.ToInt16(character):X})");
173+
tokens.Add($"ChrW$(&H{Convert.ToInt32(character):X})");
174174
}
175175

176176
}

RubberduckTests/Symbols/ToVbExpressionTests.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,17 @@ public void UnicodeUsesChrWCallWithHexNotation()
128128
Assert.AreEqual(expected, actual, "Expected {0}, actual was {1}", expected, actual);
129129
}
130130

131+
[Test]
132+
[Category("String Extensions")]
133+
public void UnicodeOverMaxInt16UsesChrWCallWithHexNotation()
134+
{
135+
var managed = "耀";
136+
var expected = "ChrW$(&H8000)";
137+
var actual = managed.ToVbExpression();
138+
139+
Assert.AreEqual(expected, actual, "Expected {0}, actual was {1}", expected, actual);
140+
}
141+
131142
[Test]
132143
[Category("String Extensions")]
133144
public void MixedAsciiAndUnicodeUsesChrAndChrWConstFlagOff()

0 commit comments

Comments
 (0)