Browse Source

Re-arrange third-party tests

master
J. King 11 months ago
parent
commit
f315d1652a
  1. 29
      tests/cases/StandardTest.php
  2. 257
      tests/cases/json/phpmf2/hentry/mixedroots.html
  3. 550
      tests/cases/json/phpmf2/hentry/mixedroots.json
  4. 0
      tests/cases/third-party/phpmf2/classic/fberriman.html
  5. 0
      tests/cases/third-party/phpmf2/classic/fberriman.json
  6. 0
      tests/cases/third-party/phpmf2/classic/hentry-bookmark.html
  7. 0
      tests/cases/third-party/phpmf2/classic/hentry-bookmark.json
  8. 74
      tests/cases/third-party/phpmf2/classic/mixedroots2.html
  9. 85
      tests/cases/third-party/phpmf2/classic/mixedroots2.json
  10. 9
      tests/cases/third-party/phpmf2/classic/mixedroots3.html
  11. 37
      tests/cases/third-party/phpmf2/classic/mixedroots3.json
  12. 10
      tests/cases/third-party/phpmf2/classic/mixedroots4.html
  13. 21
      tests/cases/third-party/phpmf2/classic/mixedroots4.json
  14. 0
      tests/cases/third-party/phpmf2/classic/vevent-summary.html
  15. 0
      tests/cases/third-party/phpmf2/classic/vevent-summary.json

29
tests/cases/StandardTest.php

@ -65,7 +65,7 @@ class StandardTest extends \PHPUnit\Framework\TestCase {
// the standard tests
yield from $this->provideTestList([\MensBeam\Microformats\BASE."vendor-bin/phpunit/vendor/mf2/tests/tests/"], ['basicTrim' => true]);
// tests from php-mf2
yield from $this->provideTestList([\MensBeam\Microformats\BASE."tests/cases/json/"], null);
yield from $this->provideTestList([\MensBeam\Microformats\BASE."tests/cases/third-party/"], null);
}
protected function provideTestList(array $tests, ?array $options = null): \Generator {
@ -113,26 +113,11 @@ class StandardTest extends \PHPUnit\Framework\TestCase {
$this->fixDates($exp['items'][0]['properties']['bday']);
$this->fixDates($exp['items'][0]['properties']['rev']);
break;
case "phpmf2/hentry/fberriman":
case "phpmf2/classic/fberriman":
case "phpmf2/classic/mixedroots2":
$this->fixDates($exp['items'][0]['properties']['published']);
break;
case "phpmf2/hentry/mixedroots":
$this->fixUrls($exp['items'][0]['properties']['comment'][0]['properties']['published']);
$this->fixUrls($exp['items'][0]['properties']['comment'][0]['properties']['updated']);
$this->fixUrls($exp['items'][0]['properties']['comment'][0]['properties']['comment'][0]['properties']['published']);
$this->fixUrls($exp['items'][0]['properties']['comment'][0]['properties']['comment'][0]['properties']['updated']);
$this->fixUrls($exp['items'][0]['properties']['comment'][1]['properties']['published']);
$this->fixUrls($exp['items'][0]['properties']['comment'][1]['properties']['updated']);
$this->fixUrls($exp['items'][0]['properties']['comment'][1]['properties']['comment'][0]['properties']['published']);
$this->fixUrls($exp['items'][0]['properties']['comment'][1]['properties']['comment'][0]['properties']['updated']);
$this->fixUrls($exp['items'][0]['properties']['comment'][1]['properties']['comment'][0]['properties']['published']);
$this->fixUrls($exp['items'][0]['properties']['comment'][1]['properties']['comment'][0]['properties']['updated']);
$this->fixUrls($exp['items'][0]['properties']['comment'][1]['properties']['comment'][0]['properties']['comment'][0]['properties']['published']);
$this->fixUrls($exp['items'][0]['properties']['comment'][1]['properties']['comment'][0]['properties']['comment'][0]['properties']['updated']);
$this->fixUrls($exp['items'][0]['properties']['comment'][1]['properties']['comment'][0]['properties']['comment'][0]['properties']['comment'][0]['properties']['published']);
$this->fixUrls($exp['items'][0]['properties']['comment'][1]['properties']['comment'][0]['properties']['comment'][0]['properties']['comment'][0]['properties']['updated']);
$this->fixUrls($exp['items'][0]['properties']['comment'][2]['properties']['published']);
$this->fixUrls($exp['items'][0]['properties']['comment'][2]['properties']['updated']);
}
return $exp;
}
@ -144,10 +129,4 @@ class StandardTest extends \PHPUnit\Framework\TestCase {
$d = preg_replace('/:\d\d[+-]\d\d$/', "$0000", $d);
}
}
protected function fixUrls(&$urlArray): void {
foreach ($urlArray as &$u) {
$u = (string) Url::fromString(preg_replace('#/$#', "", substr($u, 7)), "http://example.com/");
}
}
}

257
tests/cases/json/phpmf2/hentry/mixedroots.html

