MooTools 1.5.1 Date.parse trouble with german short date

Shows that MooTools 1.5.1 Date.parse().format() is able to handle german short date format "d.m.y" by using or setting the Locale.

by Andreas Burg

HTML

<!--
Shows that MooTools 1.5.1 Date.parse().format() is able to handle german short date format "d.m.y" by using or setting the Locale.
-->
<pre id="output"></pre>

CSS

.invalid {
    color: red;
}
b {
    display: block;
    margin: .5em 0;
}

JavaScript

// german date format should be date first - d.m.Y, d.m.y
var
  output = $('output'),
  formatOut = '%Y %d %B',
  dates = [
    '03.12.2015', // December
    '31.12.2015', // December
    '12.03.2015', // March
    '03.12.15',   // December
    '31.12.15',   // December
    '12.03.15',   // March
    '03-12-2015', // December
    '31-12-2015', // December
    '12-03-2015', // March
    '03-12-15',   // December
    '31-12-15',   // December
    '12-03-15',   // March
    '03/12/2015', // December
    '31/12/2015', // December
    '12/03/2015', // March
    '03/12/15',   // December
    '31/12/15',   // December
    '12/03/15'    // March
  ],
  date = new Date(),
  dateIn  = new Element('span.in'),
  dateOut = new Element('span.out'),
  invalid
;

Date.defineFormat('out', formatOut);

generate = function() {
  dates.each(function(item) {
    dateIn.set('text', item + '\t=> ');
    dateOut.set('text', date.parse(item).format('out') + '\n');

    invalid = '';
    if(date.get('year') == 1970) {
      invalid = 'invalid';
    }

    dateIn.clone().inject(output);
    dateOut.clone().inject(output).addClass(invalid);
  });
};

output.appendHTML('<b>Output always should be:\n\tDecember\n\tDecember\n\tMarch</b>');
output.appendHTML('<b>Default date parsing</b>');
generate();

output.appendHTML('<b>After setting the dateOrder of en-US to date, month, year</b>');
Locale.define('en-US', 'Date', 'dateOrder', ['date', 'month', 'year', '/']);
Locale.use('en-US');
generate();

output.appendHTML('<b>Or simply by using the german Locale</b>');
Locale.use('de-DE');
generate();