Skip to content

Commit 9cfb7dd

Browse files
bashbunniandreynering
authored andcommitted
test(table): check truncation logic for overflow and nowrap
1 parent d0adf87 commit 9cfb7dd

File tree

2 files changed

+36
-0
lines changed

2 files changed

+36
-0
lines changed

โ€Žtable/table_test.go

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1493,6 +1493,36 @@ func TestContentWrapping_ColumnWidth(t *testing.T) {
14931493
}
14941494
}
14951495

1496+
// Test truncation for overflow and no wrap when combined.
1497+
func TestTableOverFlowNoWrap(t *testing.T) {
1498+
// Long text, different languages
1499+
headers := []string{"Hello", "ไฝ ๅฅฝ", "ู…ุฑุญุจู‹ุง", "์•ˆ๋…•ํ•˜์„ธ์š”"}
1500+
data := [][]string{
1501+
{
1502+
"Lorem ipsum dolor sit amet, regione detracto eos an. Has ei quidam hendrerit intellegebat, id tamquam iudicabit necessitatibus ius, at errem officiis hendrerit mei. Exerci noster at has, sit id tota convenire, vel ex rebum inciderint liberavisse. Quaeque delectus corrumpit cu cum.",
1503+
`่€่จฑใƒฑใƒจใ‚ซใƒ่ชฟๅ‡บใ‚ใ‚†็›ฃไปถใณ็†ๅˆฅใ‚ˆใƒณๅœ‹็ตฆ็ฝใƒฌใƒ›ใƒๆจฉ่ผใƒขใ‚จใƒ•ไผšๅ‰ฒใ‚‚ใƒ•้Ÿฟ3็พใ‚จใƒ„ๆ–‡ๆ™‚ใ—ใ ใณใป็ตŒๆฉŸใƒ ใ‚คใƒกใƒ•ๆ•—ๆ–‡ใƒจใ‚ฏ็พ็พฉใชใ•ใƒ‰่ซ‹ๆƒ…ใ‚†ใ˜ใ‚‡ใฆๆ†ถไธป็ฎกๅทžใ‘ใงใตใใ€‚ๆŽ’ใ‚ƒใ‚ใคใ’็พŽๅˆŠใƒฑใƒŸๅ‡บ่ฆ‹ใƒ„ๅ—่€…ใ‚ชๆŠœ่ฑ†ใƒใƒˆใƒญใƒ่ซ–็ดขใƒขใƒใƒ‹ใ‚คไปปๅ„Ÿใ‚นใƒฒ่ฉฑ็ ดใƒชใƒคใƒจ็ง’ๆญขๅฃใ‚คใ‚ปใ‚ฝใ‚นๆญขๅคฎใฎใ•้ฃŸๅ‘จๅฅใงใฆใคใ ๅฎ˜้€ใƒˆ่ชญ่ด้Šๅฎนใฒใ‚‹ในใ€‚้š›ใใƒ‰ใ‚‰ใฅๅธ‚ๅฑ…ใƒใƒ ใƒค็ ”ๆ ก35ๅฒฉ6็นนใ”ใ‚ใ‚ฏๅ ฑๆ‹ใ‚ค้ฉๆทฑ52็ƒใ‚ƒใƒฌใ‚นใ”็ฉถๆฑใ‚นใƒฉ่ก3้–“ใƒฉ้Œฒๅ ใŸใ‚นใ€‚
1504+
็ฆใซใƒณใ”ๅฟ˜ๅบทใ–ใปใŽใƒซ้จฐ่ˆฌใญใฉไบ‹่ถ…ใ‚นใ‚“ใ„ใ†็œŸ่กจไฝ•ใ‚ซใƒข่‡ชๆตฉใƒฒใ‚ทใƒŸๅ›ณๅฎข็ทšใ‚‹ใต้™็Ž‹ใฑใƒผใพๅ†™ๆ‘ๆœˆๆŽ›็„ผ่ฉ้ขใžใ‚ƒใ€‚ๆ˜‡ๅผทใ”ใƒณใƒˆใปไพกไฟใ‚ญๆ—85ๅฒกใƒขใƒ†ๆ‹ๅ›ฐใฒใ‚Šใ“ใชๅˆŠไธฆใ›ใ”ๅ‡บๆฅใผใŽใ‚€ใ†็‚น็›ฎใƒฒใ‚ฆๆญข็’ฐๅ…ฌใƒ‹ใƒฌไบ‹ๅฟœใ‚ฟใ‚นๅฟ…ๆ›ธใ‚ฟใƒกใƒ ใƒŽๅฝ“84็„กไฟกๅ‡ใกใฒใ‚‡ใ€‚ไพกใƒผใไธญๅฎขใƒ†ใ‚ตๅ‘Š่ฆงใƒจใƒˆใƒๆฅตๆ•ดใƒฉๅพ—95็จฟใฏใ‹ใƒฉใ›ๆฑŸๅˆฉใ‚นๅฎไธธ้œŠใƒŸ่€ƒๆ•ดใ‚น้™ๅฐ†ใšๆฅญๅทจ่ทใƒŽใƒฉใƒ›ๅŽๅ—…ใ–ใชใ€‚`,
1505+
"ุดูŠุก ู‚ุฏ ู„ู„ุญูƒูˆู…ุฉ ูˆุงู„ูƒูˆุฑูŠ ุงู„ุฃูˆุฑูˆุจูŠู‘ูˆู†, ุจูˆุงุจุฉ ุชุนุฏูŠู„ ูˆุงุนุชู„ุงุก ุถุฑุจ ุจู€. ุฅุฐ ุฃุณุฑ ุงุชู‘ุฌุฉ ุงุนู„ุงู†, ูฃู  ุงูƒุชูˆุจุฑ ุงู„ุนุตุจุฉ ุงุณุชู…ุฑุงุฑ ูˆู…ู†. ุฃูุงู‚ ู„ู„ุณูŠุทุฑุฉ ุงู„ุชุงุฑูŠุฎุŒ ู…ุน ุจุญุซ, ูƒู„ู‘ ุงุชู‘ุฌุฉ ุงู„ู‚ูˆู‰ ู…ุน. ูุจุนุฏ ุงูŠุทุงู„ูŠุงุŒ ุชู… ุญุชู‰, ู„ูƒู„ ุชู… ุฌุณูŠู…ุฉ ุงู„ุฅุญุชูุงุธ ูˆุจุงุณุชุซู†ุงุก, ุนู„ ูุฑู†ุณุง ูˆุงู†ุชู‡ุงุกู‹ ุงู„ุฅู‚ุชุตุงุฏูŠุฉ ุนุฑุถ. ูˆู†ุชุฌ ุฏุฃุจูˆุง ุฅุญูƒุงู… ุจุงู„ ุฅุฐ. ู„ุบุงุช ุนู…ู„ูŠุฉ ูˆุชู… ู…ุน, ูˆุตู„ ุจุฏุงูŠุฉ ูˆุจุบุทุงุก ุงู„ุจุฑูŠุฉ ุจู„, ุฃูŠ ู‚ุฑุฑุช ุจู„ุงุฏู‡ ููƒุงู†ุช ุญุฏู‰",
1506+
"๊ฐ๊ธ‰ ์„ ๊ฑฐ๊ด€๋ฆฌ์œ„์›ํšŒ์˜ ์กฐ์งยท์ง๋ฌด๋ฒ”์œ„ ๊ธฐํƒ€ ํ•„์š”ํ•œ ์‚ฌํ•ญ์€ ๋ฒ•๋ฅ ๋กœ ์ •ํ•œ๋‹ค. ์ž„์‹œํšŒ์˜ ํšŒ๊ธฐ๋Š” 30์ผ์„ ์ดˆ๊ณผํ•  ์ˆ˜ ์—†๋‹ค. ๊ตญ๊ฐ€๋Š” ์—ฌ์ž์˜ ๋ณต์ง€์™€ ๊ถŒ์ต์˜ ํ–ฅ์ƒ์„ ์œ„ํ•˜์—ฌ ๋…ธ๋ ฅํ•˜์—ฌ์•ผ ํ•œ๋‹ค. ๊ตญ๊ตฐ์˜ ์กฐ์ง๊ณผ ํŽธ์„ฑ์€ ๋ฒ•๋ฅ ๋กœ ์ •ํ•œ๋‹ค.",
1507+
"็‰ˆๅฟœ้“ๆฝŸ้ƒจไธญๅน•็ˆ†ๅ–ถๅ ฑ้–€ๆกˆๅ่ฆ‹ๅฃŒๅบœใ€‚ๅšๅฅๅฟ…ๆจฉๆฌก่ฆง็ทจไป•ๆ–ญ้’ๅ ดๅ†…ๅ‡„ๆ–ฐๆฑๆทฑ็ฐฟไปฃไพ›ไพ›ใ€‚ๅฎˆ่žๆ›ธ็ฅž็ง€ๅŒๆตœๆฑๆณขๆ‹้—˜็ง€ใ€‚ๆœชๆ ผๆ‰“ๅฅฝไฝœๅ™จๆฅๅˆฉ้˜ชๆŒ่ฅฟ็„ฆๆœไธ‰ๅฅณใ€‚ๆจฉๅนฝๅ•ๅญฃ่ฒ ๅจ˜่ณผๅˆๆ—ง่ณ‡ๅฅ่ผ‰ๅ“กๅผๆดป้™ธใ€‚ๆœชๅ€ๆ กๆœ้บ็ถš่ก“ๅ‰่ฟŽๆšฎๅบƒ็Ÿฅ่ง’ไบกๅฟ—ไธ่ชฌ็ฉบไฝใ€‚ๆณ•็œๅฝ“ๆญปๅนดๅ‹็ตก่žๆ–นๅŒ—ๆŠ•ๅฅใ€‚ๅฎคๅˆ†ๆ€งๅฑฑๅคฉๆ…‹ๆ„็”ป่ฉณ็Ÿฅๆต…ๆ–น่ฃใ€‚ๅค‰ๆฟ€ไผ้˜œไธญ้‡Žๅ“็œ่ผ‰ๅ—…้—˜้ก็ซฏๅใ€‚ไธญๅฟ…ๅฐ้š›้€ ไบ‹ๅฏ„ๆฐ‘็ตŒ่ƒฝๅ‰ไฝœ่‡“",
1508+
},
1509+
{"Welcome", "ใ„ใ‚‰ใฃใ—ใ‚ƒใ„ใพใ›", "ู…ุฑุญุจุงู‹", "ํ™˜์˜", "ๆฌข่ฟŽ"},
1510+
{"Goodbye", "ใ•ใ‚ˆใ†ใชใ‚‰", "ู…ุน ุงู„ุณู„ุงู…ุฉ", "์•ˆ๋…•ํžˆ ๊ฐ€์„ธ์š”", "ๅ†่ง"},
1511+
}
1512+
tableHeight := 6
1513+
table := New().
1514+
Headers(headers...).
1515+
Rows(data...).
1516+
StyleFunc(TableStyle).
1517+
Height(tableHeight).
1518+
Width(80).
1519+
Wrap(false)
1520+
if got := lipgloss.Height(table.String()); got != tableHeight {
1521+
t.Fatalf("got the wrong height. got %d, want %d", got, tableHeight)
1522+
}
1523+
golden.RequireEqual(t, []byte(table.String()))
1524+
}
1525+
14961526
func TestCarriageReturn(t *testing.T) {
14971527
data := [][]string{
14981528
{"a0", "b0", "c0", "d0"},
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
2+
โ”‚ Hello โ”‚ ไฝ ๅฅฝ โ”‚ ู…ุฑุญุจู‹ุง โ”‚ ์•ˆ๋…•ํ•˜์„ธ์š” โ”‚ โ”‚
3+
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
4+
โ”‚ Lorem ipsumโ€ฆ โ”‚ ่€่จฑใƒฑใƒจใ‚ซใƒโ€ฆ โ”‚ ุดูŠุก ู‚ุฏ ู„ู„ุญูƒูˆโ€ฆ โ”‚ ๊ฐ๊ธ‰ ์„ ๊ฑฐ๊ด€โ€ฆ โ”‚ ็‰ˆๅฟœ้“ๆฝŸ้ƒจไธญโ€ฆ โ”‚
5+
โ”‚ โ€ฆ โ”‚ โ€ฆ โ”‚ โ€ฆ โ”‚ โ€ฆ โ”‚ โ€ฆ โ”‚
6+
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

0 commit comments

Comments
ย (0)