1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- package door
- import (
- "reflect"
- "testing"
- )
- func TestBoxUnicode(t *testing.T) {
- // verify that the BOXES_CP437 matches BOXES_UNICODE
- for idx, bs := range BOXES_CP437 {
- fields := reflect.VisibleFields(reflect.TypeOf(bs))
- bs_value := reflect.ValueOf(bs)
- u_value := reflect.ValueOf(BOXES_UNICODE[idx])
- for _, sf := range fields {
- name := sf.Name
- // cp437 := reflect.ValueOf(bs).FieldByName(name).String()
- cp437 := bs_value.FieldByName(name).String()
- convert := CP437_to_Unicode(cp437)
- // unicode := reflect.ValueOf(BOXES_UNICODE[idx]).FieldByName(name).String()
- unicode := u_value.FieldByName(name).String()
- if convert != unicode {
- t.Errorf("BOXES %s [%d]: %#v != %#v\n", name, idx, convert, unicode)
- }
- // t.Fatalf("Name: %s, v: %s\n", name, cp437)
- }
- }
- }
- func TestBoxes(t *testing.T) {
- // Normally done in door.init.
- Unicode = true
- BOXES = &BOXES_UNICODE
- box := Box{5, 0}
- got := box.Top()
- expected := "\u250c\u2500\u2500\u2500\u2500\u2500\u2510"
- if got != expected {
- t.Errorf("Boxes Top (0): Expected %#v, got %#v", got, expected)
- }
- got = box.Middle()
- expected = "\u251c\u2500\u2500\u2500\u2500\u2500\u2524"
- if got != expected {
- t.Errorf("Boxes Middle (0): Expected %#v, got %#v", got, expected)
- }
- got = box.Bottom()
- expected = "\u2514\u2500\u2500\u2500\u2500\u2500\u2518"
- if got != expected {
- t.Errorf("Boxes Bottom (0): Expected %#v, got %#v", got, expected)
- }
- got = box.Row("12345")
- expected = "\u250212345\u2502"
- if got != expected {
- t.Errorf("Boxes Row (0): Expected %#v, got %#v", got, expected)
- }
- alert := AlertBox("ALERT", 1)
- lines := []string{"\u2554\u2550\u2550\u2550\u2550\u2550\u2557", "\u2551ALERT\u2551", "\u255a\u2550\u2550\u2550\u2550\u2550\u255d"}
- for idx, line := range alert {
- if line != lines[idx] {
- t.Errorf("AlertBox (%d): Expected %#v, got %#v", idx, line, lines[idx])
- }
- }
- }
|