@ -1,257 +0,0 @@
<body class="h-entry hentry h-as-article" itemscope="" itemtype="http://schema.org/BlogPosting">
<div id="page">
<article id="post-7546" class="post-7546 post type-post status-publish format-standard category-web tag-dezentral tag-email-to-id tag-facebook tag-whatsapp tag-xmpp">
<header class="entry-header">
<h1 class="entry-title p-name" itemprop="name headline"><a href="http://notizblog.org/2014/02/20/wir-brauchen-metadaten-fuer-telefonnummern/" class="u-url url" title="Permalink to Wir brauchen Metadaten für Telefonnummern" rel="bookmark" itemprop="url">Wir brauchen Metadaten für Telefonnummern</a></h1>
<div class="entry-meta">
<span class="sep">Ver&ouml;ffentlicht am </span><a href="http://notizblog.org/2014/02/20/wir-brauchen-metadaten-fuer-telefonnummern/" title="10:30" rel="bookmark" class="url u-url"><time class="entry-date updated published dt-updated dt-published" datetime="2014-02-20T10:30:40+00:00" itemprop="dateModified">20. Februar 2014</time></a><address class="byline"> <span class="sep"> von </span> <span class="author p-author vcard hcard h-card" itemprop="author" itemscope itemtype="http://schema.org/Person"><img alt='' src='http://1.gravatar.com/avatar/b36983a5651df2c413e264ad4d5cc1a1?s=40&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G' class='u-photo avatar avatar-40 photo' height='40' width='40' /> <a class="url uid u-url u-uid fn p-name" href="http://notizblog.org/author/matthias-pfefferle/" title="Alle Beitr&auml;ge von Matthias Pfefferle ansehen" rel="author" itemprop="url"><span itemprop="name">Matthias Pfefferle</span></a></span></address> </div><!-- .entry-meta -->
</header><!-- .entry-header -->
<div class="entry-content e-content" itemprop="description articleBody">
<p><a href="http://netzwertig.com/2014/02/19/zuckerberg-bekommt-wieder-was-er-will-facebook-uebernimmt-whatsapp-fuer-bis-zu-19-milliarden-dollar/">Facebook kauft WhatsApp</a> und ich hab nur wenig Möglichkeiten meine Konsequenzen daraus zu ziehen. Leider sind alle aktuell populären &#8220;Chat&#8221; Systeme direkt an die App gekoppelt und ich &#8220;muss&#8221; zwangsläufig die App benutzen die mein Freundeskreis bevorzugt.</p>
<p><a href="http://www.whatsapp.com/">WhatsApp</a> benutzt intern das <a href="http://de.wikipedia.org/wiki/WhatsApp#cite_note-10">XMPP-Protokoll</a> und arbeitet dadurch ja theoretisch dezentral und auch <a href="https://telegram.org">Telegram</a> hat beispielsweise <a href="https://core.telegram.org/mtproto">eine Art offenes Protokoll</a> gebaut&#8230; Das Problem: Woher wissen auf welchem Server der Andere angemeldet ist.</p>
<p>Seit WhatsApp die Identifizierung über die Telefonnummer (statt einer z.B. E-Mail Adresse) eingeführt hat, sind viele anderen diesem Beispiel gefolgt und es gibt nichts Verwerfliches daran. Jeder der eine solche App nutzt hat zwangsläufig ein Telefon, was bedeutet dass er auch eine Telefonnummer hat und die Wahrscheinlichkeit dass in seinem (Telefon-)Adressbuch mehr Telefonnummern als E-Mail Adressen stehen ist auch sehr hoch. Prinzipiell also eine gute Idee! Leider kann man aber anhand einer Telefonnummer nicht auf einen Server (mal abgesehen vom Telekommunikations-unternehmen) schließen und das bedeutet, dass das Verfahren leider auch nur zentral funktionieren kann. Nutze ich WhatsApp, kann man mich nur über die WhatsApp-Server erreichen, für Telegram läuft die Kommunikation nur über die Telegram-Server usw.</p>
<p>Um mit XMPP oder anderen Protokollen wirklich dezentral arbeiten zu können, müsste man über die Telefonnummer erfahren können welchen Chat-Server der Andere benutzt. Vielleicht über so eine Art <a href="http://notizblog.org/2008/07/27/email-address-to-url-transformation/"><em>Tel to Id</em></a> &#8211; Service oder über andere Protokolle wie z.B. SMS. Damit könnte sich jeder selbst den Client seines Vertrauens aussuchen und alles wäre <del datetime="2014-02-20T08:59:56+00:00">gut</del> <ins datetime="2014-02-20T08:59:56+00:00">besser</ins> <img src="http://notizblog.org/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /> </p>
<div class="social-buttons">
<a class="FlattrButton" style="display:none;"
data-flattr-button="compact"
data-flattr-uid="pfefferle"
data-flattr-category="text"
data-flattr-language="de_DE"
href="http://notizblog.org/2014/02/20/wir-brauchen-metadaten-fuer-telefonnummern/"
rel="donation payment"></a>
<div class="g-plusone" data-size="medium" data-lang="de-DE" data-href="http://notizblog.org/2014/02/20/wir-brauchen-metadaten-fuer-telefonnummern/"></div>
</div> </div><!-- .entry-content -->
<footer class="entry-meta">
Ver&ouml;ffentlicht <span class="cat-links">
in <a href="http://notizblog.org/category/web/" title="Alle Beiträge in Open Web ansehen" rel="category tag">Open Web</a> </span>
<span class="sep"> | </span>
<span class="tag-links" itemprop="keywords">
Tags: <a href="http://notizblog.org/tag/dezentral/" rel="tag">dezentral</a>, <a href="http://notizblog.org/tag/email-to-id/" rel="tag">Email to ID</a>, <a href="http://notizblog.org/tag/facebook/" rel="tag">Facebook</a>, <a href="http://notizblog.org/tag/whatsapp/" rel="tag">WhatsApp</a>, <a href="http://notizblog.org/tag/xmpp/" rel="tag">XMPP</a> </span>
<span class="sep"> | </span>
<span class="comments-link"><a href="http://notizblog.org/2014/02/20/wir-brauchen-metadaten-fuer-telefonnummern/#comments" title="Kommentiere Wir brauchen Metadaten für Telefonnummern">7 Meinungen</a></span>
</footer><!-- #entry-meta --></article><!-- #post-7546 -->
<nav id="nav-below">
<h1 class="assistive-text section-heading">Beitragsnavigation</h1>
<div class="nav-previous"><a href="http://notizblog.org/2014/02/13/amber-case-ueber-privacy-und-das-indieweb/" rel="prev"><span class="meta-nav">&larr;</span> Amber Case über Privacy und das IndieWeb</a></div>
</nav><!-- #nav-below -->
<div id="comments">
<h2 id="comments-title">
7 Gedanken zu &ldquo;<span>Wir brauchen Metadaten für Telefonnummern</span>&rdquo; </h2>
<ol class="commentlist">
<li class="comment even thread-even depth-1 h-as-comment p-comment h-entry" id="li-comment-466758">
<article id="comment-466758" class="comment " itemprop="comment" itemscope itemtype="http://schema.org/UserComments">
<footer>
<address class="comment-author p-author author vcard hcard h-card" itemprop="creator" itemscope itemtype="http://schema.org/Person">
<img alt='' src='http://1.gravatar.com/avatar/1d6a0566df7760e7d1507810b71a363e?s=50&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D50&amp;r=G' class='u-photo avatar avatar-50 photo' height='50' width='50' /> <cite class="fn p-name" itemprop="name"><a href='http://dentaku.wazong.de' rel='external' class='u-url url'>Dentaku</a></cite> <span class="says">meant:</span> </address><!-- .comment-author .vcard -->
<div class="comment-meta commentmetadata">
<a href="http://notizblog.org/2014/02/20/wir-brauchen-metadaten-fuer-telefonnummern/#comment-466758"><time class="updated published u-updated u-published" datetime="2014-02-20T10:36:01+00:00" itemprop="commentTime">
20. Februar 2014 bei 10:36 </time></a>
</div><!-- .comment-meta .commentmetadata -->
</footer>
<div class="comment-content e-content p-summary p-name" itemprop="commentText name description"><p>ENUM (<a href="https://tools.ietf.org/html/rfc6116">RFC6116</a>) macht genau das. Ist zwar für SIP gedacht, passt aber auch auf diese Anforderung.</p>
</div>
<div class="reply">
<a class='comment-reply-link' href='/2014/02/20/wir-brauchen-metadaten-fuer-telefonnummern/?replytocom=466758#respond' onclick='return addComment.moveForm("comment-466758", "466758", "respond", "7546")'>Antworten</a> </div><!-- .reply -->
</article><!-- #comment-## -->
<ul class="children">
<li class="comment byuser comment-author-matthias-pfefferle bypostauthor odd alt depth-2 h-as-comment p-comment h-entry" id="li-comment-466780">
<article id="comment-466780" class="comment " itemprop="comment" itemscope itemtype="http://schema.org/UserComments">
<footer>
<address class="comment-author p-author author vcard hcard h-card" itemprop="creator" itemscope itemtype="http://schema.org/Person">
<img alt='' src='http://1.gravatar.com/avatar/b36983a5651df2c413e264ad4d5cc1a1?s=50&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D50&amp;r=G' class='u-photo avatar avatar-50 photo' height='50' width='50' /> <cite class="fn p-name" itemprop="name"><a href='http://notizblog.org' rel='external' class='u-url openid_link url'>Matthias Pfefferle</a></cite> <span class="says">meant:</span> </address><!-- .comment-author .vcard -->
<div class="comment-meta commentmetadata">
<a href="http://notizblog.org/2014/02/20/wir-brauchen-metadaten-fuer-telefonnummern/#comment-466780"><time class="updated published u-updated u-published" datetime="2014-02-20T10:41:31+00:00" itemprop="commentTime">
20. Februar 2014 bei 10:41 </time></a>
</div><!-- .comment-meta .commentmetadata -->
</footer>
<div class="comment-content e-content p-summary p-name" itemprop="commentText name description"><p>Das war ne schnelle Antwort <img src="http://notizblog.org/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /> </p>
<p>Vielen Dank für den Tipp mit ENUM (noch nie davon gehört) und den Link&#8230; werde mich später mal durch das RFC kämpfen&#8230;</p>
</div>
<div class="reply">
<a class='comment-reply-link' href='/2014/02/20/wir-brauchen-metadaten-fuer-telefonnummern/?replytocom=466780#respond' onclick='return addComment.moveForm("comment-466780", "466780", "respond", "7546")'>Antworten</a> </div><!-- .reply -->
</article><!-- #comment-## -->
</li><!-- #comment-## -->
</ul><!-- .children -->
</li><!-- #comment-## -->
<li class="comment even thread-odd thread-alt depth-1 h-as-comment p-comment h-entry" id="li-comment-466867">
<article id="comment-466867" class="comment " itemprop="comment" itemscope itemtype="http://schema.org/UserComments">
<footer>
<address class="comment-author p-author author vcard hcard h-card" itemprop="creator" itemscope itemtype="http://schema.org/Person">
<img alt='' src='http://0.gravatar.com/avatar/2d4d94afbc593569446625c02e7a2f73?s=50&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D50&amp;r=G' class='u-photo avatar avatar-50 photo' height='50' width='50' /> <cite class="fn p-name" itemprop="name"><a href='http://lukasrosenstock.net/' rel='external' class='u-url url'>Lukas Rosenstock</a></cite> <span class="says">meant:</span> </address><!-- .comment-author .vcard -->
<div class="comment-meta commentmetadata">
<a href="http://notizblog.org/2014/02/20/wir-brauchen-metadaten-fuer-telefonnummern/#comment-466867"><time class="updated published u-updated u-published" datetime="2014-02-20T11:04:26+00:00" itemprop="commentTime">
20. Februar 2014 bei 11:04 </time></a>
</div><!-- .comment-meta .commentmetadata -->
</footer>
<div class="comment-content e-content p-summary p-name" itemprop="commentText name description"><p>Wollte auch gerade ENUM sagen. Dabei wird die Telefonnummer in einen DNS-Namen konvertiert. Wenn du damit spielen willst, kannst du dir unter <a href="http://www.portunity.de/access/produkte/telefonie/enum-domains.html" >http://www.portunity.de/access/produkte/telefonie/enum-domains.html</a> kostenlos eine deutsche Nummer in ENUM eintragen lassen.</p>
</div>
<div class="reply">
<a class='comment-reply-link' href='/2014/02/20/wir-brauchen-metadaten-fuer-telefonnummern/?replytocom=466867#respond' onclick='return addComment.moveForm("comment-466867", "466867", "respond", "7546")'>Antworten</a> </div><!-- .reply -->
</article><!-- #comment-## -->
<ul class="children">
<li class="comment byuser comment-author-matthias-pfefferle bypostauthor odd alt depth-2 h-as-comment p-comment h-entry" id="li-comment-466932">
<article id="comment-466932" class="comment " itemprop="comment" itemscope itemtype="http://schema.org/UserComments">
<footer>
<address class="comment-author p-author author vcard hcard h-card" itemprop="creator" itemscope itemtype="http://schema.org/Person">
<img alt='' src='http://1.gravatar.com/avatar/b36983a5651df2c413e264ad4d5cc1a1?s=50&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D50&amp;r=G' class='u-photo avatar avatar-50 photo' height='50' width='50' /> <cite class="fn p-name" itemprop="name"><a href='http://notizblog.org' rel='external' class='u-url openid_link url'>Matthias Pfefferle</a></cite> <span class="says">meant:</span> </address><!-- .comment-author .vcard -->
<div class="comment-meta commentmetadata">
<a href="http://notizblog.org/2014/02/20/wir-brauchen-metadaten-fuer-telefonnummern/#comment-466932"><time class="updated published u-updated u-published" datetime="2014-02-20T11:18:25+00:00" itemprop="commentTime">
20. Februar 2014 bei 11:18 </time></a>
</div><!-- .comment-meta .commentmetadata -->
</footer>
<div class="comment-content e-content p-summary p-name" itemprop="commentText name description"><p>Krass dass das so vollkommen an mit vorbei gegangen ist&#8230; Gibt es da produktive Anwendungen die ENUM zum Beispiel für Chats o.Ä. verwenden?</p>
<p>&#8230;ich sollte echt mehr bloggen!</p>
</div>
<div class="reply">
<a class='comment-reply-link' href='/2014/02/20/wir-brauchen-metadaten-fuer-telefonnummern/?replytocom=466932#respond' onclick='return addComment.moveForm("comment-466932", "466932", "respond", "7546")'>Antworten</a> </div><!-- .reply -->
</article><!-- #comment-## -->
<ul class="children">
<li class="comment even depth-3 h-as-comment p-comment h-entry" id="li-comment-467106">
<article id="comment-467106" class="comment " itemprop="comment" itemscope itemtype="http://schema.org/UserComments">
<footer>
<address class="comment-author p-author author vcard hcard h-card" itemprop="creator" itemscope itemtype="http://schema.org/Person">
<img alt='' src='http://0.gravatar.com/avatar/2d4d94afbc593569446625c02e7a2f73?s=50&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D50&amp;r=G' class='u-photo avatar avatar-50 photo' height='50' width='50' /> <cite class="fn p-name" itemprop="name"><a href='http://lukasrosenstock.net/' rel='external' class='u-url url'>Lukas Rosenstock</a></cite> <span class="says">meant:</span> </address><!-- .comment-author .vcard -->
<div class="comment-meta commentmetadata">
<a href="http://notizblog.org/2014/02/20/wir-brauchen-metadaten-fuer-telefonnummern/#comment-467106"><time class="updated published u-updated u-published" datetime="2014-02-20T12:01:54+00:00" itemprop="commentTime">
20. Februar 2014 bei 12:01 </time></a>
</div><!-- .comment-meta .commentmetadata -->
</footer>
<div class="comment-content e-content p-summary p-name" itemprop="commentText name description"><p>ENUM wurde bisher nur als Möglichkeit zur Umgehung der Carrier/Kostenersparnis gesehen, dementsprechend natürlich von Carriern und nahestehenden Hard-/Softwareherstellern nicht unterstützt. Somit kommt es nicht in den Mainstream. Ich sehe es zur Zeit (leider) als reines &#8220;Nerd-Tool&#8221;, genau wie Diaspora, OpenID, IndieWeb &#8230;<br />
Aber der Gedanke eines &#8220;dezentralen WhatsApp&#8221; auf ENUM-Basis kam mir auch schon. Interessantes Projekt, aber auch nicht massentauglich wegen Huhn&amp;Ei-Problemen.</p>
</div>
<div class="reply">
<a class='comment-reply-link' href='/2014/02/20/wir-brauchen-metadaten-fuer-telefonnummern/?replytocom=467106#respond' onclick='return addComment.moveForm("comment-467106", "467106", "respond", "7546")'>Antworten</a> </div><!-- .reply -->
</article><!-- #comment-## -->
<ul class="children">
<li class="comment byuser comment-author-matthias-pfefferle bypostauthor odd alt depth-4 h-as-comment p-comment h-entry" id="li-comment-467346">
<article id="comment-467346" class="comment " itemprop="comment" itemscope itemtype="http://schema.org/UserComments">
<footer>
<address class="comment-author p-author author vcard hcard h-card" itemprop="creator" itemscope itemtype="http://schema.org/Person">
<img alt='' src='http://1.gravatar.com/avatar/b36983a5651df2c413e264ad4d5cc1a1?s=50&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D50&amp;r=G' class='u-photo avatar avatar-50 photo' height='50' width='50' /> <cite class="fn p-name" itemprop="name"><a href='http://notizblog.org' rel='external' class='u-url openid_link url'>Matthias Pfefferle</a></cite> <span class="says">meant:</span> </address><!-- .comment-author .vcard -->
<div class="comment-meta commentmetadata">
<a href="http://notizblog.org/2014/02/20/wir-brauchen-metadaten-fuer-telefonnummern/#comment-467346"><time class="updated published u-updated u-published" datetime="2014-02-20T13:22:57+00:00" itemprop="commentTime">
20. Februar 2014 bei 13:22 </time></a>
</div><!-- .comment-meta .commentmetadata -->
</footer>
<div class="comment-content e-content p-summary p-name" itemprop="commentText name description"><p>Hmmm&#8230; Eine Unterstützung von Seiten aller Carrier wäre natürlich wirklich notwendig um massentaugliche Produkte zu bauen&#8230;</p>
<p>Wäre großartig wenn jede Nummer automatisch ne URI bekäme und unter dieser URI ne Art &#8220;Registry&#8221; zu finden wäre, die auch von Apps erweitert werden kann. So ne Art WebFinger für Telefonnummern quasi&#8230;</p>
</div>
<div class="reply">
<a class='comment-reply-link' href='/2014/02/20/wir-brauchen-metadaten-fuer-telefonnummern/?replytocom=467346#respond' onclick='return addComment.moveForm("comment-467346", "467346", "respond", "7546")'>Antworten</a> </div><!-- .reply -->
</article><!-- #comment-## -->
</li><!-- #comment-## -->
</ul><!-- .children -->
</li><!-- #comment-## -->
</ul><!-- .children -->
</li><!-- #comment-## -->
</ul><!-- .children -->
</li><!-- #comment-## -->
<li class="comment even thread-even depth-1 h-as-comment p-comment h-entry" id="li-comment-505365">
<article id="comment-505365" class="comment " itemprop="comment" itemscope itemtype="http://schema.org/UserComments">
<footer>
<address class="comment-author p-author author vcard hcard h-card" itemprop="creator" itemscope itemtype="http://schema.org/Person">
<img alt='' src='http://1.gravatar.com/avatar/f7a7b6a59e64d4b8c4a3ded1f85a9879?s=50&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D50&amp;r=G' class='u-photo avatar avatar-50 photo' height='50' width='50' /> <cite class="fn p-name" itemprop="name"><a href='http://www.maexoticde/' rel='external' class='u-url url'>Markus Stumpf</a></cite> <span class="says">meant:</span> </address><!-- .comment-author .vcard -->
<div class="comment-meta commentmetadata">
<a href="http://notizblog.org/2014/02/20/wir-brauchen-metadaten-fuer-telefonnummern/#comment-505365"><time class="updated published u-updated u-published" datetime="2014-03-08T21:45:26+00:00" itemprop="commentTime">
8. März 2014 bei 21:45 </time></a>
</div><!-- .comment-meta .commentmetadata -->
</footer>
<div class="comment-content e-content p-summary p-name" itemprop="commentText name description"><p>Diese Interoperabilität nennt sich gemeinhin &#8220;Federation&#8221;: <a href="http://en.wikipedia.org/wiki/Federation_(information_technology)" >http://en.wikipedia.org/wiki/Federation_(information_technology)</a></p>
<p>WhatsApp verwendet kein XMPP. XMPP ist für Mobiles der absolute Horror, denn es basiert auf TCP und damit braucht der Client eine stehende TCP-Verbindung, was massiv auf den Akku geht. Außerdem kommt es permanent zu reconnects, wenn sich laufend die IP-Adresse des Clients ändert.<br />
Aus diesem Grund will man ein verbindungsloses Push-System dahinter haben.</p>
<p>Google und Facebook verwenden XMPP, Facebook hat sich aber noch nie an s2s (Server to Server) Verbindungen beteiligt, Google hat es vor ca 1 Jahr abgeschaltet, damit kann man sich zB. von eigenen XMPP-Servern und damit eigenen XMPP-Accounts nicht mehr mit Google-Usern unterhalten, sonern muss den Google Account verwenden.<br />
Ich habe zB. sowohl meine Facebook als auch Google-Account in meinem pidgin konfiguriert.</p>
<p>TextSecure (clients momentan nur für Android) ist momentan das IMHO beste System in diesem Bereich:<br />
- open source<br />
- harte crypto<br />
- multi device (man kann einen Account auf meheren Devices nutzen)<br />
- bald für iOS und Desktop<br />
und: es unterstützt Federation, man kann sich also seinen eigenen Server hinstellen und es darüber machen.<br />
Siehe: <a href="https://whispersystems.org/blog/the-new-textsecure/" >https://whispersystems.org/blog/the-new-textsecure/</a></p>
<p>Ich muss natürlich immer noch den Account des anderen Teilnehmers kennen &#8230;</p>
</div>
<div class="reply">
<a class='comment-reply-link' href='/2014/02/20/wir-brauchen-metadaten-fuer-telefonnummern/?replytocom=505365#respond' onclick='return addComment.moveForm("comment-505365", "505365", "respond", "7546")'>Antworten</a> </div><!-- .reply -->
</article><!-- #comment-## -->
</li><!-- #comment-## -->
</ol>
<div id="respond" class="comment-respond">
<h3 id="reply-title" class="comment-reply-title">Hinterlasse eine Antwort <small><a rel="nofollow" id="cancel-comment-reply-link" href="/2014/02/20/wir-brauchen-metadaten-fuer-telefonnummern/#respond" style="display:none;">Antworten abbrechen</a></small></h3>
<form action="http://notizblog.org/wp-comments-post.php" method="post" id="commentform" class="comment-form" novalidate>
<p class="comment-notes">Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert <span class="required">*</span></p> <p class="comment-form-author"><label for="author">Name <span class="required">*</span></label> <input autocomplete="nickname name" id="author" name="author" type="text" value="" size="30" aria-required='true' /></p>
<p class="comment-form-email"><label for="email">E-Mail <span class="required">*</span></label> <input autocomplete="email" id="email" name="email" type="email" value="" size="30" aria-required='true' /></p>
<p class="comment-form-url"><label for="url">Website</label> <input autocomplete="url" id="url" name="url" type="url" value="" size="30" /></p>
<p class="comment-form-comment"><label for="comment">Kommentar</label> <textarea id="comment" name="comment" cols="45" rows="8" aria-required="true"></textarea></p> <p class="form-allowed-tags">Du kannst folgende <abbr title="HyperText Markup Language">HTML</abbr>-Tags benutzen: <code>&lt;a href=&quot;&quot; title=&quot;&quot;&gt; &lt;abbr title=&quot;&quot;&gt; &lt;acronym title=&quot;&quot;&gt; &lt;b&gt; &lt;blockquote cite=&quot;&quot;&gt; &lt;cite&gt; &lt;code&gt; &lt;del datetime=&quot;&quot;&gt; &lt;em&gt; &lt;i&gt; &lt;q cite=&quot;&quot;&gt; &lt;strike&gt; &lt;strong&gt; </code></p> <p class="form-submit">
<input name="submit" type="submit" id="submit" value="Kommentar abschicken" />
<input type='hidden' name='comment_post_ID' value='7546' id='comment_post_ID' />
<input type='hidden' name='comment_parent' id='comment_parent' value='0' />
</p>
<p style="display: none;"><input type="hidden" id="akismet_comment_nonce" name="akismet_comment_nonce" value="9552e566de" /></p><p class="comment-subscription-form"><input type="checkbox" name="subscribe_comments" id="subscribe_comments" value="subscribe" style="width: auto; -moz-appearance: checkbox; -webkit-appearance: checkbox;" /> <label class="subscribe-label" id="subscribe-label" for="subscribe_comments">Benachrichtige mich über nachfolgende Kommentare via E-Mail.</label></p><p class="comment-subscription-form"><input type="checkbox" name="subscribe_blog" id="subscribe_blog" value="subscribe" style="width: auto; -moz-appearance: checkbox; -webkit-appearance: checkbox;" /> <label class="subscribe-label" id="subscribe-blog-label" for="subscribe_blog">Benachrichtige mich über neue Beiträge via E-Mail.</label></p><script type='text/javascript' src='http://notizblog.org/wp-content/plugins/akismet/_inc/form.js?ver=3.0.0'></script>
<p style="display: none;"><input type="hidden" id="ak_js" name="ak_js" value="76"/></p> </form>
</div><!-- #respond -->
<form id="webmention-form" action="http://notizblog.org/?webmention=endpoint" method="post">
<p>
<label for="webmention-source">Responding with a post on your own blog? Send me a <a href="http://indiewebcamp.com/webmention">WebMention</a> <sup>(<a href="http://adactio.com/journal/6469/">?</a>)</sup></label>
<input id="webmention-source" type="url" name="source" placeholder="URL/Permalink of your article" />
</p>
<p>
<input id="webmention-submit" type="submit" name="submit" value="Ping me!" />
</p>
<input id="webmention-target" type="hidden" name="target" value="http://notizblog.org/2014/02/20/wir-brauchen-metadaten-fuer-telefonnummern/" />
</form>
<p>
<label for="cite-shortlink">Shortlink</label>
<input id="cite-shortlink" class="u-url url shortlink" type="text" value="http://notizblog.org/b/25m" />
</p>
<p>
<label for="cite-permalink">Permalink</label>
<input id="cite-permalink" class="u-url url u-uid uid bookmark" type="text" value="http://notizblog.org/2014/02/20/wir-brauchen-metadaten-fuer-telefonnummern/" />
</p>
<p>
<label for="cite-cite">HTML</label>
<input id="cite-cite" class="code" type="text" size="70" value="&lt;cite class=&quot;h-cite&quot;&gt;&lt;a class=&quot;u-url p-name&quot; href=&quot;http://notizblog.org/2014/02/20/wir-brauchen-metadaten-fuer-telefonnummern/&quot;&gt;Wir brauchen Metadaten für Telefonnummern&lt;/a&gt; (&lt;span class=&quot;p-author h-card&quot; title=&quot;Matthias Pfefferle&quot;&gt;Matthias Pfefferle&lt;/span&gt; &lt;time class=&quot;dt-published&quot; datetime=&quot;2014-02-20T10:30:40+00:00&quot;&gt;20. Februar 2014&lt;/time&gt;)&lt;/cite&gt;">
</p>
</div><!-- #comments -->
</body>

