def t(v=None, f=None):
     if v is None:
         v = ''
     if f is None:
         f = ''
     s = '{' + str(v) + ':{' + str(f) + '}}'
     return M.FormatString(s)
def test_text():
    fmt = M.FormatString('eggs{}bacon{}spam')
    assert_equal(len(fmt), 5)
    fmt = list(fmt)
    assert_equal(fmt[0], 'eggs')
    assert_equal(fmt[2], 'bacon')
    assert_equal(fmt[4], 'spam')
 def t(self, s, *types):
     fmt = M.FormatString(s)
     assert_equal(len(fmt), len(types))
     assert_equal(len(fmt.argument_map), len(types))
     for (key, args), (xkey, xtype) in zip(sorted(fmt.argument_map.items()),
                                           enumerate(types)):
         [arg] = args
         assert_equal(key, xkey)
         assert_equal(arg.types, frozenset({xtype.__name__}))
 def t(self, k, *types):
     types = frozenset(tp.__name__ for tp in types)
     fmt = M.FormatString('{:' + k + '}')
     [fld] = fmt
     assert_is_instance(fld, M.Field)
     assert_equal(fld.types, types)
     assert_equal(len(fmt.argument_map), 1)
     [(key, [afld])] = fmt.argument_map.items()
     assert_equal(key, 0)
     assert_is(fld, afld)
 def t(i):
     s = '{}' * i
     M.FormatString(s)
 def t(c, k):
     M.FormatString('{:' + c + k + '}')
def test_invalid_field():
    with assert_raises(M.Error):
        M.FormatString('{@}')
def test_add_argument():
    fmt = M.FormatString('{}')
    with assert_raises(RuntimeError):
        fmt.add_argument(None, None)
    with assert_raises(RuntimeError):
        fmt.add_argument('eggs', None)
 def test_good(self):
     fmt = M.FormatString('{spam}')
     [fld] = fmt
     [(aname, [afld])] = fmt.argument_map.items()
     assert_equal(aname, 'spam')
     assert_is(fld, afld)
def test_lone_rcb():
    with assert_raises(M.Error):
        M.FormatString('}')
 def t(w, k):
     if k == '\0':
         k = ''
     M.FormatString('{:.' + str(w) + k + '}')
 def t(k1, k2):
     s = '{0:' + k1 + '}{0:' + k2 + '}'
     M.FormatString(s)
 def t(i):
     s = ('{' + str(i) + '}')
     M.FormatString(s)
 def t(k):
     M.FormatString('{:,' + k + '}')
 def test_bad_letter(self):
     with assert_raises(M.Error):
         M.FormatString('{:Z}')
 def test_bad_char(self):
     with assert_raises(M.Error):
         M.FormatString('{:@}')
 def test_bad(self):
     with assert_raises(M.Error):
         M.FormatString('{3ggs}')