<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">NSLocale as nil infers the current locale so that might be what is missing. Since the Objective-C implementation’s behavior is the standard to judge against it is reasonable to check in tests that fail (preferably disabled so that CI passes and a bug associated with it if you are uncertain of the correct implementation).</div><div class=""><br class=""></div><div class="">There was recently a merged pull request that changed some of this iirc:&nbsp;<a href="https://github.com/apple/swift-corelibs-foundation/commit/89556789cf1003dfa137eec9eed43ed965f3ea74" class="">https://github.com/apple/swift-corelibs-foundation/commit/89556789cf1003dfa137eec9eed43ed965f3ea74</a></div><br class=""><div><blockquote type="cite" class=""><div class="">On Feb 26, 2016, at 3:58 PM, Taylor Franklin &lt;<a href="mailto:taylorleefranklin@gmail.com" class="">taylorleefranklin@gmail.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Philippe,<div class=""><br class=""></div><div class="">Thanks for the response, in working on NSDateFormatter, I have noticed that using the <font face="monospace, monospace" class="">_cfObject</font> will cause a runtime error if <font face="monospace, monospace" class="">locale</font> is simply nil and has no default value. With that said, not sure how to prove in a test since it crashes.</div><div class=""><br class=""></div><div class="">I did have another question though, I am unsure as how or where some of the NSDateFormatter properties get their initial values.</div><div class="">For example, using the production version of Foundation and printing the <font face="monospace, monospace" class="">.weekdaySymbols</font>&nbsp;property gives me:</div><div class=""><font face="monospace, monospace" class="">["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]</font></div><div class=""><font face="monospace, monospace" class=""><br class=""></font></div><div class=""><font face="arial, helvetica, sans-serif" class="">While in the development version of Foundation, that property is never set. Do you have any insights on where those default weekday values come from given a user's current locale? I assume the answer would apply to other properties like&nbsp;</font><font face="monospace, monospace" class="">longEraSymbols</font><font face="arial, helvetica, sans-serif" class="">, </font><font face="monospace, monospace" class="">veryShortMonthSymbols</font><font face="arial, helvetica, sans-serif" class="">, etc.&nbsp;</font></div>