550
tests/cases/json/phpmf2/hentry/mixedroots.json

@ -1,550 +0,0 @@
{
"items": [
{
"type": [
"h-as-article",
"h-entry"
],
"properties": {
"name": [
"Wir brauchen Metadaten f\u00fcr Telefonnummern"
],
"url": [
"http://notizblog.org/2014/02/20/wir-brauchen-metadaten-fuer-telefonnummern/",
"http://notizblog.org/2014/02/20/wir-brauchen-metadaten-fuer-telefonnummern/",
"http://notizblog.org/b/25m",
"http://notizblog.org/2014/02/20/wir-brauchen-metadaten-fuer-telefonnummern/"
],
"uid": [
"http://notizblog.org/2014/02/20/wir-brauchen-metadaten-fuer-telefonnummern/"
],
"updated": [
"2014-02-20T10:30:40+00:00"
],
"published": [
"2014-02-20T10:30:40+00:00"
],
"content": [
{
"html": "<p><a href=\"http://netzwertig.com/2014/02/19/zuckerberg-bekommt-wieder-was-er-will-facebook-uebernimmt-whatsapp-fuer-bis-zu-19-milliarden-dollar/\">Facebook kauft WhatsApp</a> und ich hab nur wenig M\u00f6glichkeiten meine Konsequenzen daraus zu ziehen. Leider sind alle aktuell popul\u00e4ren \u201cChat\u201d Systeme direkt an die App gekoppelt und ich \u201cmuss\u201d zwangsl\u00e4ufig die App benutzen die mein Freundeskreis bevorzugt.</p>\n <p><a href=\"http://www.whatsapp.com/\">WhatsApp</a> benutzt intern das <a href=\"http://de.wikipedia.org/wiki/WhatsApp#cite_note-10\">XMPP-Protokoll</a> und arbeitet dadurch ja theoretisch dezentral und auch <a href=\"https://telegram.org\">Telegram</a> hat beispielsweise <a href=\"https://core.telegram.org/mtproto\">eine Art offenes Protokoll</a> gebaut\u2026 Das Problem: Woher wissen auf welchem Server der Andere angemeldet ist.</p>\n <p>Seit WhatsApp die Identifizierung \u00fcber die Telefonnummer (statt einer z.B. E-Mail Adresse) eingef\u00fchrt hat, sind viele anderen diesem Beispiel gefolgt und es gibt nichts Verwerfliches daran. Jeder der eine solche App nutzt hat zwangsl\u00e4ufig ein Telefon, was bedeutet dass er auch eine Telefonnummer hat und die Wahrscheinlichkeit dass in seinem (Telefon-)Adressbuch mehr Telefonnummern als E-Mail Adressen stehen ist auch sehr hoch. Prinzipiell also eine gute Idee! Leider kann man aber anhand einer Telefonnummer nicht auf einen Server (mal abgesehen vom Telekommunikations-unternehmen) schlie\u00dfen und das bedeutet, dass das Verfahren leider auch nur zentral funktionieren kann. Nutze ich WhatsApp, kann man mich nur \u00fcber die WhatsApp-Server erreichen, f\u00fcr Telegram l\u00e4uft die Kommunikation nur \u00fcber die Telegram-Server usw.</p>\n <p>Um mit XMPP oder anderen Protokollen wirklich dezentral arbeiten zu k\u00f6nnen, m\u00fcsste man \u00fcber die Telefonnummer erfahren k\u00f6nnen welchen Chat-Server der Andere benutzt. Vielleicht \u00fcber so eine Art <a href=\"http://notizblog.org/2008/07/27/email-address-to-url-transformation/\"><em>Tel to Id</em></a> \u2013 Service oder \u00fcber andere Protokolle wie z.B. SMS. Damit k\u00f6nnte sich jeder selbst den Client seines Vertrauens aussuchen und alles w\u00e4re <del datetime=\"2014-02-20T08:59:56+00:00\">gut</del> <ins datetime=\"2014-02-20T08:59:56+00:00\">besser</ins> <img src=\"http://notizblog.org/wp-includes/images/smilies/icon_wink.gif\" alt=\";)\" class=\"wp-smiley\"> </p>\n \n <div class=\"social-buttons\">\n <a class=\"FlattrButton\" style=\"display:none;\" data-flattr-button=\"compact\" data-flattr-uid=\"pfefferle\" data-flattr-category=\"text\" data-flattr-language=\"de_DE\" href=\"http://notizblog.org/2014/02/20/wir-brauchen-metadaten-fuer-telefonnummern/\" rel=\"donation payment\"></a>\n \n <div class=\"g-plusone\" data-size=\"medium\" data-lang=\"de-DE\" data-href=\"http://notizblog.org/2014/02/20/wir-brauchen-metadaten-fuer-telefonnummern/\"></div>\n </div>",
"value": "Facebook kauft WhatsApp und ich hab nur wenig M\u00f6glichkeiten meine Konsequenzen daraus zu ziehen. Leider sind alle aktuell popul\u00e4ren \u201cChat\u201d Systeme direkt an die App gekoppelt und ich \u201cmuss\u201d zwangsl\u00e4ufig die App benutzen die mein Freundeskreis bevorzugt.\nWhatsApp benutzt intern das XMPP-Protokoll und arbeitet dadurch ja theoretisch dezentral und auch Telegram hat beispielsweise eine Art offenes Protokoll gebaut\u2026 Das Problem: Woher wissen auf welchem Server der Andere angemeldet ist.\nSeit WhatsApp die Identifizierung \u00fcber die Telefonnummer (statt einer z.B. E-Mail Adresse) eingef\u00fchrt hat, sind viele anderen diesem Beispiel gefolgt und es gibt nichts Verwerfliches daran. Jeder der eine solche App nutzt hat zwangsl\u00e4ufig ein Telefon, was bedeutet dass er auch eine Telefonnummer hat und die Wahrscheinlichkeit dass in seinem (Telefon-)Adressbuch mehr Telefonnummern als E-Mail Adressen stehen ist auch sehr hoch. Prinzipiell also eine gute Idee! Leider kann man aber anhand einer Telefonnummer nicht auf einen Server (mal abgesehen vom Telekommunikations-unternehmen) schlie\u00dfen und das bedeutet, dass das Verfahren leider auch nur zentral funktionieren kann. Nutze ich WhatsApp, kann man mich nur \u00fcber die WhatsApp-Server erreichen, f\u00fcr Telegram l\u00e4uft die Kommunikation nur \u00fcber die Telegram-Server usw.\nUm mit XMPP oder anderen Protokollen wirklich dezentral arbeiten zu k\u00f6nnen, m\u00fcsste man \u00fcber die Telefonnummer erfahren k\u00f6nnen welchen Chat-Server der Andere benutzt. Vielleicht \u00fcber so eine Art Tel to Id \u2013 Service oder \u00fcber andere Protokolle wie z.B. SMS. Damit k\u00f6nnte sich jeder selbst den Client seines Vertrauens aussuchen und alles w\u00e4re gut besser ;)"
}
],
"author": [
{
"type": [
"h-card"
],
"properties": {
"name": [
"Matthias Pfefferle"
],
"photo": [
{
"value": "http://1.gravatar.com/avatar/b36983a5651df2c413e264ad4d5cc1a1?s=40&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&r=G",
"alt": ""
}
],
"url": [
"http://notizblog.org/author/matthias-pfefferle/"
],
"uid": [
"http://notizblog.org/author/matthias-pfefferle/"
]
},
"value": "Matthias Pfefferle"
}
],
"comment": [
{
"type": [
"h-as-comment",
"h-entry"
],
"properties": {
"summary": [
"ENUM (RFC6116) macht genau das. Ist zwar f\u00fcr SIP gedacht, passt aber auch auf diese Anforderung."
],
"name": [
"ENUM (RFC6116) macht genau das. Ist zwar f\u00fcr SIP gedacht, passt aber auch auf diese Anforderung."
],
"updated": [
"http://20. Februar 2014 bei 10:36"
],
"published": [
"http://20. Februar 2014 bei 10:36"
],
"content": [
{
"html": "<p>ENUM (<a href=\"https://tools.ietf.org/html/rfc6116\">RFC6116</a>) macht genau das. Ist zwar f\u00fcr SIP gedacht, passt aber auch auf diese Anforderung.</p>",
"value": "ENUM (RFC6116) macht genau das. Ist zwar f\u00fcr SIP gedacht, passt aber auch auf diese Anforderung."
}
],
"author": [
{
"type": [
"h-card"
],
"properties": {
"name": [
"Dentaku"
],
"photo": [
{
"value": "http://1.gravatar.com/avatar/1d6a0566df7760e7d1507810b71a363e?s=50&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D50&r=G",
"alt": ""
}
],
"url": [
"http://dentaku.wazong.de"
]
},
"value": "Dentaku"
}
],
"comment": [
{
"type": [
"h-as-comment",
"h-entry"
],
"properties": {
"summary": [
"Das war ne schnelle Antwort :)\nVielen Dank f\u00fcr den Tipp mit ENUM (noch nie davon geh\u00f6rt) und den Link\u2026 werde mich sp\u00e4ter mal durch das RFC k\u00e4mpfen\u2026"
],
"name": [
"Das war ne schnelle Antwort :)\nVielen Dank f\u00fcr den Tipp mit ENUM (noch nie davon geh\u00f6rt) und den Link\u2026 werde mich sp\u00e4ter mal durch das RFC k\u00e4mpfen\u2026"
],
"updated": [
"http://20. Februar 2014 bei 10:41"
],
"published": [
"http://20. Februar 2014 bei 10:41"
],
"content": [
{
"html": "<p>Das war ne schnelle Antwort <img src=\"http://notizblog.org/wp-includes/images/smilies/icon_smile.gif\" alt=\":)\" class=\"wp-smiley\"> </p>\n <p>Vielen Dank f\u00fcr den Tipp mit ENUM (noch nie davon geh\u00f6rt) und den Link\u2026 werde mich sp\u00e4ter mal durch das RFC k\u00e4mpfen\u2026</p>",
"value": "Das war ne schnelle Antwort :)\nVielen Dank f\u00fcr den Tipp mit ENUM (noch nie davon geh\u00f6rt) und den Link\u2026 werde mich sp\u00e4ter mal durch das RFC k\u00e4mpfen\u2026"
}
],
"author": [
{
"type": [
"h-card"
],
"properties": {
"name": [
"Matthias Pfefferle"
],
"photo": [
{
"value": "http://1.gravatar.com/avatar/b36983a5651df2c413e264ad4d5cc1a1?s=50&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D50&r=G",
"alt": ""
}
],
"url": [
"http://notizblog.org"
]
},
"value": "Matthias Pfefferle"
}
]
},
"id": "li-comment-466780",
"value": "Das war ne schnelle Antwort :)\nVielen Dank f\u00fcr den Tipp mit ENUM (noch nie davon geh\u00f6rt) und den Link\u2026 werde mich sp\u00e4ter mal durch das RFC k\u00e4mpfen\u2026"
}
]
},
"id": "li-comment-466758",
"value": "ENUM (RFC6116) macht genau das. Ist zwar f\u00fcr SIP gedacht, passt aber auch auf diese Anforderung."
},
{
"type": [
"h-as-comment",
"h-entry"
],
"properties": {
"summary": [
"Wollte auch gerade ENUM sagen. Dabei wird die Telefonnummer in einen DNS-Namen konvertiert. Wenn du damit spielen willst, kannst du dir unter http://www.portunity.de/access/produkte/telefonie/enum-domains.html kostenlos eine deutsche Nummer in ENUM eintragen lassen."
],
"name": [
"Wollte auch gerade ENUM sagen. Dabei wird die Telefonnummer in einen DNS-Namen konvertiert. Wenn du damit spielen willst, kannst du dir unter http://www.portunity.de/access/produkte/telefonie/enum-domains.html kostenlos eine deutsche Nummer in ENUM eintragen lassen."
],
"updated": [
"http://20. Februar 2014 bei 11:4"
],
"published": [
"http://20. Februar 2014 bei 11:4"
],
"content": [
{
"html": "<p>Wollte auch gerade ENUM sagen. Dabei wird die Telefonnummer in einen DNS-Namen konvertiert. Wenn du damit spielen willst, kannst du dir unter <a href=\"http://www.portunity.de/access/produkte/telefonie/enum-domains.html\">http://www.portunity.de/access/produkte/telefonie/enum-domains.html</a> kostenlos eine deutsche Nummer in ENUM eintragen lassen.</p>",
"value": "Wollte auch gerade ENUM sagen. Dabei wird die Telefonnummer in einen DNS-Namen konvertiert. Wenn du damit spielen willst, kannst du dir unter http://www.portunity.de/access/produkte/telefonie/enum-domains.html kostenlos eine deutsche Nummer in ENUM eintragen lassen."
}
],
"author": [
{
"type": [
"h-card"
],
"properties": {
"name": [
"Lukas Rosenstock"
],
"photo": [
{
"value": "http://0.gravatar.com/avatar/2d4d94afbc593569446625c02e7a2f73?s=50&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D50&r=G",
"alt": ""
}
],
"url": [
"http://lukasrosenstock.net/"
]
},
"value": "Lukas Rosenstock"
}
],
"comment": [
{
"type": [
"h-as-comment",
"h-entry"
],
"properties": {
"summary": [
"Krass dass das so vollkommen an mit vorbei gegangen ist\u2026 Gibt es da produktive Anwendungen die ENUM zum Beispiel f\u00fcr Chats o.\u00c4. verwenden?\n\u2026ich sollte echt mehr bloggen!"
],
"name": [
"Krass dass das so vollkommen an mit vorbei gegangen ist\u2026 Gibt es da produktive Anwendungen die ENUM zum Beispiel f\u00fcr Chats o.\u00c4. verwenden?\n\u2026ich sollte echt mehr bloggen!"
],
"updated": [
"http://20. Februar 2014 bei 11:18"
],
"published": [
"http://20. Februar 2014 bei 11:18"
],
"content": [
{
"html": "<p>Krass dass das so vollkommen an mit vorbei gegangen ist\u2026 Gibt es da produktive Anwendungen die ENUM zum Beispiel f\u00fcr Chats o.\u00c4. verwenden?</p>\n <p>\u2026ich sollte echt mehr bloggen!</p>",
"value": "Krass dass das so vollkommen an mit vorbei gegangen ist\u2026 Gibt es da produktive Anwendungen die ENUM zum Beispiel f\u00fcr Chats o.\u00c4. verwenden?\n\u2026ich sollte echt mehr bloggen!"
}
],
"author": [
{
"type": [
"h-card"
],
"properties": {
"name": [
"Matthias Pfefferle"
],
"photo": [
{
"value": "http://1.gravatar.com/avatar/b36983a5651df2c413e264ad4d5cc1a1?s=50&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D50&r=G",
"alt": ""
}
],
"url": [
"http://notizblog.org"
]
},
"value": "Matthias Pfefferle"
}
],
"comment": [
{
"type": [
"h-as-comment",
"h-entry"
],
"properties": {
"summary": [
"ENUM wurde bisher nur als M\u00f6glichkeit zur Umgehung der Carrier/Kostenersparnis gesehen, dementsprechend nat\u00fcrlich von Carriern und nahestehenden Hard-/Softwareherstellern nicht unterst\u00fctzt. Somit kommt es nicht in den Mainstream. Ich sehe es zur Zeit (leider) als reines \u201cNerd-Tool\u201d, genau wie Diaspora, OpenID, IndieWeb \u2026\nAber der Gedanke eines \u201cdezentralen WhatsApp\u201d auf ENUM-Basis kam mir auch schon. Interessantes Projekt, aber auch nicht massentauglich wegen Huhn&Ei-Problemen."
],
"name": [
"ENUM wurde bisher nur als M\u00f6glichkeit zur Umgehung der Carrier/Kostenersparnis gesehen, dementsprechend nat\u00fcrlich von Carriern und nahestehenden Hard-/Softwareherstellern nicht unterst\u00fctzt. Somit kommt es nicht in den Mainstream. Ich sehe es zur Zeit (leider) als reines \u201cNerd-Tool\u201d, genau wie Diaspora, OpenID, IndieWeb \u2026\nAber der Gedanke eines \u201cdezentralen WhatsApp\u201d auf ENUM-Basis kam mir auch schon. Interessantes Projekt, aber auch nicht massentauglich wegen Huhn&Ei-Problemen."
],
"updated": [
"http://20. Februar 2014 bei 12:01"
],
"published": [
"http://20. Februar 2014 bei 12:01"
],
"content": [
{
"html": "<p>ENUM wurde bisher nur als M\u00f6glichkeit zur Umgehung der Carrier/Kostenersparnis gesehen, dementsprechend nat\u00fcrlich von Carriern und nahestehenden Hard-/Softwareherstellern nicht unterst\u00fctzt. Somit kommt es nicht in den Mainstream. Ich sehe es zur Zeit (leider) als reines \u201cNerd-Tool\u201d, genau wie Diaspora, OpenID, IndieWeb \u2026<br>\n Aber der Gedanke eines \u201cdezentralen WhatsApp\u201d auf ENUM-Basis kam mir auch schon. Interessantes Projekt, aber auch nicht massentauglich wegen Huhn&amp;Ei-Problemen.</p>",
"value": "ENUM wurde bisher nur als M\u00f6glichkeit zur Umgehung der Carrier/Kostenersparnis gesehen, dementsprechend nat\u00fcrlich von Carriern und nahestehenden Hard-/Softwareherstellern nicht unterst\u00fctzt. Somit kommt es nicht in den Mainstream. Ich sehe es zur Zeit (leider) als reines \u201cNerd-Tool\u201d, genau wie Diaspora, OpenID, IndieWeb \u2026\nAber der Gedanke eines \u201cdezentralen WhatsApp\u201d auf ENUM-Basis kam mir auch schon. Interessantes Projekt, aber auch nicht massentauglich wegen Huhn&Ei-Problemen."
}
],
"author": [
{
"type": [
"h-card"
],
"properties": {
"name": [
"Lukas Rosenstock"
],
"photo": [
{
"value": "http://0.gravatar.com/avatar/2d4d94afbc593569446625c02e7a2f73?s=50&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D50&r=G",
"alt": ""
}
],
"url": [
"http://lukasrosenstock.net/"
]
},
"value": "Lukas Rosenstock"
}
],
"comment": [
{
"type": [
"h-as-comment",
"h-entry"
],
"properties": {
"summary": [
"Hmmm\u2026 Eine Unterst\u00fctzung von Seiten aller Carrier w\u00e4re nat\u00fcrlich wirklich notwendig um massentaugliche Produkte zu bauen\u2026\nW\u00e4re gro\u00dfartig wenn jede Nummer automatisch ne URI bek\u00e4me und unter dieser URI ne Art \u201cRegistry\u201d zu finden w\u00e4re, die auch von Apps erweitert werden kann. So ne Art WebFinger f\u00fcr Telefonnummern quasi\u2026"
],
"name": [
"Hmmm\u2026 Eine Unterst\u00fctzung von Seiten aller Carrier w\u00e4re nat\u00fcrlich wirklich notwendig um massentaugliche Produkte zu bauen\u2026\nW\u00e4re gro\u00dfartig wenn jede Nummer automatisch ne URI bek\u00e4me und unter dieser URI ne Art \u201cRegistry\u201d zu finden w\u00e4re, die auch von Apps erweitert werden kann. So ne Art WebFinger f\u00fcr Telefonnummern quasi\u2026"
],
"updated": [
"http://20. Februar 2014 bei 13:22"
],
"published": [
"http://20. Februar 2014 bei 13:22"
],
"content": [
{
"html": "<p>Hmmm\u2026 Eine Unterst\u00fctzung von Seiten aller Carrier w\u00e4re nat\u00fcrlich wirklich notwendig um massentaugliche Produkte zu bauen\u2026</p>\n <p>W\u00e4re gro\u00dfartig wenn jede Nummer automatisch ne URI bek\u00e4me und unter dieser URI ne Art \u201cRegistry\u201d zu finden w\u00e4re, die auch von Apps erweitert werden kann. So ne Art WebFinger f\u00fcr Telefonnummern quasi\u2026</p>",
"value": "Hmmm\u2026 Eine Unterst\u00fctzung von Seiten aller Carrier w\u00e4re nat\u00fcrlich wirklich notwendig um massentaugliche Produkte zu bauen\u2026\nW\u00e4re gro\u00dfartig wenn jede Nummer automatisch ne URI bek\u00e4me und unter dieser URI ne Art \u201cRegistry\u201d zu finden w\u00e4re, die auch von Apps erweitert werden kann. So ne Art WebFinger f\u00fcr Telefonnummern quasi\u2026"
}
],
"author": [
{
"type": [
"h-card"
],
"properties": {
"name": [
"Matthias Pfefferle"
],
"photo": [
{
"value": "http://1.gravatar.com/avatar/b36983a5651df2c413e264ad4d5cc1a1?s=50&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D50&r=G",
"alt": ""
}
],
"url": [
"http://notizblog.org"
]
},
"value": "Matthias Pfefferle"
}
]
},
"id": "li-comment-467346",
"value": "Hmmm\u2026 Eine Unterst\u00fctzung von Seiten aller Carrier w\u00e4re nat\u00fcrlich wirklich notwendig um massentaugliche Produkte zu bauen\u2026\nW\u00e4re gro\u00dfartig wenn jede Nummer automatisch ne URI bek\u00e4me und unter dieser URI ne Art \u201cRegistry\u201d zu finden w\u00e4re, die auch von Apps erweitert werden kann. So ne Art WebFinger f\u00fcr Telefonnummern quasi\u2026"
}
]
},
"id": "li-comment-467106",
"value": "ENUM wurde bisher nur als M\u00f6glichkeit zur Umgehung der Carrier/Kostenersparnis gesehen, dementsprechend nat\u00fcrlich von Carriern und nahestehenden Hard-/Softwareherstellern nicht unterst\u00fctzt. Somit kommt es nicht in den Mainstream. Ich sehe es zur Zeit (leider) als reines \u201cNerd-Tool\u201d, genau wie Diaspora, OpenID, IndieWeb \u2026\nAber der Gedanke eines \u201cdezentralen WhatsApp\u201d auf ENUM-Basis kam mir auch schon. Interessantes Projekt, aber auch nicht massentauglich wegen Huhn&Ei-Problemen."
}
]
},
"id": "li-comment-466932",
"value": "Krass dass das so vollkommen an mit vorbei gegangen ist\u2026 Gibt es da produktive Anwendungen die ENUM zum Beispiel f\u00fcr Chats o.\u00c4. verwenden?\n\u2026ich sollte echt mehr bloggen!"
}
]
},
"id": "li-comment-466867",
"value": "Wollte auch gerade ENUM sagen. Dabei wird die Telefonnummer in einen DNS-Namen konvertiert. Wenn du damit spielen willst, kannst du dir unter http://www.portunity.de/access/produkte/telefonie/enum-domains.html kostenlos eine deutsche Nummer in ENUM eintragen lassen."
},
{
"type": [
"h-as-comment",
"h-entry"
],
"properties": {
"summary": [
"Diese Interoperabilit\u00e4t nennt sich gemeinhin \u201cFederation\u201d: http://en.wikipedia.org/wiki/Federation_(information_technology)\nWhatsApp verwendet kein XMPP. XMPP ist f\u00fcr Mobiles der absolute Horror, denn es basiert auf TCP und damit braucht der Client eine stehende TCP-Verbindung, was massiv auf den Akku geht. Au\u00dferdem kommt es permanent zu reconnects, wenn sich laufend die IP-Adresse des Clients \u00e4ndert.\nAus diesem Grund will man ein verbindungsloses Push-System dahinter haben.\nGoogle und Facebook verwenden XMPP, Facebook hat sich aber noch nie an s2s (Server to Server) Verbindungen beteiligt, Google hat es vor ca 1 Jahr abgeschaltet, damit kann man sich zB. von eigenen XMPP-Servern und damit eigenen XMPP-Accounts nicht mehr mit Google-Usern unterhalten, sonern muss den Google Account verwenden.\nIch habe zB. sowohl meine Facebook als auch Google-Account in meinem pidgin konfiguriert.\nTextSecure (clients momentan nur f\u00fcr Android) ist momentan das IMHO beste System in diesem Bereich:\n- open source\n- harte crypto\n- multi device (man kann einen Account auf meheren Devices nutzen)\n- bald f\u00fcr iOS und Desktop\nund: es unterst\u00fctzt Federation, man kann sich also seinen eigenen Server hinstellen und es dar\u00fcber machen.\nSiehe: https://whispersystems.org/blog/the-new-textsecure/\nIch muss nat\u00fcrlich immer noch den Account des anderen Teilnehmers kennen \u2026"
],
"name": [
"Diese Interoperabilit\u00e4t nennt sich gemeinhin \u201cFederation\u201d: http://en.wikipedia.org/wiki/Federation_(information_technology)\nWhatsApp verwendet kein XMPP. XMPP ist f\u00fcr Mobiles der absolute Horror, denn es basiert auf TCP und damit braucht der Client eine stehende TCP-Verbindung, was massiv auf den Akku geht. Au\u00dferdem kommt es permanent zu reconnects, wenn sich laufend die IP-Adresse des Clients \u00e4ndert.\nAus diesem Grund will man ein verbindungsloses Push-System dahinter haben.\nGoogle und Facebook verwenden XMPP, Facebook hat sich aber noch nie an s2s (Server to Server) Verbindungen beteiligt, Google hat es vor ca 1 Jahr abgeschaltet, damit kann man sich zB. von eigenen XMPP-Servern und damit eigenen XMPP-Accounts nicht mehr mit Google-Usern unterhalten, sonern muss den Google Account verwenden.\nIch habe zB. sowohl meine Facebook als auch Google-Account in meinem pidgin konfiguriert.\nTextSecure (clients momentan nur f\u00fcr Android) ist momentan das IMHO beste System in diesem Bereich:\n- open source\n- harte crypto\n- multi device (man kann einen Account auf meheren Devices nutzen)\n- bald f\u00fcr iOS und Desktop\nund: es unterst\u00fctzt Federation, man kann sich also seinen eigenen Server hinstellen und es dar\u00fcber machen.\nSiehe: https://whispersystems.org/blog/the-new-textsecure/\nIch muss nat\u00fcrlich immer noch den Account des anderen Teilnehmers kennen \u2026"
],
"updated": [
"http://8. M\u00e4rz 2014 bei 21:45"
],
"published": [
"http://8. M\u00e4rz 2014 bei 21:45"
],
"content": [
{
"html": "<p>Diese Interoperabilit\u00e4t nennt sich gemeinhin \u201cFederation\u201d: <a href=\"http://en.wikipedia.org/wiki/Federation_(information_technology)\">http://en.wikipedia.org/wiki/Federation_(information_technology)</a></p>\n <p>WhatsApp verwendet kein XMPP. XMPP ist f\u00fcr Mobiles der absolute Horror, denn es basiert auf TCP und damit braucht der Client eine stehende TCP-Verbindung, was massiv auf den Akku geht. Au\u00dferdem kommt es permanent zu reconnects, wenn sich laufend die IP-Adresse des Clients \u00e4ndert.<br>\n Aus diesem Grund will man ein verbindungsloses Push-System dahinter haben.</p>\n <p>Google und Facebook verwenden XMPP, Facebook hat sich aber noch nie an s2s (Server to Server) Verbindungen beteiligt, Google hat es vor ca 1 Jahr abgeschaltet, damit kann man sich zB. von eigenen XMPP-Servern und damit eigenen XMPP-Accounts nicht mehr mit Google-Usern unterhalten, sonern muss den Google Account verwenden.<br>\n Ich habe zB. sowohl meine Facebook als auch Google-Account in meinem pidgin konfiguriert.</p>\n <p>TextSecure (clients momentan nur f\u00fcr Android) ist momentan das IMHO beste System in diesem Bereich:<br>\n - open source<br>\n - harte crypto<br>\n - multi device (man kann einen Account auf meheren Devices nutzen)<br>\n - bald f\u00fcr iOS und Desktop<br>\n und: es unterst\u00fctzt Federation, man kann sich also seinen eigenen Server hinstellen und es dar\u00fcber machen.<br>\n Siehe: <a href=\"https://whispersystems.org/blog/the-new-textsecure/\">https://whispersystems.org/blog/the-new-textsecure/</a></p>\n <p>Ich muss nat\u00fcrlich immer noch den Account des anderen Teilnehmers kennen \u2026</p>",
"value": "Diese Interoperabilit\u00e4t nennt sich gemeinhin \u201cFederation\u201d: http://en.wikipedia.org/wiki/Federation_(information_technology)\nWhatsApp verwendet kein XMPP. XMPP ist f\u00fcr Mobiles der absolute Horror, denn es basiert auf TCP und damit braucht der Client eine stehende TCP-Verbindung, was massiv auf den Akku geht. Au\u00dferdem kommt es permanent zu reconnects, wenn sich laufend die IP-Adresse des Clients \u00e4ndert.\nAus diesem Grund will man ein verbindungsloses Push-System dahinter haben.\nGoogle und Facebook verwenden XMPP, Facebook hat sich aber noch nie an s2s (Server to Server) Verbindungen beteiligt, Google hat es vor ca 1 Jahr abgeschaltet, damit kann man sich zB. von eigenen XMPP-Servern und damit eigenen XMPP-Accounts nicht mehr mit Google-Usern unterhalten, sonern muss den Google Account verwenden.\nIch habe zB. sowohl meine Facebook als auch Google-Account in meinem pidgin konfiguriert.\nTextSecure (clients momentan nur f\u00fcr Android) ist momentan das IMHO beste System in diesem Bereich:\n- open source\n- harte crypto\n- multi device (man kann einen Account auf meheren Devices nutzen)\n- bald f\u00fcr iOS und Desktop\nund: es unterst\u00fctzt Federation, man kann sich also seinen eigenen Server hinstellen und es dar\u00fcber machen.\nSiehe: https://whispersystems.org/blog/the-new-textsecure/\nIch muss nat\u00fcrlich immer noch den Account des anderen Teilnehmers kennen \u2026"
}
],
"author": [
{
"type": [
"h-card"
],
"properties": {
"name": [
"Markus Stumpf"
],
"photo": [
{
"value": "http://1.gravatar.com/avatar/f7a7b6a59e64d4b8c4a3ded1f85a9879?s=50&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D50&r=G",
"alt": ""
}
],
"url": [
"http://www.maexoticde/"
]
},
"value": "Markus Stumpf"
}
]
},
"id": "li-comment-505365",
"value": "Diese Interoperabilit\u00e4t nennt sich gemeinhin \u201cFederation\u201d: http://en.wikipedia.org/wiki/Federation_(information_technology)\nWhatsApp verwendet kein XMPP. XMPP ist f\u00fcr Mobiles der absolute Horror, denn es basiert auf TCP und damit braucht der Client eine stehende TCP-Verbindung, was massiv auf den Akku geht. Au\u00dferdem kommt es permanent zu reconnects, wenn sich laufend die IP-Adresse des Clients \u00e4ndert.\nAus diesem Grund will man ein verbindungsloses Push-System dahinter haben.\nGoogle und Facebook verwenden XMPP, Facebook hat sich aber noch nie an s2s (Server to Server) Verbindungen beteiligt, Google hat es vor ca 1 Jahr abgeschaltet, damit kann man sich zB. von eigenen XMPP-Servern und damit eigenen XMPP-Accounts nicht mehr mit Google-Usern unterhalten, sonern muss den Google Account verwenden.\nIch habe zB. sowohl meine Facebook als auch Google-Account in meinem pidgin konfiguriert.\nTextSecure (clients momentan nur f\u00fcr Android) ist momentan das IMHO beste System in diesem Bereich:\n- open source\n- harte crypto\n- multi device (man kann einen Account auf meheren Devices nutzen)\n- bald f\u00fcr iOS und Desktop\nund: es unterst\u00fctzt Federation, man kann sich also seinen eigenen Server hinstellen und es dar\u00fcber machen.\nSiehe: https://whispersystems.org/blog/the-new-textsecure/\nIch muss nat\u00fcrlich immer noch den Account des anderen Teilnehmers kennen \u2026"
}
]
}
}
],
"rels": {
"bookmark": [
"http://notizblog.org/2014/02/20/wir-brauchen-metadaten-fuer-telefonnummern/"
],
"author": [
"http://notizblog.org/author/matthias-pfefferle/"
],
"donation": [
"http://notizblog.org/2014/02/20/wir-brauchen-metadaten-fuer-telefonnummern/"
],
"payment": [
"http://notizblog.org/2014/02/20/wir-brauchen-metadaten-fuer-telefonnummern/"
],
"category": [
"http://notizblog.org/category/web/"
],
"tag": [
"http://notizblog.org/category/web/",
"http://notizblog.org/tag/dezentral/",
"http://notizblog.org/tag/email-to-id/",
"http://notizblog.org/tag/facebook/",
"http://notizblog.org/tag/whatsapp/",
"http://notizblog.org/tag/xmpp/"
],
"prev": [
"http://notizblog.org/2014/02/13/amber-case-ueber-privacy-und-das-indieweb/"
],
"external": [
"http://dentaku.wazong.de",
"http://notizblog.org",
"http://lukasrosenstock.net/",
"http://www.maexoticde/"
],
"nofollow": [
"http://example.com/2014/02/20/wir-brauchen-metadaten-fuer-telefonnummern/#respond"
]
},
"rel-urls": {
"http://notizblog.org/2014/02/20/wir-brauchen-metadaten-fuer-telefonnummern/": {
"title": "Permalink to Wir brauchen Metadaten f\u00fcr Telefonnummern",
"text": "Wir brauchen Metadaten f\u00fcr Telefonnummern",
"rels": [
"bookmark",
"donation",
"payment"
]
},
"http://notizblog.org/author/matthias-pfefferle/": {
"title": "Alle Beitr\u00e4ge von Matthias Pfefferle ansehen",
"text": "Matthias Pfefferle",
"rels": [
"author"
]
},
"http://notizblog.org/category/web/": {
"title": "Alle Beitr\u00e4ge in Open Web ansehen",
"text": "Open Web",
"rels": [
"category",
"tag"
]
},
"http://notizblog.org/tag/dezentral/": {
"text": "dezentral",
"rels": [
"tag"
]
},
"http://notizblog.org/tag/email-to-id/": {
"text": "Email to ID",
"rels": [
"tag"
]
},
"http://notizblog.org/tag/facebook/": {
"text": "Facebook",
"rels": [
"tag"
]
},
"http://notizblog.org/tag/whatsapp/": {
"text": "WhatsApp",
"rels": [
"tag"
]
},
"http://notizblog.org/tag/xmpp/": {
"text": "XMPP",
"rels": [
"tag"
]
},
"http://notizblog.org/2014/02/13/amber-case-ueber-privacy-und-das-indieweb/": {
"text": "\u2190 Amber Case \u00fcber Privacy und das IndieWeb",
"rels": [
"prev"
]
},
"http://dentaku.wazong.de": {
"text": "Dentaku",
"rels": [
"external"
]
},
"http://notizblog.org": {
"text": "Matthias Pfefferle",
"rels": [
"external"
]
},
"http://lukasrosenstock.net/": {
"text": "Lukas Rosenstock",
"rels": [
"external"
]
},
"http://www.maexoticde/": {
"text": "Markus Stumpf",
"rels": [
"external"
]
},
"http://example.com/2014/02/20/wir-brauchen-metadaten-fuer-telefonnummern/#respond": {
"text": "Antworten abbrechen",
"rels": [
"nofollow"
]
}
}
}

