File tree 2 files changed +4
-7
lines changed
2 files changed +4
-7
lines changed Original file line number Diff line number Diff line change @@ -1395,6 +1395,7 @@ describe "String" do
1395
1395
(" %20s" % 'a' ).should eq(" a" )
1396
1396
(" %-20s" % 'a' ).should eq(" a " )
1397
1397
(" %*s" % [10 , 123 ]).should eq(" 123" )
1398
+ (" %*s" % [-10 , 123 ]).should eq(" 123 " )
1398
1399
(" %.5s" % " foo bar baz" ).should eq(" foo b" )
1399
1400
(" %.*s" % [5 , " foo bar baz" ]).should eq(" foo b" )
1400
1401
(" %*.*s" % [20 , 5 , " foo bar baz" ]).should eq(" foo b" )
Original file line number Diff line number Diff line change @@ -292,7 +292,7 @@ struct String::Formatter(A)
292
292
293
293
def pad (consumed, flags)
294
294
padding_char = flags.padding_char
295
- (flags.width - consumed).times do
295
+ (flags.width.abs - consumed).times do
296
296
@io << padding_char
297
297
end
298
298
end
@@ -366,16 +366,12 @@ struct String::Formatter(A)
366
366
@precision_size = 0
367
367
end
368
368
369
- def wants_padding ?
370
- @width > 0
371
- end
372
-
373
369
def left_padding ?
374
- wants_padding? && ! @minus
370
+ @minus ? @width < 0 : @width > 0
375
371
end
376
372
377
373
def right_padding ?
378
- wants_padding? && @minus
374
+ @minus ? @width > 0 : @width < 0
379
375
end
380
376
381
377
def padding_char
You can’t perform that action at this time.
0 commit comments