Repository: moment/luxon (js)

Issue:
Invalid unit when giving quarters to diff method
Hello,
I found an issue when passing `quarters` unit to the `diff` method:

```
luxon.DateTime.local().diff(luxon.DateTime.fromMillis(0), 'quarters')

duration.js:324 Uncaught Error: Invalid unit undefined
    at normalizeUnit (duration.js:324)
    at normalizeObject (util.js:259)
    at Function.fromObject (duration.js:245)
    at _diff (diff.js:70)
    at DateTime.diff (datetime.js:1760)
    at <anonymous>:1:24
```


Pull request:
Add quarters to diff fix #776
Hello,
Made the changes required in PR #778 review

Patch:
diff --git a/src/impl/diff.js b/src/impl/diff.js
index 57246dc9..1b8afb36 100644
--- a/src/impl/diff.js
+++ b/src/impl/diff.js
@@ -13,6 +13,7 @@ function dayDiff(earlier, later) {
 function highOrderDiffs(cursor, later, units) {
   const differs = [
     ["years", (a, b) => b.year - a.year],
+    ["quarters", (a, b) => b.quarter - a.quarter],
     ["months", (a, b) => b.month - a.month + (b.year - a.year) * 12],
     [
       "weeks",


Test patch:
diff --git a/test/datetime/diff.test.js b/test/datetime/diff.test.js
index e4e29f3c..cb439b6f 100644
--- a/test/datetime/diff.test.js
+++ b/test/datetime/diff.test.js
@@ -25,6 +25,14 @@ test("DateTime#diff makes simple diffs", () => {
     years: 1
   });
 
+  expect(diffObjs({ year: 2016, month: 4 }, { year: 2016, month: 1 }, "quarters")).toEqual({
+    quarters: 1
+  });
+
+  expect(diffObjs({ year: 2017, month: 10 }, { year: 2017, month: 4 }, "quarters")).toEqual({
+    quarters: 2
+  });
+
   expect(
     diffObjs({ year: 2016, month: 6, day: 28 }, { year: 2016, month: 5, day: 28 }, "months")
   ).toEqual({ months: 1 });