def test_starts_with_one_slash(self): self.assertEqual('/', lti._urljoin('')) self.assertEqual('/', lti._urljoin('/')) self.assertEqual('/foo', lti._urljoin('', 'foo')) self.assertEqual('/foo', lti._urljoin('', '/foo')) self.assertEqual('/foo', lti._urljoin('/', 'foo')) self.assertEqual('/foo', lti._urljoin('/', '/foo'))
def test_when_all_args_slashes(self): self.assertEqual('/', lti._urljoin('/')) self.assertEqual('/', lti._urljoin('/', '/'))
def test_when_all_args_empty(self): self.assertEqual('/', lti._urljoin('')) self.assertEqual('/', lti._urljoin('', ''))
def test_is_variadic_and_delimits_with_single_slash(self): self.assertEqual('/', lti._urljoin('')) self.assertEqual('/a/b/c/d', lti._urljoin('a', 'b', 'c', 'd'))
def test_ends_with_slash_when_last_arg_ends_with_slash(self): self.assertEqual('/foo', lti._urljoin('foo')) self.assertEqual('/foo/', lti._urljoin('foo/')) self.assertEqual('/foo', lti._urljoin('', 'foo')) self.assertEqual('/foo/', lti._urljoin('', 'foo/'))
def test_does_not_remove_internal_slashes(self): self.assertEqual('/a//b', lti._urljoin('a//b'))