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.
		
		
		
		
		
			
		
			
				
					
					
						
							61 lines
						
					
					
						
							1.5 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							61 lines
						
					
					
						
							1.5 KiB
						
					
					
				| var assert = require("assert"); | |
| 
 | |
| var documents = require("../lib/documents"); | |
| var test = require("./test")(module); | |
| var convertElementToRawText = require("../lib/raw-text").convertElementToRawText; | |
| 
 | |
| 
 | |
| test('text element is converted to text content', function() { | |
|     var element = new documents.Text("Hello."); | |
| 
 | |
|     var result = convertElementToRawText(element); | |
| 
 | |
|     assert.strictEqual(result, "Hello."); | |
| }); | |
| 
 | |
| test('tab element is converted to tab character', function() { | |
|     var element = documents.tab(); | |
| 
 | |
|     var result = convertElementToRawText(element); | |
| 
 | |
|     assert.strictEqual(result, "\t"); | |
| }); | |
| 
 | |
| test('paragraphs are terminated with newlines', function() { | |
|     var element = new documents.Paragraph( | |
|         [ | |
|             new documents.Text("Hello "), | |
|             new documents.Text("world.") | |
|         ], | |
|         {} | |
|     ); | |
| 
 | |
|     var result = convertElementToRawText(element); | |
| 
 | |
|     assert.strictEqual(result, "Hello world.\n\n"); | |
| }); | |
| 
 | |
| test('children are recursively converted to text', function() { | |
|     var element = new documents.Document([ | |
|         new documents.Paragraph( | |
|             [ | |
|                 new documents.Text("Hello "), | |
|                 new documents.Text("world.") | |
|             ], | |
|             {} | |
|         ) | |
|     ]); | |
| 
 | |
|     var result = convertElementToRawText(element); | |
| 
 | |
|     assert.strictEqual(result, "Hello world.\n\n"); | |
| }); | |
| 
 | |
| 
 | |
| test('non-text element without children is converted to empty string', function() { | |
|     var element = documents.lineBreak; | |
| 
 | |
|     var result = convertElementToRawText(element); | |
| 
 | |
|     assert.strictEqual(result, ""); | |
| });
 | |
| 
 |