You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

SharedUtilTests.java 4.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. package com.vaadin.shared.util;
  2. import static org.hamcrest.CoreMatchers.is;
  3. import static org.junit.Assert.assertThat;
  4. import java.util.Locale;
  5. import org.junit.Assert;
  6. import org.junit.Test;
  7. public class SharedUtilTests {
  8. @Test
  9. public void trailingSlashIsTrimmed() {
  10. assertThat(SharedUtil.trimTrailingSlashes("/path/"), is("/path"));
  11. }
  12. @Test
  13. public void noTrailingSlashForTrimming() {
  14. assertThat(SharedUtil.trimTrailingSlashes("/path"), is("/path"));
  15. }
  16. @Test
  17. public void trailingSlashesAreTrimmed() {
  18. assertThat(SharedUtil.trimTrailingSlashes("/path///"), is("/path"));
  19. }
  20. @Test
  21. public void emptyStringIsHandled() {
  22. assertThat(SharedUtil.trimTrailingSlashes(""), is(""));
  23. }
  24. @Test
  25. public void rootSlashIsTrimmed() {
  26. assertThat(SharedUtil.trimTrailingSlashes("/"), is(""));
  27. }
  28. @Test
  29. public void camelCaseToHumanReadable() {
  30. Assert.assertEquals("First Name",
  31. SharedUtil.camelCaseToHumanFriendly("firstName"));
  32. Assert.assertEquals("First Name",
  33. SharedUtil.camelCaseToHumanFriendly("first name"));
  34. Assert.assertEquals("First Name2",
  35. SharedUtil.camelCaseToHumanFriendly("firstName2"));
  36. Assert.assertEquals("First",
  37. SharedUtil.camelCaseToHumanFriendly("first"));
  38. Assert.assertEquals("First",
  39. SharedUtil.camelCaseToHumanFriendly("First"));
  40. Assert.assertEquals("Some XYZ Abbreviation",
  41. SharedUtil.camelCaseToHumanFriendly("SomeXYZAbbreviation"));
  42. // Javadoc examples
  43. Assert.assertEquals("My Bean Container",
  44. SharedUtil.camelCaseToHumanFriendly("MyBeanContainer"));
  45. Assert.assertEquals("Awesome URL Factory",
  46. SharedUtil.camelCaseToHumanFriendly("AwesomeURLFactory"));
  47. Assert.assertEquals("Some Uri Action",
  48. SharedUtil.camelCaseToHumanFriendly("SomeUriAction"));
  49. }
  50. @Test
  51. public void splitCamelCase() {
  52. assertCamelCaseSplit("firstName", "first", "Name");
  53. assertCamelCaseSplit("fooBar", "foo", "Bar");
  54. assertCamelCaseSplit("fooBar", "foo", "Bar");
  55. assertCamelCaseSplit("fBar", "f", "Bar");
  56. assertCamelCaseSplit("FBar", "F", "Bar");
  57. assertCamelCaseSplit("MYCdi", "MY", "Cdi");
  58. assertCamelCaseSplit("MyCDIUI", "My", "CDIUI");
  59. assertCamelCaseSplit("MyCDIUITwo", "My", "CDIUI", "Two");
  60. assertCamelCaseSplit("first name", "first", "name");
  61. }
  62. private void assertCamelCaseSplit(String camelCaseString, String... parts) {
  63. String[] splitParts = SharedUtil.splitCamelCase(camelCaseString);
  64. Assert.assertArrayEquals(parts, splitParts);
  65. }
  66. @Test
  67. public void join() {
  68. String s1 = "foo-bar-baz";
  69. String s2 = "foo--bar";
  70. Assert.assertEquals("foobarbaz", SharedUtil.join(s1.split("-"), ""));
  71. Assert.assertEquals("foo!bar!baz", SharedUtil.join(s1.split("-"), "!"));
  72. Assert.assertEquals("foo!!bar!!baz",
  73. SharedUtil.join(s1.split("-"), "!!"));
  74. Assert.assertEquals("foo##bar", SharedUtil.join(s2.split("-"), "#"));
  75. }
  76. @Test
  77. public void dashSeparatedToCamelCase() {
  78. Assert.assertEquals(null, SharedUtil.dashSeparatedToCamelCase(null));
  79. Assert.assertEquals("", SharedUtil.dashSeparatedToCamelCase(""));
  80. Assert.assertEquals("foo", SharedUtil.dashSeparatedToCamelCase("foo"));
  81. Assert.assertEquals("fooBar",
  82. SharedUtil.dashSeparatedToCamelCase("foo-bar"));
  83. Assert.assertEquals("fooBar",
  84. SharedUtil.dashSeparatedToCamelCase("foo--bar"));
  85. Assert.assertEquals("fooBarBaz",
  86. SharedUtil.dashSeparatedToCamelCase("foo-bar-baz"));
  87. Assert.assertEquals("fooBarBaz",
  88. SharedUtil.dashSeparatedToCamelCase("foo-Bar-Baz"));
  89. }
  90. @Test
  91. public void methodUppercaseWithTurkishLocale() {
  92. Locale defaultLocale = Locale.getDefault();
  93. try {
  94. Locale.setDefault(new Locale("tr", "TR"));
  95. Assert.assertEquals("Integer", SharedUtil.capitalize("integer"));
  96. } finally {
  97. Locale.setDefault(defaultLocale);
  98. }
  99. }
  100. }