public void CreateBlogPost_WithEntryPublisher_RemovesKeywordExpander() { // arrange var context = new Mock <ISubtextContext>(); context.Setup(c => c.Blog.TimeZone.FromUtc(It.IsAny <DateTime>())).Returns(DateTime.Now); 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_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 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_WithStringContainingKeywordInsideAnchorTagInnerText_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 href=\"http://x\">a keyword test</a>"); //assert Assert.AreEqual("<a href=\"http://x\">a keyword test</a>", result); }
public void Replace_WithStringContainingKeyword_ExpandsKeyword() { //arrange var keywords = new List <KeyWord> { new KeyWord { Word = "sucky example", Text = "cool example", Url = "http://example.com/", } }; 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/\">cool example</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 Ctor_WithRepository_GetsKeywordsFromRepository() { //arrange var keywords = new List <KeyWord> { new KeyWord { Word = "is", Text = "is", Url = "http://example.com/", } }; var repository = new Mock <ObjectProvider>(); repository.Setup(r => r.GetKeyWords()).Returns(keywords); //act var keywordExpander = new KeywordExpander(keywords); //assert Assert.AreEqual(keywords, keywordExpander.Keywords); }
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); }