0
tests/cases/json/phpmf2/hentry/fberriman.html → tests/cases/third-party/phpmf2/classic/fberriman.html

0
tests/cases/json/phpmf2/hentry/fberriman.json → tests/cases/third-party/phpmf2/classic/fberriman.json

0
tests/cases/json/phpmf2/hentry/bookmark.html → tests/cases/third-party/phpmf2/classic/hentry-bookmark.html

0
tests/cases/json/phpmf2/hentry/bookmark.json → tests/cases/third-party/phpmf2/classic/hentry-bookmark.json

74
tests/cases/third-party/phpmf2/classic/mixedroots2.html

@ -0,0 +1,74 @@
<li class="h-review post-review hreview post" id="post-id-28640">
<div style="" class="content-area has-responses ">
<div class="pad">
<div class="item">
<h3><a href="http://www.irradiatedsoftware.com/dropvox/" class="url fn p-item h-product">Dropvox</a></h3>
</div>
<div class="rating-stars">
<span class="selected"></span>
<span class="selected"></span>
<span class="selected"></span>
<span class="selected"></span>
<span class="selected"></span>
</div>
<span class="rating hidden"><span class="value">5</span> out of <span class="best">5</span></span>
</div>
<div class="hidden">
<!-- provide p-name as fallback for mf2 consumers -->
<span class="p-name">Dropvox</span>
<span class="reviewer vcard"><a class="url fn" href="https://aaronparecki.com/">Aaron Parecki</a></span>
<span class="dtreviewed">2016-12-15T18:01:31-08:00</span>
<!-- permalink for the review -->
<a href="https://aaronparecki.com/2016/12/15/16/dropvox" class="permalink">permalink</a>
</div>
<div class="pad">
<div class="post-text e-content description content-type-plain">Voice memos that record straight to your Dropbox account.</div>
</div>
<div class="metaline pad">
<i class="marker icon"></i>
<span class="p-location h-adr">
<span class="p-locality">Portland</span>,
<span class="p-region">Oregon</span>
<data class="p-latitude" value="45.535432705698"></data>
<data class="p-longitude" value="-122.62130255822"></data>
</span>
</div>
<div class="metaline pad">
<a href="https://aaronparecki.com/2016/12/15/16/dropvox" class="u-url">
<time class="dt-published" datetime="2016-12-15T18:01:31-08:00">
Thu, Dec 15, 2016 6:01pm -08:00
</time>
</a>
</div>
<a class="u-author" href="/"></a>
<div style="clear:both;"></div>
</div>
<div class="responses">
<form class="webmention-form ui form" action="https://webmention.io/aaronpk/webmention" method="post">
<div class="fields">
<div class="twelve wide field">
<label>Have you written a <a href="https://indieweb.org/responses">response</a> to this? Let me know the URL:</label>
<input type="url" name="source" class="url">
</div>
<div class="four wide field">
<label>&nbsp;</label>
<input type="submit" class="ui submit button" value="Send Webmention">
</div>
</div>
<div class="status hidden">
<div class="ui message"></div>
</div>
<input type="hidden" name="target" value="https://aaronparecki.com/2016/12/15/16/dropvox">
</form>
</div>
</li>

