mirror of
https://github.com/openwrt/packages.git
synced 2026-04-15 19:02:09 +00:00
Changes since 0.9.0: - New 'outline' table format - Support for multi-line cell values in more formats - Improved alignment for mixed-type columns - Various bug fixes for edge cases in number formatting Also add test.sh to verify version and basic table rendering. Link: https://github.com/astanin/python-tabulate/blob/master/CHANGELOG Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
40 lines
955 B
Bash
Executable File
40 lines
955 B
Bash
Executable File
#!/bin/sh
|
|
|
|
[ "$1" = "python3-tabulate" ] || exit 0
|
|
|
|
python3 - << EOF
|
|
import sys
|
|
import tabulate as tab_mod
|
|
|
|
if tab_mod.__version__ != "$2":
|
|
print("Wrong version: " + tab_mod.__version__)
|
|
sys.exit(1)
|
|
|
|
from tabulate import tabulate
|
|
|
|
# Basic table rendering
|
|
data = [["Alice", 30], ["Bob", 25]]
|
|
headers = ["Name", "Age"]
|
|
|
|
out = tabulate(data, headers=headers)
|
|
assert "Alice" in out, "Alice not in output"
|
|
assert "Bob" in out, "Bob not in output"
|
|
assert "Name" in out, "header Name not in output"
|
|
assert "Age" in out, "header Age not in output"
|
|
|
|
# Grid format
|
|
out = tabulate(data, headers=headers, tablefmt="grid")
|
|
assert "+" in out, "grid format should contain +"
|
|
|
|
# Plain format (no borders)
|
|
out = tabulate(data, tablefmt="plain")
|
|
assert "Alice" in out
|
|
|
|
# Column alignment: numbers right-aligned
|
|
out = tabulate([[1, 1000], [2, 20]], headers=["id", "val"])
|
|
lines = out.splitlines()
|
|
assert len(lines) >= 3, "expected at least 3 lines"
|
|
|
|
sys.exit(0)
|
|
EOF
|