Group padding digits to the left of the number

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=160470967
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 312b6d3..b4355e9 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,6 @@
+## 0.15.2
+ * Group the padding digits to the left of the number, if present. e.g. 00,001.
+
 ## 0.15.1
  * Use the platform.locale API to get the OS platform.
  * Convert to use package:test
diff --git a/lib/src/intl/number_format.dart b/lib/src/intl/number_format.dart
index ae6428b..df4140a 100644
--- a/lib/src/intl/number_format.dart
+++ b/lib/src/intl/number_format.dart
@@ -761,7 +761,10 @@
         fractionDigits > 0 && (minimumFractionDigits > 0 || fractionPart > 0);
 
     if (_hasIntegerDigits(integerDigits)) {
-      _padEmpty(minimumIntegerDigits - digitLength);
+      // Add the padding digits to the regular digits so that we get grouping.
+      var padding = symbols.ZERO_DIGIT * (minimumIntegerDigits - digitLength);
+      integerDigits = "$padding$integerDigits";
+      digitLength = integerDigits.length;
       for (var i = 0; i < digitLength; i++) {
         _addDigit(integerDigits.codeUnitAt(i));
         _group(digitLength, i);
diff --git a/pubspec.yaml b/pubspec.yaml
index a4b3315..1a70bd7 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
 name: intl
-version: 0.15.1
+version: 0.15.2-dev
 author: Dart Team <misc@dartlang.org>
 description: Contains code to deal with internationalized/localized messages, date and number formatting and parsing, bi-directional text, and other internationalization issues.
 homepage: https://github.com/dart-lang/intl
diff --git a/test/number_format_test.dart b/test/number_format_test.dart
index 8ba75e4..d40a5c7 100644
--- a/test/number_format_test.dart
+++ b/test/number_format_test.dart
@@ -105,6 +105,24 @@
     }
   });
 
+  test('Padding left', () {
+    var expected = [
+      '1',
+      '1',
+      '01',
+      '001',
+      '0,001',
+      '00,001',
+      '000,001',
+      '0,000,001'
+    ];
+    for (var i = 0; i < 7; i++) {
+      var f = new NumberFormat.decimalPattern();
+      f.minimumIntegerDigits = i;
+      expect(f.format(1), expected[i]);
+    }
+  });
+
   test('Exponential form', () {
     var number = new NumberFormat("#.###E0");
     for (var x in testExponential.keys) {