diff --git a/spec/range-spec.coffee b/spec/range-spec.coffee index ea4caf07a3..bf3a1d3ccc 100644 --- a/spec/range-spec.coffee +++ b/spec/range-spec.coffee @@ -4,6 +4,12 @@ describe "Range", -> beforeEach -> jasmine.addCustomEqualityTester(require("underscore-plus").isEqual) + describe "::fromObject() when object is falsy", -> + it "should not throw", -> + expect(-> Range.fromObject(null)).not.toThrow() + it "should get default values", -> + expect(Range.fromObject(null).toString()).toBe "[(0, 0) - (0, 0)]" + describe "::intersectsWith(other, [exclusive])", -> intersectsWith = (range1, range2, exclusive) -> range1 = Range.fromObject(range1) diff --git a/src/range.coffee b/src/range.coffee index f7ed5d72ae..6fa419c2ef 100644 --- a/src/range.coffee +++ b/src/range.coffee @@ -39,7 +39,7 @@ class Range # that are already ranges.˚ # # Returns: A {Range} based on the given object. - @fromObject: (object, copy) -> + @fromObject: (object = {}, copy) -> if Array.isArray(object) new this(object[0], object[1]) else if object instanceof this