on master help sign in
Merge pull request #813 from Xashili/arrayAppend

Fix Array.append

commit439068a2a18db25581552b474a42bcc32cf03306 authorEvan Czaplicki <info@elm-lang.org> dateMon 13 Oct 2014, 15:42 (12 years ago) parent2f5752d9829883
2 files changed+7−3
libraries/Native/Array.js+5−3 tests/libraries/Test/Array.elm+2
libraries/Native/Array.js+5−3
@@ -390,9 +390,11 @@ Elm.Native.Array.make = function(elm) {
390390 return c[0];
391391 }
392392
393− var toRemove = calcToRemove(a, b);
394− if (toRemove > E) {
395− c = shuffle(c[0], c[1], toRemove);
393+ if (c[0].height > 0) {
394+ var toRemove = calcToRemove(a, b);
395+ if (toRemove > E) {
396+ c = shuffle(c[0], c[1], toRemove);
397+ }
396398 }
397399
398400 return siblise(c[0], c[1]);
tests/libraries/Test/Array.elm+2
@@ -37,6 +37,8 @@ tests =
3737 , test "append" <| assertEqual [42,42,81,81,81] (Array.toList (Array.append (Array.repeat 2 42) (Array.repeat 3 81)))
3838 , test "appendEmpty 1" <| assertEqual [1..33] (Array.toList (Array.append Array.empty (Array.fromList [1..33])))
3939 , test "appendEmpty 2" <| assertEqual [1..33] (Array.toList (Array.append (Array.fromList [1..33]) Array.empty))
40+ , test "appendSmall 1" <| assertEqual [1..33] (Array.toList (Array.append (Array.fromList [1..30]) (Array.fromList [31..33])))
41+ , test "appendSmall 2" <| assertEqual [1..33] (Array.toList (Array.append (Array.fromList [1..3]) (Array.fromList [4..33])))
4042 , test "appendAndSlice" <| assertEqual [0..100] (Array.toList holeArray)
4143 ]
4244 getAndSetTests = suite "Get and Set"