diff --git a/docs/lexicon.html b/docs/lexicon.html index ba838f200..d49528faa 100644 --- a/docs/lexicon.html +++ b/docs/lexicon.html @@ -418,7 +418,7 @@

>width[, fillchar]) - - returns a copy of this string left-padded with the character given + - returns a copy of this string right-padded with the character given in fillchar (or the default ' ' if no value is given) until it is width characters long. @@ -431,7 +431,7 @@

>width[, fillchar]) - - returns a copy of this string right-padded with the character given + - returns a copy of this string left-padded with the character given in fillchar (or the default ' ' if no value is given) until it is width characters long. diff --git a/src/parse/asp/builtins.go b/src/parse/asp/builtins.go index 67f3d5cea..f6c2a2ef3 100644 --- a/src/parse/asp/builtins.go +++ b/src/parse/asp/builtins.go @@ -569,9 +569,9 @@ func strJust(s *scope, args []pyObject, left bool) pyObject { return pyString(self) } if left { - return pyString(strings.Repeat(fillchar, count) + self) + return pyString(self + strings.Repeat(fillchar, count)) } - return pyString(self + strings.Repeat(fillchar, count)) + return pyString(strings.Repeat(fillchar, count) + self) } func strLStrip(s *scope, args []pyObject) pyObject { diff --git a/src/parse/asp/interpreter_test.go b/src/parse/asp/interpreter_test.go index aed64561c..511f00b05 100644 --- a/src/parse/asp/interpreter_test.go +++ b/src/parse/asp/interpreter_test.go @@ -734,16 +734,16 @@ func TestBreakLoop(t *testing.T) { func TestStrLjust(t *testing.T) { s, err := parseFile("src/parse/asp/test_data/interpreter/str/ljust.build") assert.NoError(t, err) - assert.EqualValues(t, pyString(" kittens"), s.Lookup("s1")) - assert.EqualValues(t, pyString("+++kittens"), s.Lookup("s2")) + assert.EqualValues(t, pyString("kittens "), s.Lookup("s1")) + assert.EqualValues(t, pyString("kittens+++"), s.Lookup("s2")) assert.EqualValues(t, pyString("kittens"), s.Lookup("s3")) assert.EqualValues(t, pyString("kittens"), s.Lookup("s4")) assert.EqualValues(t, pyString("kittens"), s.Lookup("s5")) assert.EqualValues(t, pyString("kittens"), s.Lookup("s6")) assert.EqualValues(t, pyString("kittens"), s.Lookup("s7")) assert.EqualValues(t, pyString("kittens"), s.Lookup("s8")) - assert.EqualValues(t, pyString("£££kittens"), s.Lookup("s9")) - assert.EqualValues(t, pyString("++++££kittens££"), s.Lookup("s10")) + assert.EqualValues(t, pyString("kittens£££"), s.Lookup("s9")) + assert.EqualValues(t, pyString("££kittens££++++"), s.Lookup("s10")) // Make sure the original string wasn't modified: assert.EqualValues(t, pyString("kittens"), s.Lookup("orig")) @@ -754,16 +754,16 @@ func TestStrLjust(t *testing.T) { func TestStrRjust(t *testing.T) { s, err := parseFile("src/parse/asp/test_data/interpreter/str/rjust.build") assert.NoError(t, err) - assert.EqualValues(t, pyString("kittens "), s.Lookup("s1")) - assert.EqualValues(t, pyString("kittens+++"), s.Lookup("s2")) + assert.EqualValues(t, pyString(" kittens"), s.Lookup("s1")) + assert.EqualValues(t, pyString("+++kittens"), s.Lookup("s2")) assert.EqualValues(t, pyString("kittens"), s.Lookup("s3")) assert.EqualValues(t, pyString("kittens"), s.Lookup("s4")) assert.EqualValues(t, pyString("kittens"), s.Lookup("s5")) assert.EqualValues(t, pyString("kittens"), s.Lookup("s6")) assert.EqualValues(t, pyString("kittens"), s.Lookup("s7")) assert.EqualValues(t, pyString("kittens"), s.Lookup("s8")) - assert.EqualValues(t, pyString("kittens£££"), s.Lookup("s9")) - assert.EqualValues(t, pyString("££kittens££++++"), s.Lookup("s10")) + assert.EqualValues(t, pyString("£££kittens"), s.Lookup("s9")) + assert.EqualValues(t, pyString("++++££kittens££"), s.Lookup("s10")) // Make sure the original string wasn't modified: assert.EqualValues(t, pyString("kittens"), s.Lookup("orig"))