mirror of https://github.com/sipwise/jitsi.git
				
				
				
			
							parent
							
								
									0f2b7f4507
								
							
						
					
					
						commit
						3c8b3127ad
					
				| @ -0,0 +1,143 @@ | ||||
| /* | ||||
|  * Jitsi, the OpenSource Java VoIP and Instant Messaging client. | ||||
|  * | ||||
|  * Distributable under LGPL license. | ||||
|  * See terms of license at gnu.org. | ||||
|  */ | ||||
| package net.java.sip.communicator.impl.gui.main.chat.replacers; | ||||
| 
 | ||||
| import junit.framework.*; | ||||
| 
 | ||||
| /** | ||||
|  * Tests for keyword replacer. | ||||
|  * | ||||
|  * @author Danny van Heumen | ||||
|  */ | ||||
| public class KeywordReplacerTest | ||||
|     extends TestCase | ||||
| { | ||||
|     public void testConstructWithoutKeyword() | ||||
|     { | ||||
|         new KeywordReplacer(null); | ||||
|     } | ||||
| 
 | ||||
|     public void testConstructEmptyKeyword() | ||||
|     { | ||||
|         new KeywordReplacer(""); | ||||
|     } | ||||
| 
 | ||||
|     public void testConstructWithKeyword() | ||||
|     { | ||||
|         new KeywordReplacer("keyword"); | ||||
|     } | ||||
| 
 | ||||
|     public void testExpectPlainText() | ||||
|     { | ||||
|         KeywordReplacer replacer = new KeywordReplacer("test"); | ||||
|         Assert.assertTrue(replacer.expectsPlainText()); | ||||
|     } | ||||
| 
 | ||||
|     public void testNullKeywordReplacement() | ||||
|     { | ||||
|         KeywordReplacer replacer = new KeywordReplacer(null); | ||||
|         StringBuilder target = new StringBuilder(); | ||||
|         replacer.replace(target, "this is a piece of text"); | ||||
|         Assert.assertEquals("this is a piece of text", target.toString()); | ||||
|     } | ||||
| 
 | ||||
|     public void testEmptyKeywordReplacement() | ||||
|     { | ||||
|         KeywordReplacer replacer = new KeywordReplacer(""); | ||||
|         StringBuilder target = new StringBuilder(); | ||||
|         replacer.replace(target, "this is a piece of text"); | ||||
|         Assert.assertEquals("this is a piece of text", target.toString()); | ||||
|     } | ||||
| 
 | ||||
|     public void testTrivialKeywordReplace() | ||||
|     { | ||||
|         KeywordReplacer replacer = new KeywordReplacer("word"); | ||||
|         StringBuilder target = new StringBuilder(); | ||||
|         replacer.replace(target, "word"); | ||||
|         Assert.assertEquals("<b>word</b>", target.toString()); | ||||
|     } | ||||
| 
 | ||||
|     public void testKeywordTooSmallForReplacement() | ||||
|     { | ||||
|         KeywordReplacer replacer = new KeywordReplacer("word"); | ||||
|         StringBuilder target = new StringBuilder(); | ||||
|         replacer.replace(target, "wor"); | ||||
|         Assert.assertEquals("wor", target.toString()); | ||||
|     } | ||||
| 
 | ||||
|     public void testKeywordInSentence() | ||||
|     { | ||||
|         KeywordReplacer replacer = new KeywordReplacer("word"); | ||||
|         StringBuilder target = new StringBuilder(); | ||||
|         replacer.replace(target, "some word in a sentence"); | ||||
|         Assert.assertEquals("some <b>word</b> in a sentence", target.toString()); | ||||
|     } | ||||
| 
 | ||||
|     public void testKeywordAtSentenceStart() | ||||
|     { | ||||
|         KeywordReplacer replacer = new KeywordReplacer("word"); | ||||
|         StringBuilder target = new StringBuilder(); | ||||
|         replacer.replace(target, "word first in a sentence"); | ||||
|         Assert.assertEquals("<b>word</b> first in a sentence", target.toString()); | ||||
|     } | ||||
| 
 | ||||
|     public void testKeywordAtSentenceEnd() | ||||
|     { | ||||
|         KeywordReplacer replacer = new KeywordReplacer("word"); | ||||
|         StringBuilder target = new StringBuilder(); | ||||
|         replacer.replace(target, "last in a sentence word"); | ||||
|         Assert.assertEquals("last in a sentence <b>word</b>", target.toString()); | ||||
|     } | ||||
| 
 | ||||
|     public void testKeywordInSentenceMultipleHits() | ||||
|     { | ||||
|         KeywordReplacer replacer = new KeywordReplacer("word"); | ||||
|         StringBuilder target = new StringBuilder(); | ||||
|         replacer.replace(target, "1 word 2 word 3 word 4"); | ||||
|         Assert.assertEquals("1 <b>word</b> 2 <b>word</b> 3 <b>word</b> 4", target.toString()); | ||||
|     } | ||||
| 
 | ||||
|     public void testDontReplaceKeywordInsideWord() | ||||
|     { | ||||
|         KeywordReplacer replacer = new KeywordReplacer("word"); | ||||
|         StringBuilder target = new StringBuilder(); | ||||
|         replacer.replace(target, "A sentence containing keywords."); | ||||
|         Assert.assertEquals("A sentence containing keywords.", target.toString()); | ||||
|     } | ||||
| 
 | ||||
|     public void testDontReplaceKeywordHeadingWord() | ||||
|     { | ||||
|         KeywordReplacer replacer = new KeywordReplacer("word"); | ||||
|         StringBuilder target = new StringBuilder(); | ||||
|         replacer.replace(target, "I am the wordsmith."); | ||||
|         Assert.assertEquals("I am the wordsmith.", target.toString()); | ||||
|     } | ||||
| 
 | ||||
|     public void testDontReplaceKeywordTrailingWord() | ||||
|     { | ||||
|         KeywordReplacer replacer = new KeywordReplacer("word"); | ||||
|         StringBuilder target = new StringBuilder(); | ||||
|         replacer.replace(target, "Don't find the word in keyword."); | ||||
|         Assert.assertEquals("Don't find the <b>word</b> in keyword.", target.toString()); | ||||
|     } | ||||
| 
 | ||||
|     public void testReplaceKeywordAllowPunctuation() | ||||
|     { | ||||
|         KeywordReplacer replacer = new KeywordReplacer("word"); | ||||
|         StringBuilder target = new StringBuilder(); | ||||
|         replacer.replace(target, "Find the hidden word, word. (word) between parentheses."); | ||||
|         Assert.assertEquals("Find the hidden <b>word</b>, <b>word</b>. (<b>word</b>) between parentheses.", target.toString()); | ||||
|     } | ||||
| 
 | ||||
|     public void testReplaceKeywordAllowPunctuation2() | ||||
|     { | ||||
|         KeywordReplacer replacer = new KeywordReplacer("fo"); | ||||
|         StringBuilder target = new StringBuilder(); | ||||
|         replacer.replace(target, "fo: Whenever someone writes \"for\" or any other word that starts with \"fo\" it recognizes it as my nickname ..."); | ||||
|         Assert.assertEquals("<b>fo</b>: Whenever someone writes "for" or any other word that starts with "<b>fo</b>" it recognizes it as my nickname ...", target.toString()); | ||||
|     } | ||||
| } | ||||
					Loading…
					
					
				
		Reference in new issue