def test_rpm2py_format(self):
     fmt = repoquery.rpm2py_format('%{name}')
     self.assertEqual(fmt, '{0.name}')
     fmt = repoquery.rpm2py_format('%40{name}')
     self.assertEqual(fmt, '{0.name:<40}')
     fmt = repoquery.rpm2py_format('%-40{name}')
     self.assertEqual(fmt, '{0.name:>40}')
     fmt = repoquery.rpm2py_format('%{name}-%{repoid} :: %-40{arch}')
     self.assertEqual(fmt, '{0.name}-{0.repoid} :: {0.arch:>40}')
 def test_illegal_attr(self):
     pkg = PkgStub()
     with self.assertRaises(AttributeError) as ctx:
         repoquery.rpm2py_format('%{notfound}').format(pkg)
     self.assertEqual(str(ctx.exception),
                      "'PkgStub' object has no attribute 'notfound'")
 def test_output(self):
     pkg = PkgStub()
     fmt = repoquery.rpm2py_format(
         '%{name}-%{version}-%{release}.%{arch} (%{reponame})')
     self.assertEqual(fmt.format(pkg), 'foobar-1.0.1-1.f20.x86_64 (@System)')