Hi,<br><br>while writing specs for Magic, I noticed that:<br><br><div><span class="Apple-style-span" style="line-height: 17px; white-space: pre; "><span class="n" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4em; "><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-style-span" style="font-size: large;">instance_from</span></font></span><span class="p" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4em; "><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-style-span" style="font-size: large;">(</span></font></span><span class="no" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4em; color: rgb(0, 128, 128); "><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-style-span" style="font-size: large;">MenuItem</span></font></span><span class="p" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4em; "><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-style-span" style="font-size: large;">,</span></font></span><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-style-span" style="font-size: large;"> </span></font><span class="s2" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4em; color: rgb(221, 17, 68); "><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-style-span" style="font-size: large;">"Hello"</span></font></span><span class="p" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4em; "><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-style-span" style="font-size: large;">)</span></font></span><span class="o" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4em; font-weight: bold; "><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-style-span" style="font-size: large;">.</span></font></span><span class="n" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4em; "><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-style-span" style="font-size: large;">text</span></font></span><span class="o" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4em; font-weight: bold; "><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-style-span" style="font-size: large;">.</span></font></span><span class="n" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4em; "><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-style-span" style="font-size: large;"><b>to_s</b></span></font></span><span class="o" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4em; font-weight: bold; "><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-style-span" style="font-size: large;">.</span></font></span><span class="n" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4em; "><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-style-span" style="font-size: large;">should</span></font></span><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-style-span" style="font-size: large;"> </span></font><span class="o" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4em; font-weight: bold; "><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-style-span" style="font-size: large;">==</span></font></span><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-style-span" style="font-size: large;"> </span></font><span class="s2" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4em; color: rgb(221, 17, 68); "><font class="Apple-style-span" face="'courier new', monospace"><span class="Apple-style-span" style="font-size: large;">"Hello"</span></font></span></span><br>
<br>to_s is required to get the assertion to pass. The following will return false:</div><div><br></div><div><div>button = Button.new</div><div>button.text = "Hello"</div><div>puts button.text == "Hello"</div>
<div><br></div>So I guess that CLR strings cannot be compared to Ruby strings unless to_s is applied.</div><div><br></div><div>While not a big deal, it's a bit surprising.</div><div><br></div><div>Is it something that is likely to change ?</div>
<div><br></div><div>cheers,</div><div><br></div><div>-- Thibaut<br></div>