Skip to content

Commit ad8c16f

Browse files
committed
fix: fix leading zero bug
1 parent 562b13a commit ad8c16f

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

src/sqids

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -823,7 +823,11 @@ encode() {
823823
if [[ -z "$*" ]]; then
824824
echo ""
825825
else
826-
encode_numbers -a "$alphabet" -b "$block_list" -l "$min_length" "$@" 0
826+
nums=()
827+
for num in "$@"; do
828+
nums+=("$((10#$num))")
829+
done
830+
encode_numbers -a "$alphabet" -b "$block_list" -l "$min_length" "${nums[@]}" 0
827831
fi
828832
}
829833

tests/test_encoding.bats

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,3 +103,17 @@
103103
# run ./src/sqids -e $((1 << 63))
104104
# [ $status -eq 1 ]
105105
}
106+
107+
@test "test_zero_padding" {
108+
numbers=(0 1 2 3 4 5 6 7 8 9)
109+
ids=("bM" "Uk" "gb" "Ef" "Vq" "uw" "OI" "AX" "p6" "nJ")
110+
111+
for i in {0..9}; do
112+
run ./src/sqids -e "0${numbers[$i]}"
113+
[ $status -eq 0 ]
114+
[[ $output == "${ids[$i]}" ]]
115+
run ./src/sqids -d "${ids[$i]}"
116+
[ $status -eq 0 ]
117+
[[ "${output[@]}" == "${numbers[$i]}" ]]
118+
done
119+
}

0 commit comments

Comments
 (0)