aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Hanley <felix@userspace.com.au>2019-09-02 05:58:16 +0000
committerFelix Hanley <felix@userspace.com.au>2019-09-02 05:58:16 +0000
commit817b8f058c4bf3607af354a8c71ac8a6d52f9cae (patch)
treed726b34769f7af9b724ea5f9bb6f48871bab9ec8
parent21162fc3fd63a3ac88f247995bf190a7982b83cb (diff)
downloadbechars-817b8f058c4bf3607af354a8c71ac8a6d52f9cae.tar.gz
bechars-817b8f058c4bf3607af354a8c71ac8a6d52f9cae.tar.bz2
Fix classes so sequences are in ASCII orderv0.1.0
-rw-r--r--generator.go10
-rw-r--r--generator_test.go6
2 files changed, 10 insertions, 6 deletions
diff --git a/generator.go b/generator.go
index 27ff770..226b78a 100644
--- a/generator.go
+++ b/generator.go
@@ -131,7 +131,7 @@ func (g Generator) getClass(c string) (string, error) {
var out string
switch c {
case ":alnum:":
- out = lower + upper + numeric
+ out = numeric + upper + lower
case ":cntrl:":
out = g.getRange('\u0000', '\u001F') + "\u007F"
case ":lower:":
@@ -139,7 +139,7 @@ func (g Generator) getClass(c string) (string, error) {
case ":space:":
out = space
case ":alpha:":
- out = lower + upper
+ out = upper + lower
case ":digit:":
out = numeric
case ":print:":
@@ -156,7 +156,11 @@ func (g Generator) getClass(c string) (string, error) {
case ":blank:":
out = " \t"
case ":word:":
- out = lower + upper + numeric + "_"
+ c, err := g.getClass(":alnum:")
+ if err != nil {
+ return "", err
+ }
+ out = c + "_"
case ":punct:":
out = punct
case ":xdigit:":
diff --git a/generator_test.go b/generator_test.go
index 45c4ea0..1bf9373 100644
--- a/generator_test.go
+++ b/generator_test.go
@@ -21,12 +21,12 @@ func TestGenerator(t *testing.T) {
{"[^-:cntrl::digit:]", " !\"#$%&'()*+,./:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"},
{"[^]:cntrl::digit:]", " !\"#$%&'()*+,-./:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\^_`abcdefghijklmnopqrstuvwxyz{|}~"},
// Classes
- {"[:alnum:]", "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"},
- {"[:alpha:]", "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"},
+ {"[:alnum:]", "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"},
+ {"[:alpha:]", "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"},
{"[:digit:]", "0123456789"},
{"[:space:]", " \t\n\r\f\v"},
{"[:blank:]", " \t"},
- {"[:word:]", "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_"},
+ {"[:word:]", "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_"},
{"[:cntrl:]", "\x00\x01\x02\x03\x04\x05\x06\a\b\t\n\v\f\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f\u007f"},
{"[:lower:]", "abcdefghijklmnopqrstuvwxyz"},
{"[:upper:]", "ABCDEFGHIJKLMNOPQRSTUVWXYZ"},