reshape-contents-body.test.ts 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. import { reshapeContentsBody } from './reshape-contents-body';
  2. describe('reshapeContentsBody', () => {
  3. describe('Markdown only', () => {
  4. test('Return the same input', () => {
  5. const input = `
  6. # Title\u0020\u0020
  7. ## Section\u0020\u0020
  8. I tested this code at 12:00 AM.\u0020\u0020
  9. **bold** text
  10. some texts`;
  11. expect(reshapeContentsBody(input)).toBe(input);
  12. });
  13. });
  14. describe('Contains time but no headers', () => {
  15. test('Return the same input', () => {
  16. const input = `
  17. 12:23
  18. some messages...
  19. 12:23
  20. some messages...
  21. 12:23`;
  22. expect(reshapeContentsBody(input)).toBe(input);
  23. });
  24. });
  25. describe('Copied from Slack only', () => {
  26. test('Reshape', () => {
  27. const input = `
  28. taichi-m 12:23 PM
  29. some messages...
  30. some messages...
  31. some messages...
  32. 12:23
  33. some messages...
  34. 12:23
  35. some messages...`;
  36. const output = `
  37. <div class="grw-keep">
  38. ## **taichi-m**<span class="grw-keep-time"> 12:23 PM</span>
  39. \u0020\u0020
  40. some messages...\u0020\u0020
  41. some messages...\u0020\u0020
  42. some messages...\u0020\u0020
  43. --12:23--\u0020\u0020
  44. some messages...\u0020\u0020
  45. --12:23--\u0020\u0020
  46. some messages...\u0020\u0020
  47. </div>\u0020\u0020
  48. `;
  49. expect(reshapeContentsBody(input)).toBe(output);
  50. });
  51. });
  52. describe('Copied from Slack only (24 hours format)', () => {
  53. test('Reshape', () => {
  54. const input = `
  55. taichi-m 12:23
  56. some messages...
  57. some messages...
  58. some messages...
  59. 12:23
  60. some messages...
  61. 12:23
  62. some messages...`;
  63. const output = `
  64. <div class="grw-keep">
  65. ## **taichi-m**<span class="grw-keep-time"> 12:23</span>
  66. \u0020\u0020
  67. some messages...\u0020\u0020
  68. some messages...\u0020\u0020
  69. some messages...\u0020\u0020
  70. --12:23--\u0020\u0020
  71. some messages...\u0020\u0020
  72. --12:23--\u0020\u0020
  73. some messages...\u0020\u0020
  74. </div>\u0020\u0020
  75. `;
  76. expect(reshapeContentsBody(input)).toBe(output);
  77. });
  78. });
  79. describe('Markdown and copied from Slack', () => {
  80. test('Reshape only after the first header', () => {
  81. const input = `
  82. some messages...
  83. taichi-m 12:23 PM
  84. some messages...`;
  85. const output = `some messages...
  86. <div class="grw-keep">
  87. ## **taichi-m**<span class="grw-keep-time"> 12:23 PM</span>
  88. \u0020\u0020
  89. some messages...\u0020\u0020
  90. </div>\u0020\u0020
  91. `;
  92. expect(reshapeContentsBody(input)).toBe(output);
  93. });
  94. });
  95. });