Browse Source

Another test, another bug fixed.

Steve Thielemann 3 years ago
parent
commit
fa9f3c69c5
3 changed files with 34 additions and 3 deletions
  1. 1 1
      door/bar_test.go
  2. 4 2
      door/box.go
  3. 29 0
      door/box_test.go

+ 1 - 1
door/bar_test.go

@@ -10,7 +10,7 @@ func pctUpdate(pct *int64) func() int64 {
 	}
 }
 
-func TestBarHalfStep(t *testing.T) {
+func TestBars(t *testing.T) {
 
 	// This is normally done by door init, but we're skipping that right now
 	Unicode = true

+ 4 - 2
door/box.go

@@ -41,14 +41,16 @@ var BOXES_CP437 = [4]BoxStyle{
 		╞══╡
 		╘══╛
 	*/
-	BoxStyle{"\xd6", "\xb8", "\xcd", "\xb3", "\xd4", "\xbe", "\xc6", "\xb5"},
+
 	/*
 		╓──╖
 		║  ║
 		╟──╢
 		╙──╜
 	*/
-	BoxStyle{"\xd6", "\xb7", "\xc4", "\xba", "\xd3", "\xbd", "\xc7", "\xb6"}}
+	BoxStyle{"\xd6", "\xb7", "\xc4", "\xba", "\xd3", "\xbd", "\xc7", "\xb6"},
+	BoxStyle{"\xd5", "\xb8", "\xcd", "\xb3", "\xd4", "\xbe", "\xc6", "\xb5"},
+}
 
 var BOXES_UNICODE = [4]BoxStyle{
 	BoxStyle{"\u250c", "\u2510", "\u2500", "\u2502", "\u2514", "\u2518", "\u251c", "\u2524"},

+ 29 - 0
door/box_test.go

@@ -0,0 +1,29 @@
+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)
+		}
+	}
+}