Execute ( SpaceVim api: data#string ):
  let str = SpaceVim#api#import('data#string')
  Log 'test trim()'
  AssertEqual str.trim(' s b '), 's b'
  Log 'test strcharpart()'
  AssertEqual str.strcharpart('abcd', 1, 2), 'bc'
  Log 'test fill()'
  AssertEqual str.fill('s b', 10), 's b       '
  Log 'test fill() len < strlen'
  AssertEqual str.fill('s b', 2), 's '
  Log 'test fill() with char'
  AssertEqual str.fill('s b', 10, '*'), 's b*******'
  Log 'test fill_left()'
  AssertEqual str.fill_left('s b', 10, '*'), '*******s b'
  Log 'test fill_left() len = strlen'
  AssertEqual str.fill_left('s b', 3, '*'), 's b'
  Log 'test fill_left() len < strlen'
  AssertEqual str.fill_left('s b', 2, '*'), ' b'
  Log 'test fill_middle()'
  AssertEqual str.fill_middle('s b', 9, '*'), '***s b***'
  Log 'test fill_middle() fill number % 2  = 1'
  AssertEqual str.fill_middle('s b', 10, '*'), '***s b****'
  Log 'test fill_middle() len = strlen'
  AssertEqual str.fill_middle('s b', 3, '*'), 's b'
  Log 'test fill_middle() len < strlen'
  AssertEqual str.fill_middle('s b', 2, '*'), ' b'
  AssertEqual str.fill_middle('s b', 1, '*'), ' '
  Log 'test split()'
  AssertEqual str.split('   20   281   23 -invalid-', '', 0, 4)[2], '23'
  Log 'test trim_start()'
  AssertEqual str.trim_start(' s b '), 's b '
  Log 'test string2chars()'
  AssertEqual str.string2chars(' a b '), [' ', 'a', ' ', 'b', ' ']
  AssertEqual str.string2chars('你好'), ['你', '好']
  Log 'test strQ2B()'
  AssertEqual str.strQ2B('％'), '%'
  Log 'test strB2Q()'
  AssertEqual str.strB2Q('%'), '％'
  AssertEqual str.trim_end(' s b '), ' s b'
  AssertEqual str.fill_middle('s b', 10), '   s b    '
  AssertEqual str.strAllIndex('hello spacevim hello', 'hello', 0), [[0, 5], [15, 20]]
  AssertEqual str.strAllIndex('hello spacevim hello', 'he.*', 1), [[0, 20]]
  AssertEqual str.strAllIndex('hello spacevim hello', 'he[^ ]*', 1), [[0, 5], [15, 20]]
  AssertEqual str.strAllIndex('let s:cursor_stack[i].end = s:cursor_stack[i].cursor . s:cursor_stack[i].end', 's.cursor[^_]*', 1), [[4, 12], [28, 36], [55, 63]]
  Log 'test toggle_case()'
  AssertEqual str.toggle_case(' A b 123'), ' a B 123'
  unlet str