<div class=""><br class=""></div><div class="">Thanks,</div><div class="">Taylor</div><div class=""><br class=""></div></div><div class="gmail_extra"><br class=""><div class="gmail_quote">On Mon, Feb 22, 2016 at 11:10 AM, Philippe Hausler <span dir="ltr" class="">&lt;<a href="mailto:phausler@apple.com" target="_blank" class="">phausler@apple.com</a>&gt;</span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class=""><div class="">Some responses inline:</div><div class=""><br class=""></div><br class=""><div class=""><span class=""><blockquote type="cite" class=""><div class="">On Feb 21, 2016, at 10:22 PM, Taylor Franklin &lt;<a href="mailto:taylorleefranklin@gmail.com" target="_blank" class="">taylorleefranklin@gmail.com</a>&gt; wrote:</div><br class=""><div class=""><div dir="ltr" class="">Thanks Joe,<div class=""><br class=""></div><div class="">I will probably end up taking some of your work and execute Philippe's suggestion of testing with a dictionary. In the process of adding tests, hopefully I can improve NSDateFormatter over the next few weeks.</div></div></div></blockquote><div class=""><br class=""></div></span><div class="">Awesome, feel free to reach out if you have questions on the appropriate behaviors/edge cases.</div><span class=""><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class=""><br class=""></div><div class="">@Philippe, I did have a question:</div><div class=""><br class=""></div><div class="">Currently, many of the properties, such as locale, look like this:</div><div class=""><br class=""></div><div class=""><font face="monospace, monospace" class="">/*@NSCopying*/ public var locale: NSLocale! { willSet { _reset() } }</font></div></div></div></blockquote><div class=""><br class=""></div></span><div class="">This was changed to support the willSet pre-operation.</div><span class=""><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class=""><font face="monospace, monospace" class=""><br class=""></font></div><div class=""><font face="arial, helvetica, sans-serif" class="">When&nbsp;previously, the looked like this:</font></div><div class=""><font face="arial, helvetica, sans-serif" class=""><br class=""></font></div><div class=""><div style="font-family:monospace,monospace" class="">internal var _locale: NSLocale = NSLocale.currentLocale()</div><div style="font-family:monospace,monospace" class="">/*@NSCopying*/ public var locale: NSLocale! {</div><div style="font-family:monospace,monospace" class="">&nbsp; &nbsp; get {</div><div style="font-family:monospace,monospace" class="">&nbsp; &nbsp; &nbsp; &nbsp; return _locale</div><div style="font-family:monospace,monospace" class="">&nbsp; &nbsp; }</div><div style="font-family:monospace,monospace" class="">&nbsp; &nbsp; set {</div><div style="font-family:monospace,monospace" class="">&nbsp; &nbsp; &nbsp; &nbsp; _reset()</div><div style="font-family:monospace,monospace" class="">&nbsp; &nbsp; &nbsp; &nbsp; _locale = newValue</div><div style="font-family:monospace,monospace" class="">&nbsp; &nbsp; }</div><div style="font-family:monospace,monospace" class="">}</div><div style="font-family:monospace,monospace" class=""><br class=""></div><div class=""><font face="arial, helvetica, sans-serif" class="">Do you know a reason for this change? It seems mostly the same except the there is no default value set anymore.</font></div><div class=""><font face="arial, helvetica, sans-serif" class="">The pull request I'm referring to that made these changes is this:&nbsp;<a href="https://github.com/apple/swift-corelibs-foundation/pull/234" target="_blank" class="">https://github.com/apple/swift-corelibs-foundation/pull/234</a></font></div></div></div></div></blockquote><div class=""><br class=""></div></span><div class="">The change should have been a non-functional change; if there are behavioral differences it is definitely a bug. The original version of that was written to be very close to the objective-c version (to the point that I actually inadvertently replicated a few bugs…)</div><div class=""><br class=""></div><div class="">If you can show via test that the behavior is different we can look into reverting/fixing date formatter.</div><div class=""><div class="h5"><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class=""><div class=""><font face="arial, helvetica, sans-serif" class=""><br class=""></font></div><div class=""><font face="arial, helvetica, sans-serif" class="">Thanks!</font></div><div class=""><font face="arial, helvetica, sans-serif" class="">Taylor</font></div><div class="gmail_extra"><br class=""><div class="gmail_quote">On Sun, Feb 21, 2016 at 7:17 AM, Joseph Bell <span dir="ltr" class="">&lt;<a href="mailto:joe@iachieved.it" target="_blank" class="">joe@iachieved.it</a>&gt;</span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr" class="">Ah, I didn't even submit a pull request - that's how distracted I've been.&nbsp; Again, the code is all yours to rework or base off of if you so choose.</div><div class=""><div class=""><div class="gmail_extra"><br class=""><div class="gmail_quote">On Sun, Feb 21, 2016 at 7:14 AM, Joseph Bell <span dir="ltr" class="">&lt;<a href="mailto:joe@iachieved.it" target="_blank" class="">joe@iachieved.it</a>&gt;</span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr" class="">Thanks Taylor.&nbsp; Unfortunately I lost time and interest in taking the idea further, I just need to figure out how to withdraw the pull request.&nbsp; Feel free to take the implementation and rework per Philippe's suggestions!<div class=""><br class=""></div><div class="">Joe</div><div class=""><br class=""></div></div><div class="gmail_extra"><div class=""><div class=""><br class=""><div class="gmail_quote">On Fri, Feb 19, 2016 at 6:35 PM, Philippe Hausler <span dir="ltr" class="">&lt;<a href="mailto:phausler@apple.com" target="_blank" class="">phausler@apple.com</a>&gt;</span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div style="word-wrap:break-word" class=""><div class="">The problem with the change in that commit is that it is doing two different things: it is testing against python which is not the definition of Foundation’s expected output instead of testing against the expected output from the objective-c implementation. My suggestion in the pull request was to just encode a dictionary of dates to strings sampling a well known range before hand. This way it would be verifiable on both linux and Darwin as “correct” in accordance with the version of Foundation.framework that ships on Mac OS X and iOS.&nbsp;</div><div class=""><br class=""></div><div class="">The rest of the additions seemed pretty reasonable to me, except the case of calling popen to run a secondary script that may take extra execution time and add extra complexity other than just a dictionary of some good example date to string conversions (which actually could be utilized to reverse the test as well for scanning).</div><br class=""><div class=""><blockquote type="cite" class=""><div class=""><div class=""><div class="">On Feb 19, 2016, at 4:13 PM, Taylor Franklin via swift-corelibs-dev &lt;<a href="mailto:swift-corelibs-dev@swift.org" target="_blank" class="">swift-corelibs-dev@swift.org</a>&gt; wrote:</div><br class=""></div></div><div class=""><div class=""><div class=""><div dir="ltr" class=""><div class=""><div class="">Hello,</div><div class=""><br class=""></div><div class="">Are there any plans to integrate this commit into the main repo because I would love build off of the code within it, seeing that NSDateFormatter still seems incomplete. Additionally, the issue mentioned earlier,&nbsp;<a href="https://bugs.swift.org/browse/SR-208" target="_blank" class="">https://bugs.swift.org/browse/SR-208</a>, is still valid with the latest code from master.</div><div class=""><br class=""></div><div class="">In fact,&nbsp;<font face="monospace, monospace" class="">stringFromDate</font>&nbsp;doesn't seem to be doing much at all. Anyway, I would love to hear more from Joe or an admin on plans and progress for NSDateFormatter.</div><div class=""><br class=""></div><div class="">Thanks,</div><div class="">Taylor Franklin</div></div><div class=""><br class=""></div><div class="">&gt; Howdy,</div><div class="">&gt;&nbsp;</div><div class="">&gt; A few weeks ago I opened <a href="https://bugs.swift.org/browse/SR-208" target="_blank" class="">https://bugs.swift.org/browse/SR-208</a> as it appears</div><div class="">&gt; setting the dateFormat property of NSDateFormatter has no effect. It's</div><div class="">&gt; been open for a while and I thought I'd start looking at whether or not I</div><div class="">&gt; could help, and decided to first start with getting NSDateFormatter</div><div class="">&gt; included in TestFoundation.</div><div class="">&gt;&nbsp;</div><div class="">&gt; Before moving on further and issuing a PR, I would appreciate feedback on</div><div class="">&gt; the approach that I'm taking here:</div><div class="">&gt;&nbsp;</div><div class="">&gt; <a href="https://github.com/iachievedit/swift-corelibs-foundation/commit/482d861127e8b78007ceaf15f6c905ac04b1e9a4" target="_blank" class="">https://github.com/iachievedit/swift-corelibs-foundation/commit/482d861127e8b78007ceaf15f6c905ac04b1e9a4</a></div><div class="">&gt;&nbsp;</div><div class="">&gt; The first tests are only looking at the dateStyle property, and I've</div><div class="">&gt; included tests for the various styles as they are rendered for the en_US</div><div class="">&gt; locale. The intent is to add support for validating additional locales in</div><div class="">&gt; the future.</div><div class="">&gt;&nbsp;</div><div class="">&gt; Since strptime doesn't appear to be available to the Glibc module I'm using</div><div class="">&gt; a quick Python script included in Resources/ to take a format string and</div><div class="">&gt; render a human-friendly date.</div><div class="">&gt;&nbsp;</div><div class="">&gt; At the moment I know there is a discrepancy between what NSDateFormatter</div><div class="">&gt; and the python driver can emit, the python script is currently adjusting to</div><div class="">&gt; my timezone and not using UTC, but that will be fixed before a PR is</div><div class="">&gt; issued. I'll also add the timeStyle property and then continue to add</div><div class="">&gt; tests.</div><div class="">&gt;&nbsp;</div><div class="">&gt; Thoughts and comments most welcome, and Happy New Year.</div><div class="">&gt;&nbsp;</div><div class="">&gt; Joe</div><div class="">&gt;&nbsp;</div><div class="">&gt;&nbsp;</div><div class="">&gt;&nbsp;</div>







