$message = "invalid author";
}
$params->{uid} = $user->{uid};
- $params->{article} = $data->{journal};
- $params->{commentstatus} = $data->{comment_status};
+ $params->{article} = $data->{introtext};
+ $params->{commentstatus} = $data->{commentstatus};
$params->{action} = $data->{action} || 'preview';
- $params->{posttype} = $data->{post_type};
+ $params->{posttype} = $data->{posttype};
$params->{tid} = $data->{tid};
- $params->{promotype} = $data->{promotype};
+
+ if ($data->{submissioncopy}) {
+ $params->{promotetype} = "publicize";
+ }
+ else {
+ $params->{promotetype} = "public";
+ }
# TODO: can select topics
#$params->{topics_chosen} = { 49 => 10, }; # tid => weight
};
subtest 'journal post' => sub {
+ my $text = <<"EOT";
+東芝が2013年7月から2015年8月までに発売されたノートPC45機種で使われているバッテリーの一部について、使い方によっては過熱してショートし発火する恐れがあるとし、新品への無償交換を行うことを発表した(<a href="http://www3.nhk.or.jp/news/html/20161110/k10010763661000.html">NHK</a>、<a href="http://pc.watch.impress.co.jp/docs/news/1029272.html">PC Watch</a>)。
+
+東芝のノートPCについては、<a href="http://hardware.srad.jp/story/14/11/14/2013216/">2014年</a>および<a href="https://mobile.srad.jp/story/16/01/29/2321242/">今年1月</a>にバッテリーの過熱・発煙・発火の恐れがあるとしてバッテリーのリコールが行われているが、発見されたのはこれとは別の不具合とのこと(<a href="https://batterycheck.toshiba.com/BatteryUpdate/InformationJapan?region=TJPN&country=JP&lang=ja">東芝の発表</a>)。そのため、以前問題ないとされたPCについても、再度確認が必要とのこと。
+
+EOT
+
my $test_data = {
title => "テスト日記",
- journal => "日記テスト本文\nてすとてすと" . localtime,
- comment_status => 'enabled',
+ introtext => $text,
+ commentstatus => 'enabled',
action => 'post',
-# posttype => '',
-# tid => '',
-# promotype => '',
+ # posttype => '',
+ # tid => '',
+ # submissioncopy = 0,
};
# anonymous user cannot create journals
$t->post_ok('/api/v1/journal' => {Accept => '*/*'} => json => $test_data)
my $test_data = {
title => "テスト日記",
journal => "日記テスト本文\nてすとてすと" . localtime,
- comment_status => 'enabled',
+ commentstatus => 'enabled',
action => 'preview',
};
my $t = Test::Mojo->new('Newslash::Web');
my $journals = $t->app->model('journals');
-my $text1 = "日記テスト本文\nてすとてすと";
-my $text2 = <<"EOT";
+# posttype: 1: PLAINTEXT, 2: HTML, 3: EXTRANS, 4: CODE, 77: FULLHTML
+my $posttype = 2;
+
+my $article = "日記テスト本文\nてすとてすと";
+
+my $introtext = $journals->article_to_introtext($article, $posttype);
+unlike($introtext, qr/\A\s*\z/, "article_to_introtext returns valid");
+diag("introtext is $introtext");
+
+my $bodytext = $journals->article_to_bodytext($article, $posttype);
+is(length $bodytext, 0, "article_to_bodytext returns valid");
+diag("bodytext is $bodytext");
+
+my $fulltext = $journals->article_to_fulltext($article, $posttype);
+unlike($fulltext, qr/\A\s*\z/, "article_to_fulltext returns valid");
+diag("fulltext is $fulltext");
+
+
+$article = <<"EOT";
東芝が2013年7月から2015年8月までに発売されたノートPC45機種で使われているバッテリーの一部について、使い方によっては過熱してショートし発火する恐れがあるとし、新品への無償交換を行うことを発表した(<a href="http://www3.nhk.or.jp/news/html/20161110/k10010763661000.html">NHK</a>、<a href="http://pc.watch.impress.co.jp/docs/news/1029272.html">PC Watch</a>)。
東芝のノートPCについては、<a href="http://hardware.srad.jp/story/14/11/14/2013216/">2014年</a>および<a href="https://mobile.srad.jp/story/16/01/29/2321242/">今年1月</a>にバッテリーの過熱・発煙・発火の恐れがあるとしてバッテリーのリコールが行われているが、発見されたのはこれとは別の不具合とのこと(<a href="https://batterycheck.toshiba.com/BatteryUpdate/InformationJapan?region=TJPN&country=JP&lang=ja">東芝の発表</a>)。そのため、以前問題ないとされたPCについても、再度確認が必要とのこと。
EOT
-my @articles = ($text1, $text2);
+$introtext = $journals->article_to_introtext($article, $posttype);
+unlike($introtext, qr/\A\s*\z/, "article_to_introtext returns valid");
+diag("introtext is $introtext");
+
+$bodytext = $journals->article_to_bodytext($article, $posttype);
+unlike($bodytext, qr/\A\s*\z/, "article_to_bodytext returns valid");
+diag("bodytext is $bodytext");
+
+my $fulltext = $journals->article_to_fulltext($article, $posttype);
+unlike($fulltext, qr/\A\s*\z/, "article_to_fulltext returns valid");
+diag("fulltext is $fulltext");
-# posttype: 1: PLAINTEXT, 2: HTML, 3: EXTRANS, 4: CODE, 77: FULLHTML
-my $posttype = 2;
-for my $article (@articles) {
- my $introtext = $journals->article_to_introtext($article, $posttype);
- unlike($introtext, qr/\A\s*\z/, "article_to_introtext returns valid");
- diag("introtext is $introtext");
- my $bodytext = $journals->article_to_bodytext($article, $posttype);
- unlike($bodytext, qr/\A\s*\z/, "article_to_bodytext returns valid");
- diag("bodytext is $bodytext");
-}
done_testing();