github.com/wrgl/wrgl@v0.14.0/pkg/widgets/usage_bar_test.go (about) 1 // SPDX-License-Identifier: Apache-2.0 2 // Copyright © 2022 Wrangle Ltd 3 4 package widgets 5 6 import ( 7 "strings" 8 "testing" 9 10 "github.com/stretchr/testify/assert" 11 ) 12 13 func TestUsageBar(t *testing.T) { 14 b := NewUsageBar([][2]string{ 15 {"n", "Next conflict"}, 16 {"r", "Mark row as resolved"}, 17 {"R", "Mark row as unresolved"}, 18 {"u", "Undo"}, 19 {"U", "Redo"}, 20 {"d", "Delete row"}, 21 {"D", "Delete column"}, 22 {"h", "Left"}, 23 {"j", "Down"}, 24 {"k", "Up"}, 25 {"l", "Right"}, 26 {"g", "Scroll to begin"}, 27 {"G", "Scroll to end"}, 28 {"Q", "Abort merge"}, 29 {"X", "Finish merge"}, 30 }, 2) 31 32 b.printRows(120) 33 assert.Equal(t, strings.Join([]string{ 34 " n Next conflict r Mark row as resolved R Mark row as unresolved u Undo U Redo d Delete row ", 35 "", 36 " D Delete column h Left j Down k Up l Right g Scroll to begin", 37 "", 38 " G Scroll to end Q Abort merge X Finish merge ", 39 }, "\n"), b.GetText(true)) 40 assert.Equal(t, 5, b.height) 41 42 b.printRows(70) 43 assert.Equal(t, strings.Join([]string{ 44 " n Next conflict r Mark row as resolved", 45 "", 46 " R Mark row as unresolved u Undo ", 47 "", 48 " U Redo d Delete row ", 49 "", 50 " D Delete column h Left ", 51 "", 52 " j Down k Up ", 53 "", 54 " l Right g Scroll to begin ", 55 "", 56 " G Scroll to end Q Abort merge ", 57 "", 58 " X Finish merge ", 59 }, "\n"), b.GetText(true)) 60 assert.Equal(t, 15, b.height) 61 62 b.printRows(50) 63 assert.Equal(t, strings.Join([]string{ 64 " n Next conflict ", 65 "", 66 " r Mark row as resolved ", 67 "", 68 " R Mark row as unresolved", 69 "", 70 " u Undo ", 71 "", 72 " U Redo ", 73 "", 74 " d Delete row ", 75 "", 76 " D Delete column ", 77 "", 78 " h Left ", 79 "", 80 " j Down ", 81 "", 82 " k Up ", 83 "", 84 " l Right ", 85 "", 86 " g Scroll to begin ", 87 "", 88 " G Scroll to end ", 89 "", 90 " Q Abort merge ", 91 "", 92 " X Finish merge ", 93 }, "\n"), b.GetText(true)) 94 assert.Equal(t, 29, b.height) 95 96 b.printRows(10) 97 assert.Equal(t, strings.Join([]string{ 98 " n Next conflict ", 99 "", 100 " r Mark row as resolved", 101 "", 102 " R Mark row as unresolved", 103 "", 104 " u Undo ", 105 "", 106 " U Redo ", 107 "", 108 " d Delete row ", 109 "", 110 " D Delete column ", 111 "", 112 " h Left ", 113 "", 114 " j Down ", 115 "", 116 " k Up ", 117 "", 118 " l Right ", 119 "", 120 " g Scroll to begin ", 121 "", 122 " G Scroll to end ", 123 "", 124 " Q Abort merge ", 125 "", 126 " X Finish merge ", 127 }, "\n"), b.GetText(true)) 128 assert.Equal(t, 29, b.height) 129 }