Пример #1
0
        public void CanRetweetBy_MyTweetTest()
        {
            var post = new TestPostClass
            {
                UserId = 111L, // 自分のツイート
            };

            Assert.True(post.CanRetweetBy(selfUserId: 111L));
        }
Пример #2
0
        public void CanDeleteBy_OthersTweetTest()
        {
            var post = new TestPostClass
            {
                UserId = 222L, // 他人のツイート
            };

            Assert.False(post.CanDeleteBy(selfUserId: 111L));
        }
Пример #3
0
        public void SourceHtml_Test()
        {
            var post = new TestPostClass
            {
                Source    = "Twitter Web Client",
                SourceUri = new Uri("http://twitter.com/"),
            };

            Assert.Equal("<a href=\"http://twitter.com/\" rel=\"nofollow\">Twitter Web Client</a>", post.SourceHtml);
        }
Пример #4
0
        public void SourceHtml_PlainTextTest()
        {
            var post = new TestPostClass
            {
                Source    = "web",
                SourceUri = null,
            };

            Assert.Equal("web", post.SourceHtml);
        }
Пример #5
0
        public void SourceHtml_EscapeTest()
        {
            var post = new TestPostClass
            {
                Source    = "<script>alert(1)</script>",
                SourceUri = new Uri("http://example.com/?aaa=123&bbb=456"),
            };

            Assert.Equal("<a href=\"http://example.com/?aaa=123&amp;bbb=456\" rel=\"nofollow\">&lt;script&gt;alert(1)&lt;/script&gt;</a>", post.SourceHtml);
        }
Пример #6
0
        public void SourceHtml_EscapePlainTextTest()
        {
            var post = new TestPostClass
            {
                Source    = "<script>alert(1)</script>",
                SourceUri = null,
            };

            Assert.Equal("&lt;script&gt;alert(1)&lt;/script&gt;", post.SourceHtml);
        }
Пример #7
0
        public void CanDeleteBy_RetweetedByMeTest()
        {
            var post = new TestPostClass
            {
                RetweetedByUserId = 111L, // 自分がリツイートした
                UserId            = 222L, // 他人のツイート
            };

            Assert.True(post.CanDeleteBy(selfUserId: 111L));
        }
Пример #8
0
        public void CanDeleteBy_RetweetedByOthersTest()
        {
            var post = new TestPostClass
            {
                RetweetedByUserId = 333L, // 他人がリツイートした
                UserId            = 222L, // 他人のツイート
            };

            Assert.False(post.CanDeleteBy(selfUserId: 111L));
        }
Пример #9
0
        public void CanDeleteBy_MyTweetHaveBeenRetweetedByOthersTest()
        {
            var post = new TestPostClass
            {
                RetweetedByUserId = 222L, // 他人がリツイートした
                UserId            = 111L, // 自分のツイート
            };

            Assert.True(post.CanDeleteBy(selfUserId: 111L));
        }
Пример #10
0
        public void CanRetweetBy_OthersTweet_ProtectedTest()
        {
            var post = new TestPostClass
            {
                UserId    = 222L, // 他人のツイート
                IsProtect = true,
            };

            Assert.False(post.CanRetweetBy(selfUserId: 111L));
        }
Пример #11
0
        public void CanDeleteBy_SentDMTest()
        {
            var post = new TestPostClass
            {
                IsDm   = true,
                IsMe   = true, // 自分が送信した DM
                UserId = 222L, // 送信先ユーザーID
            };

            Assert.True(post.CanDeleteBy(selfUserId: 111L));
        }
Пример #12
0
        public void CanDeleteBy_ReceivedDMTest()
        {
            var post = new TestPostClass
            {
                IsDm   = true,
                IsMe   = false, // 自分が受け取った DM
                UserId = 222L,  // 送信元ユーザーID
            };

            Assert.True(post.CanDeleteBy(selfUserId: 111L));
        }
Пример #13
0
        public void CanRetweetBy_DMTest()
        {
            var post = new TestPostClass
            {
                IsDm   = true,
                IsMe   = false, // 自分が受け取った DM
                UserId = 222L,  // 送信元ユーザーID
            };

            Assert.False(post.CanRetweetBy(selfUserId: 111L));
        }
Пример #14
0
        public void StateIndexTest(bool protect, bool mark, bool reply, bool geo, int expected)
        {
            var post = new TestPostClass
            {
                IsProtect         = protect,
                IsMark            = mark,
                InReplyToStatusId = reply ? (long?)100L : null,
                PostGeo           = geo ? new PostClass.StatusGeo(-126.716667, -47.15) : (PostClass.StatusGeo?)null,
            };

            Assert.Equal(expected, post.StateIndex);
        }