</div></div></div>
_______________________________________________<br class="">swift-corelibs-dev mailing list<br class=""><a href="mailto:swift-corelibs-dev@swift.org" target="_blank" class="">swift-corelibs-dev@swift.org</a><br class=""><a href="https://lists.swift.org/mailman/listinfo/swift-corelibs-dev" target="_blank" class="">https://lists.swift.org/mailman/listinfo/swift-corelibs-dev</a><br class=""></div></blockquote></div><br class=""></div></blockquote></div><br class=""><br clear="all" class=""><div class=""><br class=""></div></div></div><span class=""><font color="#888888" class="">-- <br class=""><div class=""><div dir="ltr" class="">---<div class=""><a href="http://dev.iachieved.it/iachievedit/" target="_blank" class="">http://dev.iachieved.it/iachievedit/</a></div><div class="">@iachievedit</div></div></div>
</font></span></div>
</blockquote></div><br class=""><br clear="all" class=""><div class=""><br class=""></div>-- <br class=""><div class=""><div dir="ltr" class="">---<div class=""><a href="http://dev.iachieved.it/iachievedit/" target="_blank" class="">http://dev.iachieved.it/iachievedit/</a></div><div class="">@iachievedit</div></div></div>
</div>
</div></div></blockquote></div><br class=""><br clear="all" class=""><div class=""><br class=""></div>-- <br class=""><div class=""><div dir="ltr" class=""><div class=""><div dir="ltr" class=""><b class=""><font face="arial, helvetica, sans-serif" size="2" class="">Taylor Franklin</font></b><div class="">iOS Developer | IBM Mobile Innovation Lab</div><div class=""><a href="tel:972-207-2051" value="+19722072051" target="_blank" class="">972-207-2051</a> &nbsp;| <a href="mailto:taylorleefranklin@gmail.com" target="_blank" class="">taylorleefranklin@gmail.com</a></div><div class=""><i class="">Blog</i>:&nbsp;<a href="http://taylorfranklin.me/" style="color:rgb(17,85,204);font-size:small" target="_blank" class="">http://taylorfranklin.me</a>&nbsp;| <i class="">LinkedIn</i>:&nbsp;<a href="https://www.linkedin.com/in/taylorfranklin" target="_blank" class="">https://www.linkedin.com/in/taylorfranklin</a></div></div></div></div></div>
</div></div></div>
</div></blockquote></div></div></div><br class=""></div></blockquote></div><br class=""><br clear="all" class=""><div class=""><br class=""></div>-- <br class=""><div class="gmail_signature"><div dir="ltr" class=""><div class=""><div dir="ltr" class=""><b class=""><font face="arial, helvetica, sans-serif" size="2" class="">Taylor Franklin</font></b><div class="">iOS Developer | IBM Mobile Innovation Lab</div><div class="">972-207-2051 &nbsp;| <a href="mailto:taylorleefranklin@gmail.com" target="_blank" class="">taylorleefranklin@gmail.com</a></div><div class=""><i class="">Blog</i>:&nbsp;<a href="http://taylorfranklin.me/" style="color:rgb(17,85,204);font-size:small" target="_blank" class="">http://taylorfranklin.me</a>&nbsp;| <i class="">LinkedIn</i>:&nbsp;<a href="https://www.linkedin.com/in/taylorfranklin" target="_blank" class="">https://www.linkedin.com/in/taylorfranklin</a></div></div></div></div></div>
</div>
</div></blockquote></div><br class=""></body></html>