85
tests/cases/third-party/phpmf2/classic/mixedroots2.json

@ -0,0 +1,85 @@
{
"items": [
{
"id": "post-id-28640",
"type": [
"h-review"
],
"properties": {
"item": [
{
"type": [
"h-product"
],
"properties": {
"name": [
"Dropvox"
],
"url": [
"http://www.irradiatedsoftware.com/dropvox/"
]
},
"value": "Dropvox"
}
],
"name": [
"Dropvox"
],
"content": [
{
"html": "Voice memos that record straight to your Dropbox account.",
"value": "Voice memos that record straight to your Dropbox account."
}
],
"location": [
{
"type": [
"h-adr"
],
"properties": {
"locality": [
"Portland"
],
"region": [
"Oregon"
],
"latitude": [
"45.535432705698"
],
"longitude": [
"-122.62130255822"
]
},
"value": "Portland, Oregon"
}
],
"url": [
"https://aaronparecki.com/2016/12/15/16/dropvox"
],
"published": [
"2016-12-15T18:01:31-08:00"
],
"author": [
"http://example.com/"
]
},
"children": [
{
"type": [
"h-card"
],
"properties": {
"name": [
"Aaron Parecki"
],
"url": [
"https://aaronparecki.com/"
]
}
}
]
}
],
"rels": {},
"rel-urls": {}
}

