def test_jarlog(self): s = six.moves.cStringIO('\n'.join([ 'bar/baz.jar first', 'bar/baz.jar second', 'bar/baz.jar third', 'bar/baz.jar second', 'bar/baz.jar second', 'omni.ja stuff', 'bar/baz.jar first', 'omni.ja other/stuff', 'omni.ja stuff', 'bar/baz.jar third', ])) log = JarLog(fileobj=s) self.assertEqual(set(log.keys()), set([ 'bar/baz.jar', 'omni.ja', ])) self.assertEqual(log['bar/baz.jar'], [ 'first', 'second', 'third', ]) self.assertEqual(log['omni.ja'], [ 'stuff', 'other/stuff', ])
def test_jarlog(self): base = 'file:' + pathname2url(os.path.abspath(os.curdir)) s = StringIO('\n'.join([ base + '/bar/baz.jar first', base + '/bar/baz.jar second', base + '/bar/baz.jar third', base + '/bar/baz.jar second', base + '/bar/baz.jar second', 'jar:' + base + '/qux.zip!/omni.ja stuff', base + '/bar/baz.jar first', 'jar:' + base + '/qux.zip!/omni.ja other/stuff', 'jar:' + base + '/qux.zip!/omni.ja stuff', base + '/bar/baz.jar third', 'jar:jar:' + base + '/qux.zip!/baz/baz.jar!/omni.ja nested/stuff', 'jar:jar:jar:' + base + '/qux.zip!/baz/baz.jar!/foo.zip!/omni.ja' + ' deeply/nested/stuff', ])) log = JarLog(fileobj=s) def canonicalize(p): return mozpath.normsep(os.path.normcase(os.path.realpath(p))) baz_jar = canonicalize('bar/baz.jar') qux_zip = canonicalize('qux.zip') self.assertEqual(set(log.keys()), set([ baz_jar, (qux_zip, 'omni.ja'), (qux_zip, 'baz/baz.jar', 'omni.ja'), (qux_zip, 'baz/baz.jar', 'foo.zip', 'omni.ja'), ])) self.assertEqual(log[baz_jar], [ 'first', 'second', 'third', ]) self.assertEqual(log[(qux_zip, 'omni.ja')], [ 'stuff', 'other/stuff', ]) self.assertEqual(log[(qux_zip, 'baz/baz.jar', 'omni.ja')], ['nested/stuff']) self.assertEqual(log[(qux_zip, 'baz/baz.jar', 'foo.zip', 'omni.ja')], ['deeply/nested/stuff']) # The above tests also indirectly check the value returned by # JarLog.canonicalize for various jar: and file: urls, but # JarLog.canonicalize also supports plain paths. self.assertEqual(JarLog.canonicalize(os.path.abspath('bar/baz.jar')), baz_jar) self.assertEqual(JarLog.canonicalize('bar/baz.jar'), baz_jar)
def test_jarlog(self): base = 'file:' + pathname2url(os.path.abspath(os.curdir)) s = StringIO('\n'.join([ base + '/bar/baz.jar first', base + '/bar/baz.jar second', base + '/bar/baz.jar third', base + '/bar/baz.jar second', base + '/bar/baz.jar second', 'jar:' + base + '/qux.zip!/omni.ja stuff', base + '/bar/baz.jar first', 'jar:' + base + '/qux.zip!/omni.ja other/stuff', 'jar:' + base + '/qux.zip!/omni.ja stuff', base + '/bar/baz.jar third', 'jar:jar:' + base + '/qux.zip!/baz/baz.jar!/omni.ja nested/stuff', 'jar:jar:jar:' + base + '/qux.zip!/baz/baz.jar!/foo.zip!/omni.ja' + ' deeply/nested/stuff', ])) log = JarLog(fileobj=s) canonicalize = lambda p: \ mozpack.path.normsep(os.path.normcase(os.path.realpath(p))) baz_jar = canonicalize('bar/baz.jar') qux_zip = canonicalize('qux.zip') self.assertEqual(set(log.keys()), set([ baz_jar, (qux_zip, 'omni.ja'), (qux_zip, 'baz/baz.jar', 'omni.ja'), (qux_zip, 'baz/baz.jar', 'foo.zip', 'omni.ja'), ])) self.assertEqual(log[baz_jar], [ 'first', 'second', 'third', ]) self.assertEqual(log[(qux_zip, 'omni.ja')], [ 'stuff', 'other/stuff', ]) self.assertEqual(log[(qux_zip, 'baz/baz.jar', 'omni.ja')], ['nested/stuff']) self.assertEqual(log[(qux_zip, 'baz/baz.jar', 'foo.zip', 'omni.ja')], ['deeply/nested/stuff']) # The above tests also indirectly check the value returned by # JarLog.canonicalize for various jar: and file: urls, but # JarLog.canonicalize also supports plain paths. self.assertEqual(JarLog.canonicalize(os.path.abspath('bar/baz.jar')), baz_jar) self.assertEqual(JarLog.canonicalize('bar/baz.jar'), baz_jar)
def test_jarlog(self): s = six.moves.cStringIO("\n".join([ "bar/baz.jar first", "bar/baz.jar second", "bar/baz.jar third", "bar/baz.jar second", "bar/baz.jar second", "omni.ja stuff", "bar/baz.jar first", "omni.ja other/stuff", "omni.ja stuff", "bar/baz.jar third", ])) log = JarLog(fileobj=s) self.assertEqual( set(log.keys()), set([ "bar/baz.jar", "omni.ja", ]), ) self.assertEqual( log["bar/baz.jar"], [ "first", "second", "third", ], ) self.assertEqual( log["omni.ja"], [ "stuff", "other/stuff", ], )