summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorBrion Vibber <brion@pobox.com>2010-04-29 15:12:02 -0700
committerBrion Vibber <brion@pobox.com>2010-04-29 15:12:02 -0700
commit50d5f5e04c9c37eb5ba20e1dbcd8ceb832d8be81 (patch)
treedc7235fe2ec25e65f160950b86c0572ad0584bac /tests
parentdd7b95c2cffe7e33f32d841ed8950e09b44b853d (diff)
parentcb5d6d5c30ab6235283005530fadd0d185b38499 (diff)
Merge branch 'master' into testing
Diffstat (limited to 'tests')
-rw-r--r--tests/ActivityParseTests.php77
1 files changed, 77 insertions, 0 deletions
diff --git a/tests/ActivityParseTests.php b/tests/ActivityParseTests.php
index 4563da914..378478d74 100644
--- a/tests/ActivityParseTests.php
+++ b/tests/ActivityParseTests.php
@@ -32,6 +32,18 @@ class ActivityParseTests extends PHPUnit_Framework_TestCase
$this->assertEquals('tag:versioncentral.example.org,2009:/change/1643245', $act->objects[0]->id);
}
+ public function testExample2()
+ {
+ global $_example2;
+ $dom = DOMDocument::loadXML($_example2);
+ $act = new Activity($dom->documentElement);
+
+ $this->assertFalse(empty($act));
+ // Did we handle <content type="html"> correctly with a typical payload?
+ $this->assertEquals("<p>Geraldine posted a Photo on PhotoPanic</p>\n " .
+ "<img src=\"/geraldine/photo1.jpg\">", trim($act->content));
+ }
+
public function testExample3()
{
global $_example3;
@@ -305,6 +317,71 @@ class ActivityParseTests extends PHPUnit_Framework_TestCase
}
+ public function testAtomContent()
+ {
+ $tests = array(array("<content>Some regular plain text.</content>",
+ "Some regular plain text."),
+ array("<content>&lt;b&gt;this is not HTML&lt;/b&gt;</content>",
+ "&lt;b&gt;this is not HTML&lt;/b&gt;"),
+ array("<content type='html'>Some regular plain HTML.</content>",
+ "Some regular plain HTML."),
+ array("<content type='html'>&lt;b&gt;this is too HTML&lt;/b&gt;</content>",
+ "<b>this is too HTML</b>"),
+ array("<content type='html'>&amp;lt;b&amp;gt;but this is not HTML!&amp;lt;/b&amp;gt;</content>",
+ "&lt;b&gt;but this is not HTML!&lt;/b&gt;"),
+ array("<content type='xhtml'><div xmlns='http://www.w3.org/1999/xhtml'>Some regular plain XHTML.</div></content>",
+ "Some regular plain XHTML."),
+ array("<content type='xhtml'><div xmlns='http://www.w3.org/1999/xhtml'><b>This is some XHTML!</b></div></content>",
+ "<b>This is some XHTML!</b>"),
+ array("<content type='xhtml'><div xmlns='http://www.w3.org/1999/xhtml'>&lt;b&gt;This is not some XHTML!&lt;/b&gt;</div></content>",
+ "&lt;b&gt;This is not some XHTML!&lt;/b&gt;"),
+ array("<content type='xhtml'><div xmlns='http://www.w3.org/1999/xhtml'>&amp;lt;b&amp;gt;This is not some XHTML either!&amp;lt;/b&amp;gt;</div></content>",
+ "&amp;lt;b&amp;gt;This is not some XHTML either!&amp;lt;/b&amp;gt;"));
+ foreach ($tests as $data) {
+ list($source, $output) = $data;
+ $xml = "<entry xmlns='http://www.w3.org/2005/Atom'>" .
+ "<id>http://example.com/fakeid</id>" .
+ "<author><name>Test</name></author>" .
+ "<title>Atom content tests</title>" .
+ $source .
+ "</entry>";
+ $dom = DOMDocument::loadXML($xml);
+ $act = new Activity($dom->documentElement);
+
+ $this->assertFalse(empty($act));
+ $this->assertEquals($output, trim($act->content));
+ }
+ }
+
+ public function testRssContent()
+ {
+ $tests = array(array("<content:encoded>Some regular plain HTML.</content:encoded>",
+ "Some regular plain HTML."),
+ array("<content:encoded>Some &lt;b&gt;exciting bold HTML&lt;/b&gt;</content:encoded>",
+ "Some <b>exciting bold HTML</b>"),
+ array("<content:encoded>Some &amp;lt;b&amp;gt;escaped non-HTML.&amp;lt;/b&amp;gt;</content:encoded>",
+ "Some &lt;b&gt;escaped non-HTML.&lt;/b&gt;"),
+ array("<description>Some plain text.</description>",
+ "Some plain text."),
+ array("<description>Some &lt;b&gt;non-HTML text&lt;/b&gt;</description>",
+ "Some &lt;b&gt;non-HTML text&lt;/b&gt;"),
+ array("<description>Some &amp;lt;b&amp;gt;double-escaped text&amp;lt;/b&amp;gt;</description>",
+ "Some &amp;lt;b&amp;gt;double-escaped text&amp;lt;/b&amp;gt;"));
+ foreach ($tests as $data) {
+ list($source, $output) = $data;
+ $xml = "<item xmlns:content='http://purl.org/rss/1.0/modules/content/'>" .
+ "<guid>http://example.com/fakeid</guid>" .
+ "<title>RSS content tests</title>" .
+ $source .
+ "</item>";
+ $dom = DOMDocument::loadXML($xml);
+ $act = new Activity($dom->documentElement);
+
+ $this->assertFalse(empty($act));
+ $this->assertEquals($output, trim($act->content));
+ }
+ }
+
}
$_example1 = <<<EXAMPLE1