Пример #15
0
        public void DeleteTest()
        {
            var post = new TestPostClass
            {
                InReplyToStatusId = 10L,
                InReplyToUser = "******",
                InReplyToUserId = 100L,
                IsReply = true,
                ReplyToList = new List<string> {"hogehoge"},
            };

            post.IsDeleted = true;

            Assert.That(post.InReplyToStatusId, Is.Null);
            Assert.That(post.InReplyToUser, Is.EqualTo(""));
            Assert.That(post.InReplyToUserId, Is.Null);
            Assert.That(post.IsReply, Is.False);
            Assert.That(post.ReplyToList, Is.Empty);
            Assert.That(post.StateIndex, Is.EqualTo(-1));
        }
Пример #16
0
        public void StateIndexTest(
            [Values(true, false)] bool protect,
            [Values(true, false)] bool mark,
            [Values(true, false)] bool reply,
            [Values(true, false)] bool geo)
        {
            var post   = new TestPostClass();
            var except = 0x00;

            post.IsProtect = protect;
            if (protect)
            {
                except |= 0x01;
            }

            post.IsMark = mark;
            if (mark)
            {
                except |= 0x02;
            }

            post.InReplyToStatusId = reply ? (long?)100L : null;
            if (reply)
            {
                except |= 0x04;
            }

            post.PostGeo = geo ? new PostClass.StatusGeo {
                Lat = -47.15, Lng = -126.716667
            } : new PostClass.StatusGeo();
            if (geo)
            {
                except |= 0x08;
            }

            except -= 1;

            Assert.That(post.StateIndex, Is.EqualTo(except));
        }
Пример #17
0
        public void DeleteTest()
        {
            var post = new TestPostClass
            {
                InReplyToStatusId = 10L,
                InReplyToUser     = "******",
                InReplyToUserId   = 100L,
                IsReply           = true,
                ReplyToList       = new List <string> {
                    "hogehoge"
                },
            };

            post.IsDeleted = true;

            Assert.That(post.InReplyToStatusId, Is.Null);
            Assert.That(post.InReplyToUser, Is.EqualTo(""));
            Assert.That(post.InReplyToUserId, Is.Null);
            Assert.That(post.IsReply, Is.False);
            Assert.That(post.ReplyToList, Is.Empty);
            Assert.That(post.StateIndex, Is.EqualTo(-1));
        }
Пример #18
0
        public void DeleteTest()
        {
            var post = new TestPostClass
            {
                InReplyToStatusId = 10L,
                InReplyToUser     = "******",
                InReplyToUserId   = 100L,
                IsReply           = true,
                ReplyToList       = new List <string> {
                    "hogehoge"
                },
            };

            post.IsDeleted = true;

            Assert.Null(post.InReplyToStatusId);
            Assert.Equal("", post.InReplyToUser);
            Assert.Null(post.InReplyToUserId);
            Assert.False(post.IsReply);
            Assert.Empty(post.ReplyToList);
            Assert.Equal(-1, post.StateIndex);
        }
Пример #19
0
        public void SourceHtml_EscapeTest()
        {
            var post = new TestPostClass
            {
                Source = "<script>alert(1)</script>",
                SourceUri = new Uri("http://example.com/?aaa=123&bbb=456"),
            };

            Assert.Equal("<a href=\"http://example.com/?aaa=123&amp;bbb=456\" rel=\"nofollow\">&lt;script&gt;alert(1)&lt;/script&gt;</a>", post.SourceHtml);
        }
Пример #20
0
        public void SourceHtml_EscapePlainTextTest()
        {
            var post = new TestPostClass
            {
                Source = "<script>alert(1)</script>",
                SourceUri = null,
            };

            Assert.Equal("&lt;script&gt;alert(1)&lt;/script&gt;", post.SourceHtml);
        }
Пример #21
0
        public void CanDeleteBy_SentDMTest()
        {
            var post = new TestPostClass
            {
                IsDm = true,
                IsMe = true, // 自分が送信した DM
                UserId = 222L, // 送信先ユーザーID
            };

            Assert.True(post.CanDeleteBy(selfUserId: 111L));
        }
Пример #22
0
        public void CanDeleteBy_ReceivedDMTest()
        {
            var post = new TestPostClass
            {
                IsDm = true,
                IsMe = false, // 自分が受け取った DM
                UserId = 222L, // 送信元ユーザーID
            };

            Assert.True(post.CanDeleteBy(selfUserId: 111L));
        }
Пример #23
0
        public void CanDeleteBy_MyTweetTest()
        {
            var post = new TestPostClass
            {
                UserId = 111L, // 自分のツイート
            };

            Assert.True(post.CanDeleteBy(selfUserId: 111L));
        }
Пример #24
0
        public void StateIndexTest(bool protect, bool mark, bool reply, bool geo, int expected)
        {
            var post = new TestPostClass
            {
                IsProtect = protect,
                IsMark = mark,
                InReplyToStatusId = reply ? (long?)100L : null,
                PostGeo = geo ? new PostClass.StatusGeo { Lat = -47.15, Lng = -126.716667 } : new PostClass.StatusGeo(),
            };

            Assert.Equal(expected, post.StateIndex);
        }