9
tests/cases/third-party/phpmf2/classic/mixedroots3.html

@ -0,0 +1,9 @@
<span class="h-card vcard">
<a href="http://cherryreds.com">
<span class="p-name fn p-org org">Cherry Red's</span>
</a>,
<span class="adr">
<span class="street-address p-street-address">88-92 John Bright St</span>,
<span class="p-locality locality">Birmingham</span>,
<abbr class="p-country-name country-name">UK</abbr>
</span></span>

37
tests/cases/third-party/phpmf2/classic/mixedroots3.json

@ -0,0 +1,37 @@
{
"items": [
{
"type": [
"h-card"
],
"properties": {
"org": [
"Cherry Red's"
],
"name": [
"Cherry Red's"
]
},
"children": [
{
"type": [
"h-adr"
],
"properties": {
"street-address": [
"88-92 John Bright St"
],
"locality": [
"Birmingham"
],
"country-name": [
"UK"
]
}
}
]
}
],
"rels": {},
"rel-urls": {}
}

10
tests/cases/third-party/phpmf2/classic/mixedroots4.html

@ -0,0 +1,10 @@
<body class="h-entry">
<div id="page" class="hfeed site wrap">
<h1 class="entry-title"><span class='p-name'>title</span></h1>
other content
<div class="entry-content">
<div class="e-content">this is a test for indieweb post </div> <span class="syn-text">Also on:</span>
<!--syndication links -->
</div>
</div>
</body>

21
tests/cases/third-party/phpmf2/classic/mixedroots4.json

@ -0,0 +1,21 @@
{
"items": [
{
"type": [
"h-entry"
],
"properties": {},
"children": [
{
"type": [
"h-feed"
],
"properties": {},
"id": "page"
}
]
}
],
"rels": {},
"rel-urls": {}
}

0
tests/cases/json/phpmf2/vevent/summary.html → tests/cases/third-party/phpmf2/classic/vevent-summary.html

0
tests/cases/json/phpmf2/vevent/summary.json → tests/cases/third-party/phpmf2/classic/vevent-summary.json

Loading…
Cancel
Save