Skip to content

Commit 94da83d

Browse files
authored
Merge pull request #3420 from AutoScout24/fix-orderedmap-length
Fix length issue in OrderedMaps
2 parents 99d3686 + 10f12c2 commit 94da83d

File tree

2 files changed

+30
-3
lines changed

2 files changed

+30
-3
lines changed

src/core/utils.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ export function fromJSOrdered (js) {
4141
return !isObject(js) ? js :
4242
Array.isArray(js) ?
4343
Im.Seq(js).map(fromJSOrdered).toList() :
44-
Im.Seq(js).map(fromJSOrdered).toOrderedMap()
44+
Im.OrderedMap(js).map(fromJSOrdered)
4545
}
4646

4747
export function bindToState(obj, state) {

test/core/utils.js

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
/* eslint-env mocha */
22
import expect from "expect"
33
import { fromJS } from "immutable"
4-
import { mapToList, validateNumber, validateInteger, validateParam, validateFile } from "core/utils"
4+
import { mapToList, validateNumber, validateInteger, validateParam, validateFile, fromJSOrdered } from "core/utils"
55
import win from "core/window"
66

7-
describe("utils", function(){
7+
describe("utils", function() {
88

99
describe("mapToList", function(){
1010

@@ -544,4 +544,31 @@ describe("utils", function(){
544544
expect( result ).toEqual( [] )
545545
})
546546
})
547+
548+
describe("fromJSOrdered", () => {
549+
it("should create an OrderedMap from an object", () => {
550+
const param = {
551+
value: "test"
552+
}
553+
554+
const result = fromJSOrdered(param).toJS()
555+
expect( result ).toEqual( { value: "test" } )
556+
})
557+
558+
it("should not use an object's length property for Map size", () => {
559+
const param = {
560+
length: 5
561+
}
562+
563+
const result = fromJSOrdered(param).toJS()
564+
expect( result ).toEqual( { length: 5 } )
565+
})
566+
567+
it("should create an OrderedMap from an array", () => {
568+
const param = [1, 1, 2, 3, 5, 8]
569+
570+
const result = fromJSOrdered(param).toJS()
571+
expect( result ).toEqual( [1, 1, 2, 3, 5, 8] )
572+
})
573+
})
547574
})

0 commit comments

Comments
 (0)