raw-text.tests.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. var assert = require("assert");
  2. var documents = require("../lib/documents");
  3. var test = require("./test")(module);
  4. var convertElementToRawText = require("../lib/raw-text").convertElementToRawText;
  5. test('text element is converted to text content', function() {
  6. var element = new documents.Text("Hello.");
  7. var result = convertElementToRawText(element);
  8. assert.strictEqual(result, "Hello.");
  9. });
  10. test('tab element is converted to tab character', function() {
  11. var element = documents.tab();
  12. var result = convertElementToRawText(element);
  13. assert.strictEqual(result, "\t");
  14. });
  15. test('paragraphs are terminated with newlines', function() {
  16. var element = new documents.Paragraph(
  17. [
  18. new documents.Text("Hello "),
  19. new documents.Text("world.")
  20. ],
  21. {}
  22. );
  23. var result = convertElementToRawText(element);
  24. assert.strictEqual(result, "Hello world.\n\n");
  25. });
  26. test('children are recursively converted to text', function() {
  27. var element = new documents.Document([
  28. new documents.Paragraph(
  29. [
  30. new documents.Text("Hello "),
  31. new documents.Text("world.")
  32. ],
  33. {}
  34. )
  35. ]);
  36. var result = convertElementToRawText(element);
  37. assert.strictEqual(result, "Hello world.\n\n");
  38. });
  39. test('non-text element without children is converted to empty string', function() {
  40. var element = documents.lineBreak;
  41. var result = convertElementToRawText(element);
  42. assert.strictEqual(result, "");
  43. });