Hi Alex, Yup I can do that. I also have a fix for translate issue 27904 I ran the test_bytes.py just to make sure I notice it was failing. In the test_zzz_cli_features had this
AreEqual(bytearray(b'abc') == 'abc', False) had to change to AreEqual(bytearray(b'abc') == 'abc', True) test_translate had this if is_ironpython: #http://ironpython.codeplex.com/workitem/27904 AssertError(TypeError, bytearray(b'AAA').translate, None, b'A') AssertError(TypeError, bytearray(b'AAA').translate, None) else: replace with just AreEqual(bytearray(b'AAA').translate(None, b'A'), b'')AreEqual(bytearray(b'AAA').translate(None), b'AAA') I just commented this out since it doesn't assert. Should I include the updated test_bytes.py? After that it passes test_bytes unit test. Danny Date: Mon, 18 Aug 2014 13:51:17 -0700 Subject: Re: [Ironpython-users] bytearray comparison failure From: slide.o....@gmail.com To: fernandez_d...@hotmail.com CC: ironpython-users@python.org Can you fork on github and provide a merge request? On Mon, Aug 18, 2014 at 1:50 PM, Daniel Fernandez <fernandez_d...@hotmail.com> wrote: HI All, Thanks Alex that was a duh moment for me there. I see the issue the code use the as the operator trying to convert to IList<byte>. I simple check if the type is string then convert it to bytes. It works now Here is the snippet public override bool Equals(object other) { IList<byte> bytes ; if (other is string) bytes = PythonOps.MakeBytes(((string)other).MakeByteArray()); else if (other is Extensible<string>) bytes = PythonOps.MakeBytes(((Extensible<string>)other).Value.MakeByteArray()); else bytes = other as IList<byte>; it works now below. Dany Date: Mon, 18 Aug 2014 12:49:04 -0700 Subject: Re: [Ironpython-users] bytearray comparison failure From: slide.o....@gmail.com To: fernandez_d...@hotmail.com CC: ironpython-users@python.org ByteArray.cs the Equals method. On Mon, Aug 18, 2014 at 11:50 AM, Daniel Fernandez <fernandez_d...@hotmail.com> wrote: Hi All, I ran into an issue comparing bytearray with a string value. I created an issue 35470 on codeplex. The code snippet that can reproduce the issue is x = bytearray(b'Danny')y = 'Danny' x == y IronPython 2.7.5b3 this is False and CPython 2.7.8 is True. My question is where in the IronPython code does this happen equality operation occur with different types? I tried to follow it and simple got lost in the maze. I thought it would occur in the StringOps.Equals but that didn't happen. I tried putting break points all over the place but no luck. Thanks Danny _______________________________________________ Ironpython-users mailing list Ironpython-users@python.org https://mail.python.org/mailman/listinfo/ironpython-users -- Website: http://earl-of-code.com -- Website: http://earl-of-code.com
_______________________________________________ Ironpython-users mailing list Ironpython-users@python.org https://mail.python.org/mailman/listinfo/ironpython-users