package com.orgzly.android.util; import org.junit.Assert; import org.junit.Test; import static junit.framework.Assert.assertEquals; import static junit.framework.Assert.assertFalse; import static junit.framework.Assert.assertTrue; public class MiscUtilsTest { @Test public void testLineCount1() { assertEquals(0, MiscUtils.lineCount(null)); } @Test public void testLineCount2() { assertEquals(1, MiscUtils.lineCount("")); } @Test public void testLineCount3() { assertEquals(2, MiscUtils.lineCount("\n")); } @Test public void testLineCount4() { assertEquals(2, MiscUtils.lineCount("Lorem ipsum\ndolor sit amet.")); } @Test public void testLineCount5() { assertEquals(3, MiscUtils.lineCount("Lorem ipsum\ndolor sit amet.\n")); } @Test public void testLineCount6() { assertEquals(3, MiscUtils.lineCount("\nLorem ipsum dolor sit amet.\n")); } @Test public void testLineCount7() { assertEquals(4, MiscUtils.lineCount("\n\nLorem ipsum dolor sit amet.\n")); } @Test public void testLineCount8() { assertEquals(3, MiscUtils.lineCount("\n\n")); } @Test public void testEncodeUri() { Assert.assertEquals( "file:/storage/emulated/0/org/file%20%231%20is%20%3Athis%3As.org", MiscUtils.encodeUri("file:/storage/emulated/0/org/file #1 is :this:s.org")); Assert.assertEquals( "file:/storage/emulated/0/org/file%20%231%20is%20this.org", MiscUtils.encodeUri("file:/storage/emulated/0/org/file #1 is this.org")); Assert.assertEquals( "file:/storage/emulated/0/org/dir%23dir/file%20name.org", MiscUtils.encodeUri("file:/storage/emulated/0/org/dir#dir/file name.org")); Assert.assertEquals( "file:/storage/emulated/0/org/dir%25dir/file%20%25%20name.org", MiscUtils.encodeUri("file:/storage/emulated/0/org/dir%dir/file % name.org")); Assert.assertEquals( "file:/storage/emulated/0/org/dir/file%25name.org", MiscUtils.encodeUri("file:/storage/emulated/0/org/dir/file%name.org")); Assert.assertEquals( "file:/storage/emulated/0/org/dir/%25.org", MiscUtils.encodeUri("file:/storage/emulated/0/org/dir/%.org")); Assert.assertEquals( "file:/storage/emulated/0/org-enc/name%20with%20percent%20%25%20in%20it.org", MiscUtils.encodeUri("file:/storage/emulated/0/org-enc/name%20with%20percent%20%25%20in%20it.org")); } @Test public void testUriNeedsEncoding() { assertFalse(MiscUtils.uriPathNeedsEncoding("/dir")); assertFalse(MiscUtils.uriPathNeedsEncoding("/dir/%200")); assertTrue(MiscUtils.uriPathNeedsEncoding("/dir/%")); assertTrue(MiscUtils.uriPathNeedsEncoding("/dir/%%")); assertTrue(MiscUtils.uriPathNeedsEncoding("/dir/%%%")); assertTrue(MiscUtils.uriPathNeedsEncoding("/dir/+")); assertTrue(MiscUtils.uriPathNeedsEncoding("/dir/%l0")); assertTrue(MiscUtils.uriPathNeedsEncoding("/dir/%0l")); assertTrue(MiscUtils.uriPathNeedsEncoding("/dir/%0 0")); assertTrue(MiscUtils.uriPathNeedsEncoding("/dir/file name")); } }