Пример #25
0
        public void CanRetweetBy_OthersTweet_ProtectedTest()
        {
            var post = new TestPostClass
            {
                UserId = 222L, // 他人のツイート
                IsProtect = true,
            };

            Assert.False(post.CanRetweetBy(selfUserId: 111L));
        }
Пример #26
0
        public void CanDeleteBy_RetweetedByMeTest()
        {
            var post = new TestPostClass
            {
                RetweetedByUserId = 111L, // 自分がリツイートした
                UserId = 222L, // 他人のツイート
            };

            Assert.True(post.CanDeleteBy(selfUserId: 111L));
        }
Пример #27
0
        public void CanDeleteBy_RetweetedByOthersTest()
        {
            var post = new TestPostClass
            {
                RetweetedByUserId = 333L, // 他人がリツイートした
                UserId = 222L, // 他人のツイート
            };

            Assert.False(post.CanDeleteBy(selfUserId: 111L));
        }
Пример #28
0
        public void CanDeleteBy_MyTweetHaveBeenRetweetedByOthersTest()
        {
            var post = new TestPostClass
            {
                RetweetedByUserId = 222L, // 他人がリツイートした
                UserId = 111L, // 自分のツイート
            };

            Assert.True(post.CanDeleteBy(selfUserId: 111L));
        }
Пример #29
0
        public void StateIndexTest(
            [Values(true, false)] bool protect,
            [Values(true, false)] bool mark,
            [Values(true, false)] bool reply,
            [Values(true, false)] bool geo)
        {
            var post = new TestPostClass();
            var except = 0x00;

            post.IsProtect = protect;
            if (protect) except |= 0x01;

            post.IsMark = mark;
            if (mark) except |= 0x02;

            post.InReplyToStatusId = reply ? (long?)100L : null;
            if (reply) except |= 0x04;

            post.PostGeo = geo ? new PostClass.StatusGeo { Lat = -47.15, Lng = -126.716667 } : new PostClass.StatusGeo();
            if (geo) except |= 0x08;

            except -= 1;

            Assert.That(post.StateIndex, Is.EqualTo(except));
        }
Пример #30
0
        public string TextSingleLineTest(string text)
        {
            var post = new TestPostClass(textFromApi: text);

            return post.TextSingleLine;
        }
Пример #31
0
        public void TextSingleLineTest(string text, string expected)
        {
            var post = new TestPostClass(textFromApi: text);

            Assert.Equal(expected, post.TextSingleLine);
        }
Пример #32
0
        public void CanRetweetBy_ProtectedMyTweetTest()
        {
            var post = new TestPostClass
            {
                UserId = 111L, // 自分のツイート
                IsProtect = true,
            };

            Assert.True(post.CanRetweetBy(selfUserId: 111L));
        }
Пример #33
0
        public void SourceHtml_PlainTextTest()
        {
            var post = new TestPostClass
            {
                Source = "web",
                SourceUri = null,
            };

            Assert.Equal("web", post.SourceHtml);
        }
Пример #34
0
        public void SourceHtml_Test()
        {
            var post = new TestPostClass
            {
                Source = "Twitter Web Client",
                SourceUri = new Uri("http://twitter.com/"),
            };

            Assert.Equal("<a href=\"http://twitter.com/\" rel=\"nofollow\">Twitter Web Client</a>", post.SourceHtml);
        }
Пример #35
0
        public void CanDeleteBy_OthersTweetTest()
        {
            var post = new TestPostClass
            {
                UserId = 222L, // 他人のツイート
            };

            Assert.False(post.CanDeleteBy(selfUserId: 111L));
        }
Пример #36
0
        public void TextSingleLineTest(string text, string expected)
        {
            var post = new TestPostClass(textFromApi: text);

            Assert.Equal(expected, post.TextSingleLine);
        }
Пример #37
0
        public string TextSingleLineTest(string text)
        {
            var post = new TestPostClass(textFromApi: text);

            return(post.TextSingleLine);
        }
Пример #38
0
        public void DeleteTest()
        {
            var post = new TestPostClass
            {
                InReplyToStatusId = 10L,
                InReplyToUser = "******",
                InReplyToUserId = 100L,
                IsReply = true,
                ReplyToList = new List<string> {"hogehoge"},
            };

            post.IsDeleted = true;

            Assert.Null(post.InReplyToStatusId);
            Assert.Equal("", post.InReplyToUser);
            Assert.Null(post.InReplyToUserId);
            Assert.False(post.IsReply);
            Assert.Empty(post.ReplyToList);
            Assert.Equal(-1, post.StateIndex);
        }
Пример #39
0
        public void CanRetweetBy_DMTest()
        {
            var post = new TestPostClass
            {
                IsDm = true,
                IsMe = false, // 自分が受け取った DM
                UserId = 222L, // 送信元ユーザーID
            };

            Assert.False(post.CanRetweetBy(selfUserId: 111L));
        }