1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/toolkit/components/microformats/tests/test_Microformats.html Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,301 @@ 1.4 +<html> 1.5 +<head> 1.6 + <title>Testing Microformats.js</title> 1.7 + <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> 1.8 + <script type="text/javascript" src="/tests/SimpleTest/EventUtils.js"></script> 1.9 + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"></link> 1.10 + <style type="text/css"> 1.11 + /*vcards weee! */ 1.12 + .floated div { 1.13 + float:left; 1.14 + } 1.15 + </style> 1.16 + 1.17 +</head> 1.18 +<body> 1.19 +<div id="content" style="display: none"> 1.20 + <div id="test_1"> 1.21 + <div class="vcard" id="vcard1_node"> 1.22 + <a class="url fn" href="http://tantek.com/">Tantek Çelik</a> 1.23 + <div id="vcard1_org" class="org">Technorati</div> 1.24 + </div> 1.25 + <div class="vcard" id="vcard2_node"> 1.26 + <a class="url" href="http://tantek.com/">Tantek Çelik</a> 1.27 + <div id="vcard2_org" class="org">Technorati</div> 1.28 + </div> 1.29 + </div> 1.30 + <div class="vcard" id="outer_vcard"> 1.31 + <div class="vcard" id="middle_vcard"> 1.32 + <div class="vcard" id="inner_vcard"> 1.33 + <span class="fn">Inner User</span> 1.34 + </div> 1.35 + <span class="fn">Middle User</span> 1.36 + </div> 1.37 + <span class="fn">Outer User</span> 1.38 + </div> 1.39 + <div class="vcard" id="outer_vcard2"> 1.40 + <div class="vevent" id="middle_vevent2"> 1.41 + <div class="vcard" id="inner_vcard2"> 1.42 + <span class="fn">Inner User</span> 1.43 + </div> 1.44 + <span class="summary">Middle Event</span> 1.45 + </div> 1.46 + <span class="fn">Outer User</span> 1.47 + </div> 1.48 + <div class="vevent" id="outer_vevent3"> 1.49 + <div class="vcard" id="middle_vcard3"> 1.50 + <div class="vevent" id="inner_vevent3"> 1.51 + <span class="summary">Inner Event</span> 1.52 + </div> 1.53 + <span class="fn">Middle User</span> 1.54 + </div> 1.55 + <span class="summary">Outer Event</span> 1.56 + </div> 1.57 + 1.58 + <div class="vevent" id="outer_vevent4"> 1.59 + <a rel="tag" id="inner_tag4" href="http://www.example.com/inner_tag"> 1.60 + Inner tag 1.61 + </a> 1.62 + <span class="summary">Outer Event</span> 1.63 + </div> 1.64 + 1.65 + <a rel="tag" id="outer_tag5" href="http://www.example.com/outer_tag"> 1.66 + <div class="vevent" id="inner_vevent5"> 1.67 + <span class="summary">Inner Event</span> 1.68 + </div> 1.69 + </a> 1.70 + 1.71 + <div class="vcard" id="value_test"> 1.72 + <span class="fn"> 1.73 + <span class="value">John</span> 1.74 + <span><span class="value">Middle</span></span> 1.75 + <span class="value">Doe</span> 1.76 + </span> 1.77 + </div> 1.78 + 1.79 + <div class="vcard" id="nested_vcard1"> 1.80 + <div class="agent vcard" id="nested_vcard2"> 1.81 + <div class="agent vcard" id="nested_vcard3"> 1.82 + <span class="fn">Bob Smith</span> 1.83 + <span class="title">Office Assistant</span> 1.84 + </div> 1.85 + <span class="fn">Jack Jones</span> 1.86 + <span class="title">Executive Assistant</span> 1.87 + </div> 1.88 + <span class="fn">John Doe</span> 1.89 + <span class="title">CEO</span> 1.90 + </div> 1.91 + 1.92 + <div class="vevent" id="date_vcal"> 1.93 + <span class="description">Mozilla's Birthday</span> 1.94 + <span class="dtstart">1998-01-22</span> 1.95 + </div> 1.96 + 1.97 + <div class="vevent" id="vcal_vcard"> 1.98 + <div class="vcard"> 1.99 + <span class="description"> 1.100 + <span class="fn org">Mozilla</span>'s Birthday 1.101 + </span> 1.102 + </div> 1.103 + <span class="dtstart">1998-01-22</span> 1.104 + </div> 1.105 + 1.106 + <div id="geo_vcard" class="vcard"> 1.107 + <span class="fn">John Doe</span> 1.108 + <span class="geo" id="ill_geo5">abc;def</span> 1.109 + </div> 1.110 + <div id="loc_vevent" class="vevent"> 1.111 + <span class="summary">Party</span> 1.112 + <span class="location">The White House</span> 1.113 + </div> 1.114 + <div id="loc_vcard_vevent" class="vevent"> 1.115 + <span class="summary">Party</span> 1.116 + <span class="location vcard"><span class="fn">The White House</span></span> 1.117 + </div> 1.118 + 1.119 + <div class="vcard" id="valuespace_1"> 1.120 + <span class="fn"> 1.121 + <span class="value">John</span> 1.122 + <span class="value"> </span> 1.123 + <span class="value">Doe</span> 1.124 + </span> 1.125 + </div> 1.126 + <div class="vcard" id="valuespace_2"> 1.127 + <span class="fn"> 1.128 + <span class="value">John</span> 1.129 + <span class="value"> </span> 1.130 + <span class="value">Doe</span> 1.131 + </span> 1.132 + </div> 1.133 + <div class="vcard" id="valuespace_3"> 1.134 + <span class="fn"> 1.135 + <span class="value"> John</span> 1.136 + <span class="value"> </span> 1.137 + <span class="value">Doe </span> 1.138 + </span> 1.139 + </div> 1.140 + <div class="vcard" id="valuespace_4"> 1.141 + <span class="fn"> 1.142 + <span class="value">John </span> 1.143 + <span class="value"> Doe</span> 1.144 + </span> 1.145 + </div> 1.146 + <div class="vcard" id="valuespace_5"> 1.147 + <span class="fn"> 1.148 + <span class="value"> John</span> 1.149 + <span class="value"> Doe </span> 1.150 + </span> 1.151 + </div> 1.152 + <div class="vcard" id="valuespace_6"> 1.153 + <span class="fn"> 1.154 + <span class="value">John 1.155 + </span> 1.156 + <span class="value"> 1.157 + Doe</span> 1.158 + </span> 1.159 + </div> 1.160 + <div class="vcard" id="valuespace_7"> 1.161 + <span class="fn"> 1.162 + <span class="value">John</span> 1.163 + <span class="value">Doe</span> 1.164 + </span> 1.165 + </div> 1.166 + 1.167 + <span id="austin" class="location">Austin - Sixth Street</span> 1.168 + <table summary="Timetable"> 1.169 + <thead> 1.170 + <tr> 1.171 + <th id="location-1"><a href="#austin" class="include"></a>New York</th> 1.172 + </tr> 1.173 + </thead> 1.174 + <tbody> 1.175 + <tr> 1.176 + <th id="time-1"><abbr title="2008-01-01" class="dtstart">Jan 1, 2008</abbr></th> 1.177 + <td id="nested_header_include" class="vevent" headers="time-1 location-1"><div class="summary">New Years Party</div></td> 1.178 + </tr> 1.179 + </tbody> 1.180 + </table> 1.181 + 1.182 +</div> 1.183 + 1.184 +<div id="float_test"> 1.185 + <div class="vcard floated" id="one"> 1.186 + <div class="fn">John Doe</div> 1.187 + </div> 1.188 + <div class="vcard" id="two"> 1.189 + <div class="fn">John Smith</div> 1.190 + </div> 1.191 +</div> 1.192 + 1.193 +<pre id="test"> 1.194 +<script class="testbody" type="application/javascript;version=1.8"> 1.195 + 1.196 +test_Microformats(); 1.197 +test_hCard(); 1.198 + 1.199 +function test_Microformats() { 1.200 + let { Microformats, hCard, hCalendar } = SpecialPowers.Cu.import("resource://gre/modules/Microformats.js"); 1.201 + 1.202 + ok(Microformats, "Check global access to Microformats"); 1.203 + var hCards = Microformats.get("hCard", document.getElementById("test_1"), {showHidden: true}); 1.204 + is(hCards.length, 1, "Check Microformats.get"); 1.205 + is(Microformats.count("hCard", document.getElementById("test_1"), {showHidden: true}), 1, "Check Microformats.count"); 1.206 + is(Microformats.count("hCard", document.getElementById("test_1"), {showHidden: true, debug: true}), 2, "Check Microformats.count (debug)"); 1.207 + ok(Microformats.isMicroformat(document.getElementById("vcard1_node")), "Check isMicroformat"); 1.208 + is(SpecialPowers.unwrap(Microformats.getParent(document.getElementById("vcard1_org"))), document.getElementById("vcard1_node"), "Check getParent"); 1.209 + is(Microformats.getNamesFromNode(document.getElementById("vcard1_node")), "hCard", "Check getNamesFromNode"); 1.210 + 1.211 + var hCardArray1 = Microformats.get("hCard", document.getElementById("test_1"), {showHidden: true}); 1.212 + is(hCardArray1.length, 1, "Check showHidden=true"); 1.213 + var hCardArray2 = Microformats.get("hCard", document.getElementById("test_1"), {showHidden: false}); 1.214 + is(hCardArray2.length, 0, "Check showHidden=false"); 1.215 + 1.216 + var inner_parent = Microformats.getParent(document.getElementById("inner_vcard")); 1.217 + is(inner_parent.id, "middle_vcard", "GetParent gets correct ancestor 1"); 1.218 + 1.219 + var inner_parent = Microformats.getParent(document.getElementById("inner_vcard2")); 1.220 + is(inner_parent.id, "middle_vevent2", "GetParent gets correct ancestor 2"); 1.221 + 1.222 + var inner_parent = Microformats.getParent(document.getElementById("middle_vevent2")); 1.223 + is(inner_parent.id, "outer_vcard2", "GetParent gets correct ancestor 2a"); 1.224 + 1.225 + var inner_parent = Microformats.getParent(document.getElementById("inner_vevent3")); 1.226 + is(inner_parent.id, "middle_vcard3", "GetParent gets correct ancestor 3"); 1.227 + 1.228 + var inner_parent = Microformats.getParent(document.getElementById("middle_vcard3")); 1.229 + is(inner_parent.id, "outer_vevent3", "GetParent gets correct ancestor 3a"); 1.230 + 1.231 + var inner_parent = Microformats.getParent(document.getElementById("inner_tag4")); 1.232 + is(inner_parent.id, "outer_vevent4", "GetParent gets correct ancestor 4"); 1.233 + 1.234 + var inner_parent = Microformats.getParent(document.getElementById("inner_vevent5")); 1.235 + is(inner_parent.id, "outer_tag5", "GetParent gets correct ancestor 5"); 1.236 + 1.237 + var valueCard = new hCard(document.getElementById("value_test")); 1.238 + 1.239 + is(valueCard.fn, "JohnDoe", "value_test"); 1.240 + 1.241 + var nestCard1 = new hCard(document.getElementById("nested_vcard1")); 1.242 + var nestCard2 = new hCard(document.getElementById("nested_vcard2")); 1.243 + var nestCard3 = new hCard(document.getElementById("nested_vcard3")); 1.244 + 1.245 + is(nestCard1.fn, "John Doe", "nesting (fn) 1"); 1.246 + is(nestCard1.title, "CEO", "nesting (title) 1"); 1.247 + is(nestCard2.fn, "Jack Jones", "nesting (fn) 2"); 1.248 + is(nestCard2.title, "Executive Assistant", "nesting (title) 2"); 1.249 + is(nestCard3.fn, "Bob Smith", "nesting (fn) 3"); 1.250 + is(nestCard3.title, "Office Assistant", "nesting (title) 3"); 1.251 + is(nestCard1.agent[0].agent[0].fn, "Bob Smith", "nesting all"); 1.252 + 1.253 + var dateCal = new hCalendar(document.getElementById("date_vcal")); 1.254 + jsdate = Microformats.dateFromISO8601(dateCal.dtstart); 1.255 + origdate = Microformats.iso8601FromDate(jsdate, true); 1.256 + is(dateCal.dtstart, origdate, "date round trip"); 1.257 + 1.258 + var dateCal = new hCalendar(document.getElementById("vcal_vcard")); 1.259 + is(dateCal.description, "Mozilla's Birthday", "vcard in vcal"); 1.260 + 1.261 + is(Microformats.count("hCard", document.getElementById("float_test")), 2, "Check Microformats.count for floated div"); 1.262 + 1.263 + var hcard = new hCard(document.getElementById("geo_vcard")); 1.264 + ok(!hcard.geo, "Check if invalid geo does not exist"); 1.265 + var hcal = new hCalendar(document.getElementById("loc_vevent")); 1.266 + is(hcal.location, "The White House", "Check if non vcard location works"); 1.267 + var hcal = new hCalendar(document.getElementById("loc_vcard_vevent")); 1.268 + is(hcal.location.fn, "The White House", "Check if vcard location works"); 1.269 + 1.270 + var nestedCal = new hCalendar(document.getElementById("nested_header_include")); 1.271 + is(nestedCal.dtstart, "2008-01-01", "nested_header_include - dtstart"); 1.272 + is(nestedCal.location, "Austin - Sixth Street", "nested_header_include - location"); 1.273 + is(nestedCal.summary, "New Years Party", "nested_header_include - summary"); 1.274 + 1.275 + var valueCard = new hCard(document.getElementById("valuespace_1")); 1.276 + is(valueCard.fn, "John Doe", "valuespace_1"); 1.277 + var valueCard = new hCard(document.getElementById("valuespace_2")); 1.278 + is(valueCard.fn, "John Doe", "valuespace_2"); 1.279 + var valueCard = new hCard(document.getElementById("valuespace_3")); 1.280 + is(valueCard.fn, "John Doe", "valuespace_3"); 1.281 + var valueCard = new hCard(document.getElementById("valuespace_4")); 1.282 + is(valueCard.fn, "John Doe", "valuespace_4"); 1.283 + var valueCard = new hCard(document.getElementById("valuespace_5")); 1.284 + is(valueCard.fn, "John Doe", "valuespace_5"); 1.285 + var valueCard = new hCard(document.getElementById("valuespace_6")); 1.286 + is(valueCard.fn, "John Doe", "valuespace_6"); 1.287 + var valueCard = new hCard(document.getElementById("valuespace_7")); 1.288 + is(valueCard.fn, "JohnDoe", "valuespace_7"); 1.289 + 1.290 +} 1.291 + 1.292 +function test_hCard() { 1.293 + var Microformats = SpecialPowers.Cu.import("resource://gre/modules/Microformats.js").Microformats; 1.294 + 1.295 + var hCards = Microformats.get("hCard", document.getElementById("test_1"), {showHidden: true}); 1.296 + 1.297 + is(hCards[0].fn, "Tantek Çelik", "Check for fn on test vcard"); 1.298 + is(hCards[0].url, "http://tantek.com/", "Check for url on test vcard"); 1.299 +} 1.300 + 1.301 +</script> 1.302 +</pre> 1.303 +</body> 1.304 +</html>