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'))