public void Replace_WithKeywordSurroundedByUnderscores_IsNotExpanded() { //arrange var keywords = new List<KeyWord> { new KeyWord { Word = "is", Text = "is", Url = "http://example.com/{0}", } }; var keywordExpander = new KeywordExpander(keywords); //act string result = keywordExpander.Transform(" _is_ "); //assert Assert.AreEqual(" _is_ ", result); }
public void Replace_WithStringContainingKeywordInAnotherWord_DoesNotExpandKeyword() { //arrange var keywords = new List<KeyWord> { new KeyWord { Word = "is", Text = "is", Url = "http://example.com/", } }; var keywordExpander = new KeywordExpander(keywords); //act string result = keywordExpander.Transform("This should not expand"); //assert Assert.AreEqual("This should not expand", result); }
public void Ctor_WithRepository_GetsKeywordsFromRepository() { //arrange var keywords = new List<KeyWord> { new KeyWord { Word = "is", Text = "is", Url = "http://example.com/", } }; var repository = new Mock<ObjectRepository>(); repository.Setup(r => r.GetKeyWords()).Returns(keywords); //act var keywordExpander = new KeywordExpander(keywords); //assert Assert.AreEqual(keywords, keywordExpander.Keywords); }
public void CreateBlogPost_WithEntryPublisher_RemovesKeywordExpander() { // arrange var context = new Mock<ISubtextContext>(); context.Setup(c => c.Blog).Returns(new Blog()); context.Setup(c => c.Repository.Create(It.IsAny<Entry>(), It.IsAny<IEnumerable<int>>())); var transformation = new CompositeTextTransformation(); var searchengine = new Mock<IIndexingService>(); var entryPublisher = new EntryPublisher(context.Object, transformation, null, searchengine.Object); var keywordExpander = new KeywordExpander((IEnumerable<KeyWord>)null); transformation.Add(keywordExpander); var blog = new BlogMLBlog() { Title = "MyBlog" }; var post = new BlogMLPost(); var repository = new BlogImportRepository(context.Object, null, entryPublisher, new BlogMLImportMapper()); // act repository.CreateBlogPost(blog, post); // assert Assert.IsFalse(transformation.Contains(keywordExpander)); }
public void Replace_WithStringContainingKeywordInsideAnchorTagAttribute_DoesNotExpandKeyword() { //arrange var keywords = new List<KeyWord> { new KeyWord { Word = "keyword", Text = "keyword", Url = "http://example.com/", } }; var keywordExpander = new KeywordExpander(keywords); //act string result = keywordExpander.Transform("<a title=\"keyword\" href=\"http://x\">test</a>"); //assert Assert.AreEqual("<a title=\"keyword\" href=\"http://x\">test</a>", result); }
public void Transform_WithStringContainingBrackets_ReturnsConvertedKeywordAndBrackets() { //arrange var keywords = new List<KeyWord> { new KeyWord { Word = "OLD", Text = "NEW", Url = "http://example.com/", Title = "NEW", ReplaceFirstTimeOnly = false } }; var keywordExpander = new KeywordExpander(keywords); //act string result = keywordExpander.Transform("OLD {} OLD {}"); //assert Assert.AreEqual(@"<a href=""http://example.com/"" title=""NEW"">NEW</a> {} <a href=""http://example.com/"" title=""NEW"">NEW</a> {}", result); }
public void Replace_WithStringContainingKeyword_IsNotCaseSensitive() { //arrange var keywords = new List<KeyWord> { new KeyWord { Word = "is", Text = "is", Url = "http://example.com/", } }; var keywordExpander = new KeywordExpander(keywords); //act string result = keywordExpander.Transform(" it IS true "); //assert Assert.AreEqual(" it <a href=\"http://example.com/\">is</a> true ", result); }
public void Replace_WithStringContainingKeyword_ExpandsKeywordWithTitle() { //arrange var keywords = new List<KeyWord> { new KeyWord { Word = "sucky example", Text = "cool example", Url = "http://example.com/", Title = "the title" } }; var keywordExpander = new KeywordExpander(keywords); //act string result = keywordExpander.Transform("This is a sucky example"); //assert Assert.AreEqual("This is a <a href=\"http://example.com/\" title=\"the title\">cool example</a>", result); }