| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755 |
- var level3 = require("../../lib/jsdom/level3").dom.level3;
- var getImplementation = function() {
- var doc = new level3.core.Document();
- return doc.implementation;
- };
- function DOMErrorMonitor() {
- this.allErrors = new Array();
- }
- DOMErrorMonitor.prototype.handleError = function(err) {
- errorMonitor.allErrors[errorMonitor.allErrors.length] = new DOMErrorImpl(err);
- }
- DOMErrorMonitor.prototype.assertLowerSeverity = function(test, id, severity) {
- var i;
- for (i = 0; i < this.allErrors.length; i++) {
- if (this.allErrors[i].severity >= severity) {
- test.strictEqual(severity - 1, this.allErrors[i].severity, id);
- }
- }
- }
- // XXX: this is horrible!
- function getResourceURI() {
- return "";
- }
- function load() {
- return new level3.core.Document();
- }
- exports.tests = {
- /**
- * Changes certifiedText on LSInput.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-DOMImplementationLS-createLSInput
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSInput-certifiedText
- */
- CertifiedText1 : function (test) {
- var domImpl = getImplementation();
- var input = domImpl.createLSInput();
- var certifiedText = input.certifiedText;
- test.ok(certifiedText === false, "initiallyFalse");
- input.certifiedText = true;
- certifiedText = input.certifiedText;
- test.ok(certifiedText, "setTrue");
- input.certifiedText = false;
- certifiedText = input.certifiedText;
- test.ok(certifiedText === false, "setFalse");
- test.done();
- },
- /**
- * Writes a document to a character stream and rereads the document.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-DOMImplementationLS-createLSInput
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSInput-characterStream
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSOutput-characterStream
- */
- CharacterStream1 : function (test) {
- var success, testDoc, domImpl, output, serializer, writer, checkWriter, reader, checkReader, status, input, parser, checkDoc, docElem, docElemName, NULL_SCHEMA_TYPE = null, testDocRef = null;
- if (typeof(this.testDoc) != 'undefined') {
- testDocRef = this.testDoc;
- }
- testDoc = load(testDocRef, "testDoc", "test0");
- domImpl = getImplementation();
- output = domImpl.createLSOutput();
- checkWriter = output.characterStream;
- test.ok(checkWriter === null, "writerInitiallyNull");
- output.characterStream = writer;
- checkWriter = output.characterStream;
- test.ok(checkWriter !== null, "writerNotNull");
- serializer = domImpl.createLSSerializer();
- status = serializer.write(testDoc,output);
- test.ok(status, "writeStatus");
- reader = writer;
- input = domImpl.createLSInput();
- checkReader = input.characterStream;
- test.ok(checkReader === null, "readerInitiallyNull");
- input.characterStream = reader;
- checkReader = input.characterStream;
- test.ok(checkReader !== null, "readerNotNull");
- parser = domImpl.createLSParser(1,NULL_SCHEMA_TYPE);
- checkDoc = parser.parse(input);
- test.ok(checkDoc !== null, "checkNotNull");
- docElem = checkDoc.documentElement;
- docElemName = docElem.nodeName;
- test.strictEqual("elt0", docElemName, "checkDocElemName");
- test.done();
- },
- /**
- * Parses a document twice, once using a filter to reject all elt1 elements.
- * @author Jeroen van Rotterdam
- * @author X-Hive Corporation
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-filter
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParserFilter-startElement
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParserFilter-whatToShow
- */
- DOMBuilderFilterTest0 : function (test) {
-
- // TODO: finish the implementation of this filter
- function LSParserFilterN10027() {}
- var
- success, myfilter = new LSParserFilterN10027(), list, count, resourceURI,
- implementation, lsImplementation, inputSource, document, writer, builder,
- MODE_SYNCHRONOUS = 1, MODE_ASYNCHRONOUS = 2,
- DTD_SCHEMATYPE = "http://www.w3.org/TR/REC-xml",
- SCHEMA_SCHEMATYPE = "http://www.w3.org/2001/XMLSchema",
- NULL_SCHEMATYPE = null, ACTION_REPLACE_CHILDREN = 2,
- ACTION_APPEND_AS_CHILDREN = 1, ACTION_INSERT_AFTER = 4, ACTION_INSERT_BEFORE = 3, ACTION_REPLACE = 5, TEST0 = "test0", TEST1 = "test1", TEST2 = "test2", TEST3 = "test3", TEST4 = "test4", TEST5 = "test5", TEST6 = "test6", TEST7 = "test7", TESTPDF = "testpdf";
- implementation = getImplementation();
- lsImplementation = implementation;
- builder = lsImplementation.createLSParser(MODE_SYNCHRONOUS,NULL_SCHEMATYPE);
- writer = lsImplementation.createLSSerializer();
- inputSource = lsImplementation.createLSInput();
- resourceURI = getResourceURI(TEST1);
- document = builder.parseURI(resourceURI);
- list = document.getElementsByTagName("elt1");
- count = list.length;
- test.strictEqual(1, count, "filter_count_1");
- builder.filter = myfilter;
- document = builder.parseURI(resourceURI);
- test.ok(document !== null, "secondParseDocumentNotNull");
- list = document.getElementsByTagName("elt1");
- count = list.length;
- test.strictEqual(0, count, "filter_count_2");
- test.done();
- },
- /**
- * DOM Builder Filter test, test whether incorrect node types are never passed to the filter.
- * @author Jeroen van Rotterdam
- * @author X-Hive Corporation
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-Interfaces-LSParserFilter
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-filter
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParserFilter-acceptNode
- */
- DOMBuilderFilterTest1 : function (test) {
- function LSParserFilterN1002B() {}
- var success, resourceURI, myfilter = new LSParserFilterN1002B(), implementation, lsImplementation, inputSource, document, writer, builder, MODE_SYNCHRONOUS = 1, MODE_ASYNCHRONOUS = 2, DTD_SCHEMATYPE = "http://www.w3.org/TR/REC-xml", SCHEMA_SCHEMATYPE = "http://www.w3.org/2001/XMLSchema", NULL_SCHEMATYPE = null, ACTION_REPLACE_CHILDREN = 2, ACTION_APPEND_AS_CHILDREN = 1, ACTION_INSERT_AFTER = 4, ACTION_INSERT_BEFORE = 3, ACTION_REPLACE = 5, TEST0 = "test0", TEST1 = "test1", TEST2 = "test2", TEST3 = "test3", TEST4 = "test4", TEST5 = "test5", TEST6 = "test6", TEST7 = "test7", TESTPDF = "testpdf";
- implementation = getImplementation();
- lsImplementation = implementation;
- builder = lsImplementation.createLSParser(MODE_SYNCHRONOUS,NULL_SCHEMATYPE);
- writer = lsImplementation.createLSSerializer();
- inputSource = lsImplementation.createLSInput();
- builder.filter = myfilter;
- resourceURI = getResourceURI(TEST7);
- document = builder.parseURI(resourceURI);
- test.ok(document !== null, "documentNotNull");
- test.done();
- },
- /**
- * Checks that attributes are visible when elements are passed to LSParserFilter.startElement.
- * @author Jeroen van Rotterdam
- * @author X-Hive Corporation
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-Interfaces-LSParserFilter
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParserFilter-startElement
- */
- DOMBuilderFilterTest2 : function (test) {
- function LSParserFilterN10028() {}
- var success, resourceURI;
- myfilter = new LSParserFilterN10028();
- var implementation, lsImplementation, inputSource, document, writer, builder, MODE_SYNCHRONOUS = 1, MODE_ASYNCHRONOUS = 2, DTD_SCHEMATYPE = "http://www.w3.org/TR/REC-xml", SCHEMA_SCHEMATYPE = "http://www.w3.org/2001/XMLSchema", NULL_SCHEMATYPE = null;
- var ACTION_REPLACE_CHILDREN = 2, ACTION_APPEND_AS_CHILDREN = 1, ACTION_INSERT_AFTER = 4, ACTION_INSERT_BEFORE = 3, ACTION_REPLACE = 5, TEST0 = "test0", TEST1 = "test1", TEST2 = "test2", TEST3 = "test3", TEST4 = "test4", TEST5 = "test5", TEST6 = "test6", TEST7 = "test7", TESTPDF = "testpdf";
- implementation = getImplementation();
- lsImplementation = implementation;
- builder = lsImplementation.createLSParser(MODE_SYNCHRONOUS,NULL_SCHEMATYPE);
- writer = lsImplementation.createLSSerializer();
- inputSource = lsImplementation.createLSInput();
- builder.filter = myfilter;
- resourceURI = getResourceURI(TEST3);
- document = builder.parseURI(resourceURI);
- test.done();
- },
- /**
- * Parses a document, writes it to string, parses the string and checks that the number of elt1 elements is as expected.
- * @author Jeroen van Rotterdam
- * @author X-Hive Corporation
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parse
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-writeToString
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSInput-stringData
- */
- DOMBuilderTest0 : function (test) {
- var success, elementList, stringDoc, resourceURI, implementation, lsImplementation, inputSource, document, writer, builder, MODE_SYNCHRONOUS = 1, MODE_ASYNCHRONOUS = 2, DTD_SCHEMATYPE = "http://www.w3.org/TR/REC-xml", SCHEMA_SCHEMATYPE = "http://www.w3.org/2001/XMLSchema", NULL_SCHEMATYPE = null;
- var ACTION_REPLACE_CHILDREN = 2, ACTION_APPEND_AS_CHILDREN = 1, ACTION_INSERT_AFTER = 4, ACTION_INSERT_BEFORE = 3, ACTION_REPLACE = 5, TEST0 = "test0", TEST1 = "test1", TEST2 = "test2", TEST3 = "test3", TEST4 = "test4", TEST5 = "test5", TEST6 = "test6", TEST7 = "test7", TESTPDF = "testpdf";
- implementation = getImplementation();
- lsImplementation = implementation;
- builder = lsImplementation.createLSParser(MODE_SYNCHRONOUS,NULL_SCHEMATYPE);
- writer = lsImplementation.createLSSerializer();
- inputSource = lsImplementation.createLSInput();
- resourceURI = getResourceURI(TEST0);
- document = builder.parseURI(resourceURI);
- elementList = document.getElementsByTagName("elt1");
- test.ok(2 === elementList.length, "count_elt1_1");
- stringDoc = writer.writeToString(document);
- inputSource.stringData = stringDoc;
- document = builder.parse(inputSource);
- elementList = document.getElementsByTagName("elt1");
- test.ok(2 === elementList.length, "count_elt1_2");
- test.done();
- },
- /**
- * Uses LSParser.parseWithContext to replace a node in an existing document.
- * @author Jeroen van Rotterdam
- * @author X-Hive Corporation
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseWithContext
- */
- DOMBuilderTest1 : function (test) {
- var success, elementList, stringDoc, firstElt2, returnNode, resourceURI, implementation, lsImplementation, inputSource, document, writer, builder, MODE_SYNCHRONOUS = 1, MODE_ASYNCHRONOUS = 2, DTD_SCHEMATYPE = "http://www.w3.org/TR/REC-xml", SCHEMA_SCHEMATYPE = "http://www.w3.org/2001/XMLSchema", NULL_SCHEMATYPE = null;
- var ACTION_REPLACE_CHILDREN = 2, ACTION_APPEND_AS_CHILDREN = 1, ACTION_INSERT_AFTER = 4, ACTION_INSERT_BEFORE = 3, ACTION_REPLACE = 5, TEST0 = "test0", TEST1 = "test1", TEST2 = "test2", TEST3 = "test3", TEST4 = "test4", TEST5 = "test5", TEST6 = "test6", TEST7 = "test7", TESTPDF = "testpdf";
- implementation = getImplementation();
- lsImplementation = implementation;
- builder = lsImplementation.createLSParser(MODE_SYNCHRONOUS,NULL_SCHEMATYPE);
- writer = lsImplementation.createLSSerializer();
- inputSource = lsImplementation.createLSInput();
- resourceURI = getResourceURI(TEST0);
- document = builder.parseURI(resourceURI);
- elementList = document.getElementsByTagName("elt2");
- test.ok(1 === elementList.length, "elt2Count_1");
- firstElt2 = elementList.item(0);
- resourceURI = getResourceURI(TEST2);
- inputSource.systemId = resourceURI;
- try {
- returnNode = builder.parseWithContext(inputSource,firstElt2,ACTION_REPLACE);
- } catch (ex) {
- if (typeof(ex.code) != 'undefined') {
- switch(ex.code) {
- case /* NOT_SUPPORTED_ERR */ 9 :
- return ;
- default:
- throw ex;
- }
- } else {
- throw ex;
- }
- }
- elementList = document.getElementsByTagName("elt2");
- test.ok(1 === elementList.length, "elt2Count_2");
- elementList = document.getElementsByTagName("elt3");
- test.ok(1 === elementList.length, "elt3Count");
- test.done();
- },
- /**
- * Uses LSParser.parseWithContext to append a document as a child of an existing node.
- * @author Jeroen van Rotterdam
- * @author X-Hive Corporation
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseWithContext
- */
- DOMBuilderTest2 : function (test) {
- var success, elementList, stringDoc, firstElt0, returnNode, resourceURI, implementation, lsImplementation, inputSource, document, writer, builder, MODE_SYNCHRONOUS = 1, MODE_ASYNCHRONOUS = 2, DTD_SCHEMATYPE = "http://www.w3.org/TR/REC-xml", SCHEMA_SCHEMATYPE = "http://www.w3.org/2001/XMLSchema", NULL_SCHEMATYPE = null;
- var ACTION_REPLACE_CHILDREN = 2, ACTION_APPEND_AS_CHILDREN = 1, ACTION_INSERT_AFTER = 4, ACTION_INSERT_BEFORE = 3, ACTION_REPLACE = 5, TEST0 = "test0", TEST1 = "test1", TEST2 = "test2", TEST3 = "test3", TEST4 = "test4", TEST5 = "test5", TEST6 = "test6", TEST7 = "test7", TESTPDF = "testpdf";
- implementation = getImplementation();
- lsImplementation = implementation;
- builder = lsImplementation.createLSParser(MODE_SYNCHRONOUS,NULL_SCHEMATYPE);
- writer = lsImplementation.createLSSerializer();
- inputSource = lsImplementation.createLSInput();
- resourceURI = getResourceURI(TEST0);
- document = builder.parseURI(resourceURI);
- elementList = document.getElementsByTagName("elt0");
- test.ok(1 === elementList.length, "count_elt0");
- firstElt0 = elementList.item(0);
- resourceURI = getResourceURI(TEST2);
- inputSource.systemId = resourceURI;
- try {
- returnNode = builder.parseWithContext(inputSource,firstElt0,ACTION_APPEND_AS_CHILDREN);
- } catch (ex) {
- if (typeof(ex.code) != 'undefined') {
- switch(ex.code) {
- case /* NOT_SUPPORTED_ERR */ 9 :
- return ;
- default:
- throw ex;
- }
- } else {
- throw ex;
- }
- }
- elementList = document.getElementsByTagName("elt2");
- test.ok(2 === elementList.length, "count_elt2");
- elementList = document.getElementsByTagName("elt3");
- test.ok(1 === elementList.length, "count_elt3");
- test.done();
- },
- /**
- * Uses LSParser.parseWithContext to insert a document after a node.
- * @author Jeroen van Rotterdam
- * @author X-Hive Corporation
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseWithContext
- */
- DOMBuilderTest3 : function (test) {
- var success, elementList, stringDoc, firstElt1, secondElt1, thirdElt, nodeName, returnNode, resourceURI, implementation, lsImplementation, inputSource, document, writer, builder, MODE_SYNCHRONOUS = 1, MODE_ASYNCHRONOUS = 2, DTD_SCHEMATYPE = "http://www.w3.org/TR/REC-xml", SCHEMA_SCHEMATYPE = "http://www.w3.org/2001/XMLSchema", NULL_SCHEMATYPE = null;
- var ACTION_REPLACE_CHILDREN = 2, ACTION_APPEND_AS_CHILDREN = 1, ACTION_INSERT_AFTER = 4, ACTION_INSERT_BEFORE = 3, ACTION_REPLACE = 5, TEST0 = "test0", TEST1 = "test1", TEST2 = "test2", TEST3 = "test3", TEST4 = "test4", TEST5 = "test5", TEST6 = "test6", TEST7 = "test7", TESTPDF = "testpdf";
- implementation = getImplementation();
- lsImplementation = implementation;
- builder = lsImplementation.createLSParser(MODE_SYNCHRONOUS,NULL_SCHEMATYPE);
- writer = lsImplementation.createLSSerializer();
- inputSource = lsImplementation.createLSInput();
- resourceURI = getResourceURI(TEST0);
- document = builder.parseURI(resourceURI);
- elementList = document.getElementsByTagName("elt1");
- test.ok(2 === elementList.length, "count_elt1");
- firstElt1 = elementList.item(0);
- secondElt1 = firstElt1.nextSibling;
- nodeName = secondElt1.nodeName;
- test.strictEqual("elt1", nodeName, "nextSibling_before_add");
- resourceURI = getResourceURI(TEST2);
- inputSource.systemId = resourceURI;
- try {
- returnNode = builder.parseWithContext(inputSource,firstElt1,ACTION_INSERT_AFTER);
- } catch (ex) {
- if (typeof(ex.code) != 'undefined') {
- switch(ex.code) {
- case /* NOT_SUPPORTED_ERR */ 9 :
- return ;
- default:
- throw ex;
- }
- } else {
- throw ex;
- }
- }
- secondElt1 = firstElt1.nextSibling;
- nodeName = secondElt1.nodeName;
- test.strictEqual("elt2", nodeName, "nextSibling_after_add");
- thirdElt = secondElt1.nextSibling;
- nodeName = thirdElt.nodeName;
- test.strictEqual("elt1", nodeName, "nextSiblings_sibling_after_add");
- test.done();
- },
- /**
- * Uses LSParser.parseWithContext to insert a document before a node.
- * @author Jeroen van Rotterdam
- * @author X-Hive Corporation
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseWithContext
- */
- DOMBuilderTest4 : function (test) {
- var success, elementList, stringDoc, firstElt1, secondElt1, thirdElt, nodeName, returnNode, resourceURI, implementation, lsImplementation, inputSource, document, writer, builder, MODE_SYNCHRONOUS = 1, MODE_ASYNCHRONOUS = 2, DTD_SCHEMATYPE = "http://www.w3.org/TR/REC-xml", SCHEMA_SCHEMATYPE = "http://www.w3.org/2001/XMLSchema", NULL_SCHEMATYPE = null;
- var ACTION_REPLACE_CHILDREN = 2, ACTION_APPEND_AS_CHILDREN = 1, ACTION_INSERT_AFTER = 4, ACTION_INSERT_BEFORE = 3, ACTION_REPLACE = 5, TEST0 = "test0", TEST1 = "test1", TEST2 = "test2", TEST3 = "test3", TEST4 = "test4", TEST5 = "test5", TEST6 = "test6", TEST7 = "test7", TESTPDF = "testpdf";
- implementation = getImplementation();
- lsImplementation = implementation;
- builder = lsImplementation.createLSParser(MODE_SYNCHRONOUS,NULL_SCHEMATYPE);
- writer = lsImplementation.createLSSerializer();
- inputSource = lsImplementation.createLSInput();
- resourceURI = getResourceURI(TEST0);
- document = builder.parseURI(resourceURI);
- elementList = document.getElementsByTagName("elt1");
- test.ok(2 === elementList.length, "count_elt1");
- secondElt1 = elementList.item(1);
- firstElt1 = secondElt1.previousSibling;
- nodeName = firstElt1.nodeName;
- test.strictEqual("elt1", nodeName, "previousSibling_before_insert_before");
- resourceURI = getResourceURI(TEST2);
- inputSource.systemId = resourceURI;
- try {
- returnNode = builder.parseWithContext(inputSource,secondElt1,ACTION_INSERT_BEFORE);
- } catch (ex) {
- if (typeof(ex.code) != 'undefined') {
- switch(ex.code) {
- case /* NOT_SUPPORTED_ERR */ 9 :
- return ;
- default:
- throw ex;
- }
- } else {
- throw ex;
- }
- }
- firstElt1 = secondElt1.previousSibling;
- nodeName = firstElt1.nodeName;
- test.strictEqual("elt2", nodeName, "previousSibling_after_insert_before");
- test.done();
- }, /**
- * supported-media-types-only is set to true if supported and
- an XML file with an unsupported media type from an HTTP server
- on the local machine is retrieved.
- * @author Jeroen van Rotterdam
- * @author X-Hive Corporation
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#parameter-supported-media-types-only
- */
- DOMBuilderTest5 : function (test) {
- var success, elementList, stringDoc, configuration, ERROR_HANDLER = "error-handler", SUPPORTED_MEDIATYPES_ONLY = "supported-media-types-only", mediaTypesSupported, resourceURI;
- function DOMErrorHandlerN10042() {};
- var errorHandler = new DOMErrorHandlerN10042();
- var implementation, lsImplementation, inputSource, document, writer, builder, MODE_SYNCHRONOUS = 1, MODE_ASYNCHRONOUS = 2, DTD_SCHEMATYPE = "http://www.w3.org/TR/REC-xml", SCHEMA_SCHEMATYPE = "http://www.w3.org/2001/XMLSchema", NULL_SCHEMATYPE = null;
- var ACTION_REPLACE_CHILDREN = 2, ACTION_APPEND_AS_CHILDREN = 1, ACTION_INSERT_AFTER = 4, ACTION_INSERT_BEFORE = 3, ACTION_REPLACE = 5, TEST0 = "test0", TEST1 = "test1", TEST2 = "test2", TEST3 = "test3", TEST4 = "test4", TEST5 = "test5", TEST6 = "test6", TEST7 = "test7", TESTPDF = "testpdf";
- implementation = getImplementation();
- lsImplementation = implementation;
- builder = lsImplementation.createLSParser(MODE_SYNCHRONOUS,NULL_SCHEMATYPE);
- writer = lsImplementation.createLSSerializer();
- inputSource = lsImplementation.createLSInput();
- configuration = builder.domConfig;
- resourceURI = getResourceURI(TESTPDF);
- document = builder.parseURI(resourceURI);
- test.ok(document !== null, "testpdf_parsed");
- mediaTypesSupported = configuration.canSetParameter(SUPPORTED_MEDIATYPES_ONLY,true);
- if(
- mediaTypesSupported
- ) {
- configuration.setParameter(SUPPORTED_MEDIATYPES_ONLY, true);
- configuration.setParameter(ERROR_HANDLER, errorHandler.handleError);
- {
- success = false;
- try {
- document = builder.parseURI(resourceURI);
- }
- catch(ex) {
- success = (typeof(ex.code) != 'undefined' && ex.code == 81);
- }
- test.ok(success, "throw_PARSE_ERR");
- }
- }
- test.done();
- },
- /**
- * Parses from an uninitialized LSInput.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parse
- */
- DOMBuilderTest6 : function (test) {
- var success, domImpl, parser, NULL_SCHEMA_TYPE = null;
- var input, document;
- domImpl = getImplementation();
- parser = domImpl.createLSParser(1,NULL_SCHEMA_TYPE);
- input = domImpl.createLSInput();
- {
- success = false;
- try {
- document = parser.parse(input);
- }
- catch(ex) {
- success = (typeof(ex.code) != 'undefined' && ex.code == 81);
- }
- test.ok(success, "throw_PARSE_ERR");
- }
- test.done();
- },
- /**
- * Parses an unresolvable System ID.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parse
- */
- DOMBuilderTest8 : function (test) {
- var success, domImpl, parser, NULL_SCHEMA_TYPE = null;
- var input, document, resourceURI;
- domImpl = getImplementation();
- parser = domImpl.createLSParser(1,NULL_SCHEMA_TYPE);
- input = domImpl.createLSInput();
- resourceURI = getResourceURI("test0");
- resourceURI = resourceURI + "_missing";
- input.systemId = resourceURI;
- {
- success = false;
- try {
- document = parser.parse(input);
- }
- catch(ex) {
- success = (typeof(ex.code) != 'undefined' && ex.code == 81);
- }
- test.ok(success, "throw_PARSE_ERR");
- }
- test.done();
- },
- /**
- * Checks parameters on call to resolve resource are
- as expected and redirects to parse a different resource.
- * @author Jeroen van Rotterdam
- * @author X-Hive Corporation
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSResourceResolver-resolveResource
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#parameter-resource-resolver
- */
- DOMEntityResolverTest0 : function (test) {
- var success, resourceURI, elt2List, elt2Count;
- function LSResourceResolverN10030() {}
- myentityresolver = new LSResourceResolverN10030();
- var configuration, implementation, lsImplementation, inputSource, document, writer, builder, MODE_SYNCHRONOUS = 1, MODE_ASYNCHRONOUS = 2, DTD_SCHEMATYPE = "http://www.w3.org/TR/REC-xml", SCHEMA_SCHEMATYPE = "http://www.w3.org/2001/XMLSchema", NULL_SCHEMATYPE = null;
- var ACTION_REPLACE_CHILDREN = 2, ACTION_APPEND_AS_CHILDREN = 1, ACTION_INSERT_AFTER = 4, ACTION_INSERT_BEFORE = 3, ACTION_REPLACE = 5, TEST0 = "test0", TEST1 = "test1", TEST2 = "test2", TEST3 = "test3", TEST4 = "test4", TEST5 = "test5", TEST6 = "test6", TEST7 = "test7", TESTPDF = "testpdf";
- implementation = getImplementation();
- lsImplementation = implementation;
- builder = lsImplementation.createLSParser(MODE_SYNCHRONOUS,NULL_SCHEMATYPE);
- writer = lsImplementation.createLSSerializer();
- inputSource = lsImplementation.createLSInput();
- configuration = builder.domConfig;
- configuration.setParameter("resource-resolver", myentityresolver);
- resourceURI = getResourceURI(TEST4);
- document = builder.parseURI(resourceURI);
- elt2List = document.getElementsByTagName("elt2");
- elt2Count = elt2List.length;
- test.strictEqual(1, elt2Count, "elt2Count");
- test.done();
- },
- /**
- * Tests a custom entity resolver. The entity resolver creates an input source that supplies 2 elt1 elements. The original entity reference referes to 1 elt1
- * @author Jeroen van Rotterdam
- * @author X-Hive Corporation
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSResourceResolver-resolveResource
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#parameter-resource-resolver
- */
- DOMEntityResolverTest1 : function (test) {
- var success;
- function LSResourceResolverN10028() {};
- myentityresolver = new LSResourceResolverN10028();
- var elementList, configuration, resourceURI, implementation, lsImplementation, inputSource, document, writer, builder, MODE_SYNCHRONOUS = 1, MODE_ASYNCHRONOUS = 2, DTD_SCHEMATYPE = "http://www.w3.org/TR/REC-xml", SCHEMA_SCHEMATYPE = "http://www.w3.org/2001/XMLSchema", NULL_SCHEMATYPE = null;
- var ACTION_REPLACE_CHILDREN = 2, ACTION_APPEND_AS_CHILDREN = 1, ACTION_INSERT_AFTER = 4, ACTION_INSERT_BEFORE = 3, ACTION_REPLACE = 5, TEST0 = "test0", TEST1 = "test1", TEST2 = "test2", TEST3 = "test3", TEST4 = "test4", TEST5 = "test5", TEST6 = "test6", TEST7 = "test7", TESTPDF = "testpdf";
- implementation = getImplementation();
- lsImplementation = implementation;
- builder = lsImplementation.createLSParser(MODE_SYNCHRONOUS,NULL_SCHEMATYPE);
- writer = lsImplementation.createLSSerializer();
- inputSource = lsImplementation.createLSInput();
- configuration = builder.domConfig;
- resourceURI = getResourceURI(TEST4);
- document = builder.parseURI(resourceURI);
- elementList = document.getElementsByTagName("elt1");
- test.ok(2 === elementList.length, "count_elt1_before_applying_entity_resolver");
- configuration.setParameter("resource-resolver", myentityresolver);
- document = builder.parseURI(resourceURI);
- elementList = document.getElementsByTagName("elt1");
- test.ok(3 === elementList.length, "count_elt1_after_applying_entity_resolver");
- test.done();
- },
- /**
- * Resource resolvers do not participate in resolving the top-level document entity.
- This test attempts to redirect any resource and then checks that the
- requested document was not affected.
- * @author Jeroen van Rotterdam
- * @author X-Hive Corporation
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSResourceResolver-resolveResource
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#parameter-resource-resolver
- */
- DOMEntityResolverTest2 : function (test) {
- function LSResourceResolverN10030(){}
- LSResourceResolverN10030.prototype={};
- var success, resourceURI, docElem, docElemName;
- myentityresolver = new LSResourceResolverN10030();
- var configuration, implementation, lsImplementation, inputSource, document, writer, builder, MODE_SYNCHRONOUS = 1, MODE_ASYNCHRONOUS = 2, DTD_SCHEMATYPE = "http://www.w3.org/TR/REC-xml", SCHEMA_SCHEMATYPE = "http://www.w3.org/2001/XMLSchema", NULL_SCHEMATYPE = null;
- var ACTION_REPLACE_CHILDREN = 2, ACTION_APPEND_AS_CHILDREN = 1, ACTION_INSERT_AFTER = 4, ACTION_INSERT_BEFORE = 3, ACTION_REPLACE = 5, TEST0 = "test0", TEST1 = "test1", TEST2 = "test2", TEST3 = "test3", TEST4 = "test4", TEST5 = "test5", TEST6 = "test6", TEST7 = "test7", TESTPDF = "testpdf";
- implementation = getImplementation();
- lsImplementation = implementation;
- builder = lsImplementation.createLSParser(MODE_SYNCHRONOUS,NULL_SCHEMATYPE);
- writer = lsImplementation.createLSSerializer();
- inputSource = lsImplementation.createLSInput();
- configuration = builder.domConfig;
- configuration.setParameter("resource-resolver", myentityresolver);
- resourceURI = getResourceURI(TEST0);
- document = builder.parseURI(resourceURI);
- test.ok(document !== null, "documentNotNull");
- docElem = document.documentElement;
- docElemName = docElem.nodeName;
- test.strictEqual("elt0", docElemName, "docElemName");
- test.done();
- },
- /**
- * Uses DOMImplementationLS.createLSParser to create a synchronous parser with an unspecified schema type.
- * @author Jeroen van Rotterdam
- * @author X-Hive Corporation
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-DOMImplementationLS-createLSParser
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-async
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-busy
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-filter
- */
- DOMImplementationLSTest0 : function (test) {
- var success, isAsync, isBusy, filter, implementation, lsImplementation, inputSource, document, writer, builder, MODE_SYNCHRONOUS = 1, MODE_ASYNCHRONOUS = 2, DTD_SCHEMATYPE = "http://www.w3.org/TR/REC-xml", SCHEMA_SCHEMATYPE = "http://www.w3.org/2001/XMLSchema", NULL_SCHEMATYPE = null;
- var ACTION_REPLACE_CHILDREN = 2, ACTION_APPEND_AS_CHILDREN = 1, ACTION_INSERT_AFTER = 4, ACTION_INSERT_BEFORE = 3, ACTION_REPLACE = 5, TEST0 = "test0", TEST1 = "test1", TEST2 = "test2", TEST3 = "test3", TEST4 = "test4", TEST5 = "test5", TEST6 = "test6", TEST7 = "test7", TESTPDF = "testpdf";
- implementation = getImplementation();
- lsImplementation = implementation;
- builder = lsImplementation.createLSParser(MODE_SYNCHRONOUS,NULL_SCHEMATYPE);
- test.ok(builder !== null, "builderNotNull");
- isAsync = builder.async;
- test.ok(isAsync === false, "notAsync");
- isBusy = builder.busy;
- test.ok(isBusy === false, "notBusy");
- filter = builder.filter;
- test.ok(filter === null, "nullFilter");
- test.done();
- },
- /**
- * Calls DOMImplementationLS.createLSParser(MODE_ASYNCHRONOUS, null) and
- checks the return value is not null. Only applicable if DOMImplementation.hasFeature("LS-ASync", null) is true.
- * @author Jeroen van Rotterdam
- * @author X-Hive Corporation
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-DOMImplementationLS-createLSParser
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-async
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-busy
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-filter
- */
- DOMImplementationLSTest1 : function (test) {
- var success, isAsync, isBusy, filter, implementation, lsImplementation, inputSource, document, writer, builder, MODE_SYNCHRONOUS = 1, MODE_ASYNCHRONOUS = 2, DTD_SCHEMATYPE = "http://www.w3.org/TR/REC-xml", SCHEMA_SCHEMATYPE = "http://www.w3.org/2001/XMLSchema", NULL_SCHEMATYPE = null;
- var ACTION_REPLACE_CHILDREN = 2, ACTION_APPEND_AS_CHILDREN = 1, ACTION_INSERT_AFTER = 4, ACTION_INSERT_BEFORE = 3, ACTION_REPLACE = 5, TEST0 = "test0", TEST1 = "test1", TEST2 = "test2", TEST3 = "test3", TEST4 = "test4", TEST5 = "test5", TEST6 = "test6", TEST7 = "test7", TESTPDF = "testpdf";
- implementation = getImplementation();
- lsImplementation = implementation;
- builder = lsImplementation.createLSParser(MODE_ASYNCHRONOUS,NULL_SCHEMATYPE);
- test.ok(builder !== null, "builderNotNull");
- isAsync = builder.async;
- test.ok(isAsync, "notAsync");
- isBusy = builder.busy;
- test.ok(isBusy === false, "notBusy");
- filter = builder.filter;
- test.ok(filter === null, "nullFilter");
- test.done();
- },
- /**
- * Calls DOMImplementationLS.createLSParser(MODE_SYNCHRONOUS, "http://www.w3.org/TR/REC-xml") and checks the return value is not null.
- * @author Jeroen van Rotterdam
- * @author X-Hive Corporation
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-DOMImplementationLS-createLSParser
- */
- DOMImplementationLSTest2 : function (test) {
- var success, implementation, lsImplementation, inputSource, document, writer, builder, MODE_SYNCHRONOUS = 1, MODE_ASYNCHRONOUS = 2, DTD_SCHEMATYPE = "http://www.w3.org/TR/REC-xml", SCHEMA_SCHEMATYPE = "http://www.w3.org/2001/XMLSchema", NULL_SCHEMATYPE = null;
- var ACTION_REPLACE_CHILDREN = 2, ACTION_APPEND_AS_CHILDREN = 1, ACTION_INSERT_AFTER = 4, ACTION_INSERT_BEFORE = 3, ACTION_REPLACE = 5, TEST0 = "test0", TEST1 = "test1", TEST2 = "test2", TEST3 = "test3", TEST4 = "test4", TEST5 = "test5", TEST6 = "test6", TEST7 = "test7", TESTPDF = "testpdf";
- implementation = getImplementation();
- lsImplementation = implementation;
- builder = lsImplementation.createLSParser(MODE_SYNCHRONOUS,DTD_SCHEMATYPE);
- test.ok(builder !== null, "builderNotNull");
- test.done();
- },
- /**
- * Calls DOMImplementationLS.createLSParser(MODE_SYNCHRONOUS, "http://www.w3.org/2001/XMLSchema").
- Should either throw a NOT_SUPPORTED_ERR or return a non-null builder.
- * @author Jeroen van Rotterdam
- * @author X-Hive Corporation
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-DOMImplementationLS-createLSParser
- */
- DOMImplementationLSTest3 : function (test) {
- var success, implementation, lsImplementation, inputSource, document, writer, builder, MODE_SYNCHRONOUS = 1, MODE_ASYNCHRONOUS = 2, DTD_SCHEMATYPE = "http://www.w3.org/TR/REC-xml", SCHEMA_SCHEMATYPE = "http://www.w3.org/2001/XMLSchema", NULL_SCHEMATYPE = null;
- var ACTION_REPLACE_CHILDREN = 2, ACTION_APPEND_AS_CHILDREN = 1, ACTION_INSERT_AFTER = 4, ACTION_INSERT_BEFORE = 3, ACTION_REPLACE = 5, TEST0 = "test0", TEST1 = "test1", TEST2 = "test2", TEST3 = "test3", TEST4 = "test4", TEST5 = "test5", TEST6 = "test6", TEST7 = "test7", TESTPDF = "testpdf";
- implementation = getImplementation();
- lsImplementation = implementation;
- try {
- builder = lsImplementation.createLSParser(MODE_SYNCHRONOUS,SCHEMA_SCHEMATYPE);
- test.ok(builder !== null, "builderNotNull");
- } catch (ex) {
- test.ok(ex.code === /* NOT_SUPPORTED_ERR */ 9);
- }
- test.done();
- },
- /**
- * Calls DOMImplementationLS.createLSParser(MODE_SYNCHRONOUS, "http://nobody...err") expecting that a
- NOT_SUPPORTED_ERR would be raised.
- * @author Jeroen van Rotterdam
- * @author X-Hive Corporation
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-DOMImplementationLS-createLSParser
- */
- DOMImplementationLSTest4 : function (test) {
- var success, implementation, lsImplementation, inputSource, document, writer, builder, MODE_SYNCHRONOUS = 1, MODE_ASYNCHRONOUS = 2, DTD_SCHEMATYPE = "http://www.w3.org/TR/REC-xml", SCHEMA_SCHEMATYPE = "http://www.w3.org/2001/XMLSchema", NULL_SCHEMATYPE = null;
- var ACTION_REPLACE_CHILDREN = 2, ACTION_APPEND_AS_CHILDREN = 1, ACTION_INSERT_AFTER = 4, ACTION_INSERT_BEFORE = 3, ACTION_REPLACE = 5, TEST0 = "test0", TEST1 = "test1", TEST2 = "test2", TEST3 = "test3", TEST4 = "test4", TEST5 = "test5", TEST6 = "test6", TEST7 = "test7", TESTPDF = "testpdf";
- implementation = getImplementation();
- lsImplementation = implementation;
- {
- success = false;
- try {
- builder = lsImplementation.createLSParser(MODE_SYNCHRONOUS,"http://nobody_should_support_this_schematype_this_should_throw_a_not_supported_err");
- }
- catch(ex) {
- success = (typeof(ex.code) != 'undefined' && ex.code == 9);
- }
- test.ok(success, "NOT_SUPPORTED_ERR");
- }
- test.done();
- },
- /**
- * Calls DOMImplementationLS.createLSParser(MODE_SYNCHRONOUS, "http://nobody...err") expecting that a
- NOT_SUPPORTED_ERR would be raised.
- * @author Jeroen van Rotterdam
- * @author X-Hive Corporation
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-DOMImplementationLS-createLSParser
- */
- DOMImplementationLSTest5 : function (test) {
- var success, implementation, lsImplementation, inputSource, document, writer, builder, MODE_SYNCHRONOUS = 1, MODE_ASYNCHRONOUS = 2, DTD_SCHEMATYPE = "http://www.w3.org/TR/REC-xml", SCHEMA_SCHEMATYPE = "http://www.w3.org/2001/XMLSchema", NULL_SCHEMATYPE = null;
- var ACTION_REPLACE_CHILDREN = 2, ACTION_APPEND_AS_CHILDREN = 1, ACTION_INSERT_AFTER = 4, ACTION_INSERT_BEFORE = 3, ACTION_REPLACE = 5, TEST0 = "test0", TEST1 = "test1", TEST2 = "test2", TEST3 = "test3", TEST4 = "test4", TEST5 = "test5", TEST6 = "test6", TEST7 = "test7", TESTPDF = "testpdf";
- implementation = getImplementation();
- lsImplementation = implementation;
- {
- success = false;
- try {
- builder = lsImplementation.createLSParser(17,NULL_SCHEMATYPE);
- }
- catch(ex) {
- success = (typeof(ex.code) != 'undefined' && ex.code == 9);
- }
- test.ok(success, "NOT_SUPPORTED_ERR");
- }
- test.done();
- },
- /**
- * Parses a document from a byte stream.
- * @author Jeroen van Rotterdam
- * @author X-Hive Corporation
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSInput-byteStream
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parse
- */
- DOMInputSourceTest0 : function (test) {
- var success, myByteStream = "3C656C74302F3E", elementList, implementation, lsImplementation, inputSource, document, writer, builder, MODE_SYNCHRONOUS = 1, MODE_ASYNCHRONOUS = 2, DTD_SCHEMATYPE = "http://www.w3.org/TR/REC-xml", SCHEMA_SCHEMATYPE = "http://www.w3.org/2001/XMLSchema", NULL_SCHEMATYPE = null;
- var ACTION_REPLACE_CHILDREN = 2, ACTION_APPEND_AS_CHILDREN = 1, ACTION_INSERT_AFTER = 4, ACTION_INSERT_BEFORE = 3, ACTION_REPLACE = 5, TEST0 = "test0", TEST1 = "test1", TEST2 = "test2", TEST3 = "test3", TEST4 = "test4", TEST5 = "test5", TEST6 = "test6", TEST7 = "test7", TESTPDF = "testpdf";
- implementation = getImplementation();
- lsImplementation = implementation;
- builder = lsImplementation.createLSParser(MODE_SYNCHRONOUS,NULL_SCHEMATYPE);
- writer = lsImplementation.createLSSerializer();
- inputSource = lsImplementation.createLSInput();
- inputSource.byteStream = myByteStream;
- document = builder.parse(inputSource);
- elementList = document.getElementsByTagName("elt0");
- test.ok(1 === elementList.length, "count_elt0");
- test.done();
- },
- /**
- * Parses a document from a character stream.
- * @author Jeroen van Rotterdam
- * @author X-Hive Corporation
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSInput-characterStream
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parse
- */
- DOMInputSourceTest1 : function (test) {
- var success, myReader = "<elt0/>", elementList, implementation, lsImplementation, inputSource, document, writer, builder, MODE_SYNCHRONOUS = 1, MODE_ASYNCHRONOUS = 2, DTD_SCHEMATYPE = "http://www.w3.org/TR/REC-xml", SCHEMA_SCHEMATYPE = "http://www.w3.org/2001/XMLSchema", NULL_SCHEMATYPE = null;
- var ACTION_REPLACE_CHILDREN = 2, ACTION_APPEND_AS_CHILDREN = 1, ACTION_INSERT_AFTER = 4, ACTION_INSERT_BEFORE = 3, ACTION_REPLACE = 5, TEST0 = "test0", TEST1 = "test1", TEST2 = "test2", TEST3 = "test3", TEST4 = "test4", TEST5 = "test5", TEST6 = "test6", TEST7 = "test7", TESTPDF = "testpdf";
- implementation = getImplementation();
- lsImplementation = implementation;
- builder = lsImplementation.createLSParser(MODE_SYNCHRONOUS,NULL_SCHEMATYPE);
- writer = lsImplementation.createLSSerializer();
- inputSource = lsImplementation.createLSInput();
- inputSource.characterStream = myReader;
- document = builder.parse(inputSource);
- elementList = document.getElementsByTagName("elt0");
- test.ok(1 === elementList.length, "count_elt0");
- test.done();
- },
- /**
- * test the builder by using a string inputsource
- * @author Jeroen van Rotterdam
- * @author X-Hive Corporation
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSInput-stringData
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parse
- */
- DOMInputSourceTest2 : function (test) {
- var success, elementList, myString = "<elt0>elt0</elt0>", implementation, lsImplementation, inputSource, document, writer, builder, MODE_SYNCHRONOUS = 1, MODE_ASYNCHRONOUS = 2, DTD_SCHEMATYPE = "http://www.w3.org/TR/REC-xml", SCHEMA_SCHEMATYPE = "http://www.w3.org/2001/XMLSchema", NULL_SCHEMATYPE = null;
- var ACTION_REPLACE_CHILDREN = 2, ACTION_APPEND_AS_CHILDREN = 1, ACTION_INSERT_AFTER = 4, ACTION_INSERT_BEFORE = 3, ACTION_REPLACE = 5, TEST0 = "test0", TEST1 = "test1", TEST2 = "test2", TEST3 = "test3", TEST4 = "test4", TEST5 = "test5", TEST6 = "test6", TEST7 = "test7", TESTPDF = "testpdf";
- implementation = getImplementation();
- lsImplementation = implementation;
- builder = lsImplementation.createLSParser(MODE_SYNCHRONOUS,NULL_SCHEMATYPE);
- writer = lsImplementation.createLSSerializer();
- inputSource = lsImplementation.createLSInput();
- inputSource.stringData = myString;
- document = builder.parse(inputSource);
- elementList = document.getElementsByTagName("elt0");
- test.ok(1 === elementList.length, "count_elt0");
- test.done();
- },
- /**
- * Specify encodings for LSInput with string data. The
- setting should have no effect and the inputEncoding of the resulting document should be UTF-16.
- * @author Jeroen van Rotterdam
- * @author X-Hive Corporation
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSInput-encoding
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parse
- */
- DOMInputSourceTest3 : function (test) {
- var success, myString = "<?xml version='1.0' encoding='UTF-8'?><elt0>elt0</elt0>", encodingString, implementation, lsImplementation, inputSource, document, writer, builder, MODE_SYNCHRONOUS = 1, MODE_ASYNCHRONOUS = 2, DTD_SCHEMATYPE = "http://www.w3.org/TR/REC-xml", SCHEMA_SCHEMATYPE = "http://www.w3.org/2001/XMLSchema", NULL_SCHEMATYPE = null;
- var ACTION_REPLACE_CHILDREN = 2, ACTION_APPEND_AS_CHILDREN = 1, ACTION_INSERT_AFTER = 4, ACTION_INSERT_BEFORE = 3, ACTION_REPLACE = 5, TEST0 = "test0", TEST1 = "test1", TEST2 = "test2", TEST3 = "test3", TEST4 = "test4", TEST5 = "test5", TEST6 = "test6", TEST7 = "test7", TESTPDF = "testpdf";
- implementation = getImplementation();
- lsImplementation = implementation;
- builder = lsImplementation.createLSParser(MODE_SYNCHRONOUS,NULL_SCHEMATYPE);
- writer = lsImplementation.createLSSerializer();
- inputSource = lsImplementation.createLSInput();
- inputSource.stringData = myString;
- inputSource.encoding = "UTF-8";
- document = builder.parse(inputSource);
- encodingString = document.inputEncoding;
- test.strictEqual("UTF-16".toLowerCase(), encodingString.toLowerCase(), "encodingstringcheck0");
- test.done();
- },
- /**
- * tests whether DOMInput whether abort can be called even if loading is finished already
- * @author Jeroen van Rotterdam
- * @author X-Hive Corporation
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-abort
- */
- DOMInputSourceTest4 : function (test) {
- var success, elementList, myString = "<?xml version='1.0' encoding='UTF-8'?><elt0>elt0</elt0>", implementation, lsImplementation, inputSource, document, writer, builder, MODE_SYNCHRONOUS = 1, MODE_ASYNCHRONOUS = 2, DTD_SCHEMATYPE = "http://www.w3.org/TR/REC-xml", SCHEMA_SCHEMATYPE = "http://www.w3.org/2001/XMLSchema", NULL_SCHEMATYPE = null;
- var ACTION_REPLACE_CHILDREN = 2, ACTION_APPEND_AS_CHILDREN = 1, ACTION_INSERT_AFTER = 4, ACTION_INSERT_BEFORE = 3, ACTION_REPLACE = 5, TEST0 = "test0", TEST1 = "test1", TEST2 = "test2", TEST3 = "test3", TEST4 = "test4", TEST5 = "test5", TEST6 = "test6", TEST7 = "test7", TESTPDF = "testpdf";
- implementation = getImplementation();
- lsImplementation = implementation;
- builder = lsImplementation.createLSParser(MODE_SYNCHRONOUS,NULL_SCHEMATYPE);
- writer = lsImplementation.createLSSerializer();
- inputSource = lsImplementation.createLSInput();
- inputSource.stringData = myString;
- document = builder.parse(inputSource);
- builder.abort();
- test.done();
- },
- /**
- * Parses a document containing an external entity and checks
- that resource resolver is passed the baseURI value specified on LSInput.
- * @author Jeroen van Rotterdam
- * @author X-Hive Corporation
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSInput-systemId
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSInput-publicId
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSInput-baseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSResourceResolver-resolveResource
- */
- DOMInputSourceTest5 : function (test) {
- function LSResourceResolverN1002A() {}
-
- /**
- *
- * Allow the application to resolve external resources.
- * TheLSParserwill call this method before opening any external resource,
- * including the external DTD subset, external entities referenced within the DTD,
- * and external entities referenced within the document element (however, the
- * top-level document entity is not passed to this method). The application may then
- * request that theLSParserresolve the external resource itself, that it use an
- * alternative URI, or that it use an entirely different input source.
- *
- * Application writers can use this method to redirect external system identifiers to
- * secure and/or local URI, to look up public identifiers in a catalogue, or to read
- * an entity from a database or other input source (including, for example, a dialog box).
- *
- * @param type
- * The type of the resource being resolved. For XMLresources (i.e. entities), applications must
- * use the value"http://www.w3.org/TR/REC-xml". For XML Schema, applications must use the
- * value"http://www.w3.org/2001/XMLSchema". Other types of resources are outside the scope of
- * this specification and therefore should recommend an absolute URI in order to use this method.
- * @param namespaceURI
- * The namespace of the resource being resolved, e.g. the target namespace of the XML Schemawhen
- * resolving XML Schema resources.
- * @param publicId
- * The public identifier of the external entity being referenced, ornullif no public identifier
- * was supplied or if the resource is not an entity.
- * @param systemId
- * The system identifier, a URI reference, of the external resource being referenced, ornullif no
- * system identifier was supplied.
- * @param baseURI
- * The absolute base URI of the resource being parsed, ornullif there is no base URI.
- */
- LSResourceResolverN1002A.prototype.resolveResource = function(type, namespaceURI, publicId, systemId, baseURI) {
- //
- // bring class variables into function scope
- //
- var domImplLS;
- var input;
- test.strictEqual("http://www.example.com/new_base",baseURI);
- test.strictEqual("-//X-Hive//native xml storage//EN",publicId);
-
- // TODO: implement this in a helper somewhere
- //assertURIEquals(test,null,null,null,null,"test5",null,null,true,systemId);
- domImplLS = getImplementation();
- input = domImplLS.createLSInput();
- input.stringData = "";
-
- return input;
- }
- var success;
- myentityresolver = new LSResourceResolverN1002A();
- var configuration, resourceURI, nodeList, implementation, lsImplementation, inputSource, document, writer, builder, MODE_SYNCHRONOUS = 1, MODE_ASYNCHRONOUS = 2, DTD_SCHEMATYPE = "http://www.w3.org/TR/REC-xml", SCHEMA_SCHEMATYPE = "http://www.w3.org/2001/XMLSchema", NULL_SCHEMATYPE = null;
- var ACTION_REPLACE_CHILDREN = 2, ACTION_APPEND_AS_CHILDREN = 1, ACTION_INSERT_AFTER = 4, ACTION_INSERT_BEFORE = 3, ACTION_REPLACE = 5, TEST0 = "test0", TEST1 = "test1", TEST2 = "test2", TEST3 = "test3", TEST4 = "test4", TEST5 = "test5", TEST6 = "test6", TEST7 = "test7", TESTPDF = "testpdf";
- implementation = getImplementation();
- lsImplementation = implementation;
- builder = lsImplementation.createLSParser(MODE_SYNCHRONOUS,NULL_SCHEMATYPE);
- writer = lsImplementation.createLSSerializer();
- inputSource = lsImplementation.createLSInput();
- configuration = builder.domConfig;
- configuration.setParameter("resource-resolver", myentityresolver);
- configuration.setParameter("entities", false);
- // TODO: WTF IS THIS?
- //resourceURI = getResourceURI(TEST4);
-
- inputSource.systemId = resourceURI;
- inputSource.publicId = "-//X-Hive//native xml storage//DE";
- inputSource.baseURI = "http://www.example.com/new_base";
- document = builder.parse(inputSource);
- test.ok(document !== null, "documentNotNull");
- nodeList = document.getElementsByTagName("elt2");
- test.ok(0 === nodeList.length, "noElt2");
- nodeList = document.getElementsByTagName("elt1");
- test.ok(1 === nodeList.length, "hasElt1");
- test.done();
- },
- /**
- * Specify encodings for LSInput with a character stream. The
- setting should have no effect and the inputEncoding of the resulting document should be UTF-16.
- * @author Jeroen van Rotterdam
- * @author X-Hive Corporation
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSInput-encoding
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parse
- */
- DOMInputSourceTest6 : function (test) {
- var success, encodingString, myReader = "<?xml version='1.0' encoding='UTF-8'?><elt0>elt0</elt0>", implementation, lsImplementation, inputSource, document, writer, builder, MODE_SYNCHRONOUS = 1, MODE_ASYNCHRONOUS = 2, DTD_SCHEMATYPE = "http://www.w3.org/TR/REC-xml", SCHEMA_SCHEMATYPE = "http://www.w3.org/2001/XMLSchema", NULL_SCHEMATYPE = null;
- var ACTION_REPLACE_CHILDREN = 2, ACTION_APPEND_AS_CHILDREN = 1, ACTION_INSERT_AFTER = 4, ACTION_INSERT_BEFORE = 3, ACTION_REPLACE = 5, TEST0 = "test0", TEST1 = "test1", TEST2 = "test2", TEST3 = "test3", TEST4 = "test4", TEST5 = "test5", TEST6 = "test6", TEST7 = "test7", TESTPDF = "testpdf";
- implementation = getImplementation();
- lsImplementation = implementation;
- builder = lsImplementation.createLSParser(MODE_SYNCHRONOUS,NULL_SCHEMATYPE);
- writer = lsImplementation.createLSSerializer();
- inputSource = lsImplementation.createLSInput();
- inputSource.encoding = "UTF-8";
- inputSource.characterStream = myReader;
- document = builder.parse(inputSource);
- test.ok(document !== null, "documentNotNull");
- encodingString = document.inputEncoding;
- test.strictEqual("UTF-16".toLowerCase(), encodingString.toLowerCase(), "encodingstringcheck0");
- test.done();
- }, /**
- * DOMSerializerFilter test, a simple test eliminating a subtree
- * @author Jeroen van Rotterdam
- * @author X-Hive Corporation
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-Interfaces-LSSerializerFilter
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-LSSerializerFilter
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializerFilter-acceptNode
- */
- DOMWriterFilterTest0 : function (test) {
- function LSSerializerFilterN10027(){};
- var success;
- myfilter = new LSSerializerFilterN10027();
- var configuration, stringDoc = "<elt1>first elt1<elt2>elt2</elt2></elt1>", writeResult, length, elementList, implementation, lsImplementation, inputSource, document, writer, builder, MODE_SYNCHRONOUS = 1, MODE_ASYNCHRONOUS = 2, DTD_SCHEMATYPE = "http://www.w3.org/TR/REC-xml", SCHEMA_SCHEMATYPE = "http://www.w3.org/2001/XMLSchema", NULL_SCHEMATYPE = null;
- var ACTION_REPLACE_CHILDREN = 2, ACTION_APPEND_AS_CHILDREN = 1, ACTION_INSERT_AFTER = 4, ACTION_INSERT_BEFORE = 3, ACTION_REPLACE = 5, TEST0 = "test0", TEST1 = "test1", TEST2 = "test2", TEST3 = "test3", TEST4 = "test4", TEST5 = "test5", TEST6 = "test6", TEST7 = "test7", TESTPDF = "testpdf";
- implementation = getImplementation();
- lsImplementation = implementation;
- builder = lsImplementation.createLSParser(MODE_SYNCHRONOUS,NULL_SCHEMATYPE);
- writer = lsImplementation.createLSSerializer();
- inputSource = lsImplementation.createLSInput();
- inputSource.stringData = stringDoc;
- document = builder.parse(inputSource);
- writer.filter = myfilter;
- writeResult = writer.writeToString(document);
- inputSource.stringData = writeResult;
- document = builder.parse(inputSource);
- elementList = document.getElementsByTagName("elt2");
- test.ok(0 === elementList.length, "count_elt2");
- elementList = document.getElementsByTagName("elt1");
- test.ok(1 === elementList.length, "count_elt1");
- test.done();
- }, /**
- * Uses a serializer filter to eliminate attributes, parses the output and checks if the attribute is not there.
- * @author Jeroen van Rotterdam
- * @author X-Hive Corporation
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-Interfaces-LSSerializerFilter
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-LSSerializerFilter
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializerFilter-acceptNode
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializerFilter-whatToShow
- */
- DOMWriterFilterTest1 : function (test) {
- function LSSerializerFilterN1002A(){}
- var success;
- myfilter = new LSSerializerFilterN1002A();
- var configuration, stringDoc = "<elt1 attr1='attr1'>first elt1</elt1>", writeResult, length, elementList, elt1, attrNode, implementation, lsImplementation, inputSource, document, writer, builder, MODE_SYNCHRONOUS = 1, MODE_ASYNCHRONOUS = 2, DTD_SCHEMATYPE = "http://www.w3.org/TR/REC-xml", SCHEMA_SCHEMATYPE = "http://www.w3.org/2001/XMLSchema", NULL_SCHEMATYPE = null;
- var ACTION_REPLACE_CHILDREN = 2, ACTION_APPEND_AS_CHILDREN = 1, ACTION_INSERT_AFTER = 4, ACTION_INSERT_BEFORE = 3, ACTION_REPLACE = 5, TEST0 = "test0", TEST1 = "test1", TEST2 = "test2", TEST3 = "test3", TEST4 = "test4", TEST5 = "test5", TEST6 = "test6", TEST7 = "test7", TESTPDF = "testpdf";
- implementation = getImplementation();
- lsImplementation = implementation;
- builder = lsImplementation.createLSParser(MODE_SYNCHRONOUS,NULL_SCHEMATYPE);
- writer = lsImplementation.createLSSerializer();
- inputSource = lsImplementation.createLSInput();
- inputSource.stringData = stringDoc;
- document = builder.parse(inputSource);
- writer.filter = myfilter;
- writeResult = writer.writeToString(document);
- inputSource.stringData = writeResult;
- document = builder.parse(inputSource);
- elementList = document.getElementsByTagName("elt1");
- test.ok(1 === elementList.length, "count_elt2");
- elt1 = elementList.item(0);
- attrNode = elt1.getAttributeNode("attr1");
- test.ok(attrNode === null, "attrib1");
- test.done();
- }, /**
- * Uses a filter to strip text during serialization
- parsers to check expections.
- * @author Jeroen van Rotterdam
- * @author X-Hive Corporation
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-LSSerializerFilter
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializerFilter-acceptNode
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializerFilter-whatToShow
- * @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=643
- */
- DOMWriterFilterTest2 : function (test) {
- var success;
- function LSSerialiserFilterN1002A() {}
- myfilter = new LSSerializerFilterN1002A();
- var stringDoc = "<elt1 attr1='attr1'>first elt1</elt1>", writeResult, length, elementList, elt1, childs, attrNode, attr1, implementation, lsImplementation, inputSource, document, writer, builder, MODE_SYNCHRONOUS = 1, MODE_ASYNCHRONOUS = 2, DTD_SCHEMATYPE = "http://www.w3.org/TR/REC-xml", SCHEMA_SCHEMATYPE = "http://www.w3.org/2001/XMLSchema", NULL_SCHEMATYPE = null;
- var ACTION_REPLACE_CHILDREN = 2, ACTION_APPEND_AS_CHILDREN = 1, ACTION_INSERT_AFTER = 4, ACTION_INSERT_BEFORE = 3, ACTION_REPLACE = 5, TEST0 = "test0", TEST1 = "test1", TEST2 = "test2", TEST3 = "test3", TEST4 = "test4", TEST5 = "test5", TEST6 = "test6", TEST7 = "test7", TESTPDF = "testpdf";
- implementation = getImplementation();
- lsImplementation = implementation;
- builder = lsImplementation.createLSParser(MODE_SYNCHRONOUS,NULL_SCHEMATYPE);
- writer = lsImplementation.createLSSerializer();
- inputSource = lsImplementation.createLSInput();
- inputSource.stringData = stringDoc;
- document = builder.parse(inputSource);
- writer.filter = myfilter;
- writeResult = writer.writeToString(document);
- inputSource.stringData = writeResult;
- document = builder.parse(inputSource);
- elementList = document.getElementsByTagName("elt1");
- elt1 = elementList.item(0);
- attrNode = elt1.getAttributeNode("attr1");
- test.ok(attrNode !== null, "attrExists");
- attr1 = attrNode.nodeValue;
- test.strictEqual("attr1", attr1, "attrUnchanged");
- childs = elt1.hasChildNodes();
- test.ok(childs === false, "nodeHasChilds_elt1");
- test.done();
- }, /**
- * Eliminates comments on serialization, parses results and checks for comments.
- * @author Jeroen van Rotterdam
- * @author X-Hive Corporation
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-LSSerializerFilter
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializerFilter-acceptNode
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializerFilter-whatToShow
- */
- DOMWriterFilterTest3 : function (test) {
- var success;
- function LSSerializerFilterN10027() {}
- myfilter = new LSSerializerFilterN10027();
- var configuration, stringDoc = "<elt1><elt2>elt2</elt2><!--comment1--></elt1>", writeResult, length, elementList, children, elt1, implementation, lsImplementation, inputSource, document, writer, builder, MODE_SYNCHRONOUS = 1, MODE_ASYNCHRONOUS = 2, DTD_SCHEMATYPE = "http://www.w3.org/TR/REC-xml", SCHEMA_SCHEMATYPE = "http://www.w3.org/2001/XMLSchema", NULL_SCHEMATYPE = null;
- var ACTION_REPLACE_CHILDREN = 2, ACTION_APPEND_AS_CHILDREN = 1, ACTION_INSERT_AFTER = 4, ACTION_INSERT_BEFORE = 3, ACTION_REPLACE = 5, TEST0 = "test0", TEST1 = "test1", TEST2 = "test2", TEST3 = "test3", TEST4 = "test4", TEST5 = "test5", TEST6 = "test6", TEST7 = "test7", TESTPDF = "testpdf";
- implementation = getImplementation();
- lsImplementation = implementation;
- builder = lsImplementation.createLSParser(MODE_SYNCHRONOUS,NULL_SCHEMATYPE);
- writer = lsImplementation.createLSSerializer();
- inputSource = lsImplementation.createLSInput();
- inputSource.stringData = stringDoc;
- document = builder.parse(inputSource);
- writer.filter = myfilter;
- writeResult = writer.writeToString(document);
- inputSource.stringData = writeResult;
- document = builder.parse(inputSource);
- elementList = document.getElementsByTagName("elt1");
- test.ok(1 === elementList.length, "count_elt1");
- elt1 = elementList.item(0);
- children = elt1.childNodes;
- test.ok(1 === children.length, "count_children");
- test.done();
- },
- /**
- * Calls LSSerializer.writeToString and checks result.
- * @author Jeroen van Rotterdam
- * @author X-Hive Corporation
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-writeToString
- */
- DOMWriterTest0 : function (test) {
- var success, stringDoc, writeResult, elementList, resourceURI, implementation, lsImplementation, inputSource, document, writer, builder, MODE_SYNCHRONOUS = 1, MODE_ASYNCHRONOUS = 2, DTD_SCHEMATYPE = "http://www.w3.org/TR/REC-xml", SCHEMA_SCHEMATYPE = "http://www.w3.org/2001/XMLSchema", NULL_SCHEMATYPE = null;
- var ACTION_REPLACE_CHILDREN = 2, ACTION_APPEND_AS_CHILDREN = 1, ACTION_INSERT_AFTER = 4, ACTION_INSERT_BEFORE = 3, ACTION_REPLACE = 5, TEST0 = "test0", TEST1 = "test1", TEST2 = "test2", TEST3 = "test3", TEST4 = "test4", TEST5 = "test5", TEST6 = "test6", TEST7 = "test7", TESTPDF = "testpdf";
- implementation = getImplementation();
- lsImplementation = implementation;
- builder = lsImplementation.createLSParser(MODE_SYNCHRONOUS,NULL_SCHEMATYPE);
- writer = lsImplementation.createLSSerializer();
- inputSource = lsImplementation.createLSInput();
- resourceURI = getResourceURI(TEST0);
- document = builder.parseURI(resourceURI);
- writeResult = writer.writeToString(document);
- inputSource.stringData = writeResult;
- document = builder.parse(inputSource);
- elementList = document.getElementsByTagName("elt2");
- test.ok(1 === elementList.length, "elt2Count_1");
- test.done();
- },
- /**
- * Writes an element node to a byte stream.
- * @author Jeroen van Rotterdam
- * @author X-Hive Corporation
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSOutput-byteStream
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-write
- */
- DOMWriterTest1 : function (test) {
- var success, stringDoc, writeResult, elementList, firstElt3, output, outputStream, inputStream = null;
- var resourceURI, implementation, lsImplementation, inputSource, document, writer, builder, MODE_SYNCHRONOUS = 1, MODE_ASYNCHRONOUS = 2, DTD_SCHEMATYPE = "http://www.w3.org/TR/REC-xml", SCHEMA_SCHEMATYPE = "http://www.w3.org/2001/XMLSchema", NULL_SCHEMATYPE = null;
- var ACTION_REPLACE_CHILDREN = 2, ACTION_APPEND_AS_CHILDREN = 1, ACTION_INSERT_AFTER = 4, ACTION_INSERT_BEFORE = 3, ACTION_REPLACE = 5, TEST0 = "test0", TEST1 = "test1", TEST2 = "test2", TEST3 = "test3", TEST4 = "test4", TEST5 = "test5", TEST6 = "test6", TEST7 = "test7", TESTPDF = "testpdf";
- implementation = getImplementation();
- lsImplementation = implementation;
- builder = lsImplementation.createLSParser(MODE_SYNCHRONOUS,NULL_SCHEMATYPE);
- writer = lsImplementation.createLSSerializer();
- inputSource = lsImplementation.createLSInput();
- resourceURI = getResourceURI(TEST2);
- document = builder.parseURI(resourceURI);
- elementList = document.getElementsByTagName("elt3");
- firstElt3 = elementList.item(0);
- output = lsImplementation.createLSOutput();
- output.byteStream = outputStream;
- writeResult = writer.write(firstElt3,output);
- inputStream = outputStream;
- inputSource.byteStream = inputStream;
- document = builder.parse(inputSource);
- elementList = document.getElementsByTagName("elt2");
- test.ok(0 === elementList.length, "elt2Count_1");
- test.done();
- },
- /**
- * Serializes a document without a XML declaration for both for 'xml-declaration' configuration values.
- * @author Jeroen van Rotterdam
- * @author X-Hive Corporation
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#DOMConfiguration-canSetParameter
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-config
- */
- DOMWriterTest2 : function (test) {
- var success, configuration, XML_DECLARATION = "xml-declaration", stringDoc = "<hello>me again</hello>", writeResult, xmlDecl, implementation, lsImplementation, inputSource, document, writer, builder, MODE_SYNCHRONOUS = 1, MODE_ASYNCHRONOUS = 2, DTD_SCHEMATYPE = "http://www.w3.org/TR/REC-xml", SCHEMA_SCHEMATYPE = "http://www.w3.org/2001/XMLSchema", NULL_SCHEMATYPE = null;
- var ACTION_REPLACE_CHILDREN = 2, ACTION_APPEND_AS_CHILDREN = 1, ACTION_INSERT_AFTER = 4, ACTION_INSERT_BEFORE = 3, ACTION_REPLACE = 5, TEST0 = "test0", TEST1 = "test1", TEST2 = "test2", TEST3 = "test3", TEST4 = "test4", TEST5 = "test5", TEST6 = "test6", TEST7 = "test7", TESTPDF = "testpdf";
- implementation = getImplementation();
- lsImplementation = implementation;
- builder = lsImplementation.createLSParser(MODE_SYNCHRONOUS,NULL_SCHEMATYPE);
- writer = lsImplementation.createLSSerializer();
- inputSource = lsImplementation.createLSInput();
- inputSource.stringData = stringDoc;
- document = builder.parse(inputSource);
- configuration = writer.domConfig;
- configuration.setParameter(XML_DECLARATION, false);
- writeResult = writer.writeToString(document);
- test.strictEqual(stringDoc, writeResult, "without_xml_declaration");
- configuration.setParameter(XML_DECLARATION, true);
- writeResult = writer.writeToString(document);
- // TODO: umm.. what? are these tests complete?
- // fail("Unrecognized method or attribute substring");
- test.strictEqual("<?xml ", xmlDecl, "with_xml_declaration");
- test.done();
- },
- /**
- * Serializes a document with a XML declaration for both for 'xml-declaration' configuration values.
- * @author Jeroen van Rotterdam
- * @author X-Hive Corporation
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#DOMConfiguration-canSetParameter
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-config
- */
- DOMWriterTest3 : function (test) {
- var success, configuration, XML_DECLARATION = "xml-declaration", stringDoc = "<?xml version='1.0'?><hello>me again</hello>", writeResult, xmlDecl, implementation, lsImplementation, inputSource, document, writer, builder, MODE_SYNCHRONOUS = 1, MODE_ASYNCHRONOUS = 2, DTD_SCHEMATYPE = "http://www.w3.org/TR/REC-xml", SCHEMA_SCHEMATYPE = "http://www.w3.org/2001/XMLSchema", NULL_SCHEMATYPE = null;
- var ACTION_REPLACE_CHILDREN = 2, ACTION_APPEND_AS_CHILDREN = 1, ACTION_INSERT_AFTER = 4, ACTION_INSERT_BEFORE = 3, ACTION_REPLACE = 5, TEST0 = "test0", TEST1 = "test1", TEST2 = "test2", TEST3 = "test3", TEST4 = "test4", TEST5 = "test5", TEST6 = "test6", TEST7 = "test7", TESTPDF = "testpdf";
- implementation = getImplementation();
- lsImplementation = implementation;
- builder = lsImplementation.createLSParser(MODE_SYNCHRONOUS,NULL_SCHEMATYPE);
- writer = lsImplementation.createLSSerializer();
- inputSource = lsImplementation.createLSInput();
- inputSource.stringData = stringDoc;
- document = builder.parse(inputSource);
- configuration = writer.domConfig;
- configuration.setParameter(XML_DECLARATION, false);
- writeResult = writer.writeToString(document);
- test.strictEqual("<hello>me again</hello>", writeResult, "without_xml_declaration");
- configuration.setParameter(XML_DECLARATION, true);
- writeResult = writer.writeToString(document);
- // TODO: umm.. what? are these tests complete?
- // fail("Unrecognized method or attribute substring");
- test.strictEqual("<?xml ", xmlDecl, "with_xml_declaration");
- test.done();
- },
- /**
- * Writes a document to an uninitialized LSOutput.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-write
- */
- DOMWriterTest4 : function (test) {
- var success, testDoc, domImpl, output, serializer, status;
- var testDocRef = null;
- if (typeof(this.testDoc) != 'undefined') {
- testDocRef = this.testDoc;
- }
- testDoc = load(testDocRef, "testDoc", "test0");
- domImpl = getImplementation();
- output = domImpl.createLSOutput();
- serializer = domImpl.createLSSerializer();
- {
- success = false;
- try {
- status = serializer.write(testDoc,output);
- }
- catch(ex) {
- success = (typeof(ex.code) != 'undefined' && ex.code == 82);
- }
- test.ok(success, "throw_SERIALIZE_ERR");
- }
- test.done();
- },
- /**
- * Creates an document containing a namespaced attribute node without
- user-specified prefix and checks that it is serialized properly.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-write
- * @see http://lists.w3.org/Archives/Public/www-dom/2003OctDec/0062.html
- */
- DOMWriterTest5 : function (test) {
- var success, domImpl, origDoc, nullDocType = null;
- var namespaceURI = "http://www.example.com/DOMWriterTest5", docElem, outputString, input, serializer, parser, NULL_SCHEMA_TYPE = null;
- var attrValue, parsedDoc, docElemLocalName, docElemNS;
- domImpl = getImplementation();
- origDoc = domImpl.createDocument(namespaceURI,"test",nullDocType);
- docElem = origDoc.documentElement;
- docElem.setAttributeNS(namespaceURI,"attr","test value");
- serializer = domImpl.createLSSerializer();
- outputString = serializer.writeToString(origDoc);
- input = domImpl.createLSInput();
- input.stringData = outputString;
- parser = domImpl.createLSParser(1,NULL_SCHEMA_TYPE);
- parsedDoc = parser.parse(input);
- docElem = parsedDoc.documentElement;
- docElemLocalName = docElem.localName;
- test.strictEqual("test", docElemLocalName, "docElemLocalName");
- docElemNS = docElem.namespaceURI;
- test.strictEqual(namespaceURI, docElemNS, "docElemNS");
- attrValue = docElem.getAttributeNS(namespaceURI,"attr");
- test.strictEqual("test value", attrValue, "properNSAttrValue");
- test.done();
- },
- /**
- * Creates an document containing a namespaced attribute node with
- user-specified prefix and checks that it is serialized properly.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-write
- * @see http://lists.w3.org/Archives/Public/www-dom/2003OctDec/0062.html
- */
- DOMWriterTest6 : function (test) {
- var success, domImpl, origDoc, nullDocType = null;
- var namespaceURI = "http://www.example.com/DOMWriterTest5", docElem, outputString, input, serializer, parser, NULL_SCHEMA_TYPE = null;
- var attrValue, parsedDoc, docElemLocalName, docElemNS;
- domImpl = getImplementation();
- origDoc = domImpl.createDocument(namespaceURI,"test",nullDocType);
- docElem = origDoc.documentElement;
- docElem.setAttributeNS(namespaceURI,"test:attr","test value");
- serializer = domImpl.createLSSerializer();
- outputString = serializer.writeToString(origDoc);
- input = domImpl.createLSInput();
- input.stringData = outputString;
- parser = domImpl.createLSParser(1,NULL_SCHEMA_TYPE);
- parsedDoc = parser.parse(input);
- docElem = parsedDoc.documentElement;
- docElemLocalName = docElem.localName;
- test.strictEqual("test", docElemLocalName, "docElemLocalName");
- docElemNS = docElem.namespaceURI;
- test.strictEqual(namespaceURI, docElemNS, "docElemNS");
- attrValue = docElem.getAttributeNS(namespaceURI,"attr");
- test.strictEqual("test value", attrValue, "properNSAttrValue");
- test.done();
- },
- /**
- * DOMImplementationLS can be obtained by DOMImplementation.getFeature("LS", "3.0").
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#DOMImplementation3-getFeature
- */
- GetFeature1 : function (test) {
- var success, domImpl, domImplLS, output;
- domImpl = getImplementation();
- domImplLS = domImpl.getFeature("LS","3.0");
- test.ok(domImplLS !== null, "domImplLSNotNull");
- output = domImplLS.createLSOutput();
- test.ok(output !== null, "outputNotNull");
- test.done();
- },
- /**
- * DOMImplementationLS can be obtained by DOMImplementation.getFeature("+lS", "3.0").
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#DOMImplementation3-getFeature
- */
- GetFeature2 : function (test) {
- var success, domImpl, domImplLS, output;
- domImpl = getImplementation();
- domImplLS = domImpl.getFeature("+lS","3.0");
- test.ok(domImplLS !== null, "domImplLSNotNull");
- output = domImplLS.createLSOutput();
- test.ok(output !== null, "outputNotNull");
- test.done();
- },
- /**
- * Implementations should return true for hasFeature("LS", "3.0").
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#ID-5CED94D7
- */
- HasFeature01 : function (test) {
- var success, domImpl, hasLS;
- domImpl = getImplementation();
- hasLS = domImpl.hasFeature("LS","3.0");
- test.ok(hasLS, "hasFeature_LS3");
- test.done();
- },
- /**
- * Implementations should return true for hasFeature("LS", null).
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#ID-5CED94D7
- */
- HasFeature02 : function (test) {
- var success, domImpl, hasLS, version = null;
- domImpl = getImplementation();
- hasLS = domImpl.hasFeature("LS",version);
- test.ok(hasLS, "hasFeature_LS");
- test.done();
- },
- /**
- * Implementations should return true for hasFeature("Core", "2.0") and hasFeature("Core", null).
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#ID-5CED94D7
- */
- HasFeature03 : function (test) {
- var success, domImpl, hasLS, NULL_VERSION = null;
- domImpl = getImplementation();
- hasLS = domImpl.hasFeature("cOrE","2.0");
- test.ok(hasLS, "hasFeature_Core2");
- hasLS = domImpl.hasFeature("cOrE",NULL_VERSION);
- test.ok(hasLS, "hasFeature_Core");
- test.done();
- },
- /**
- * Implementations should return true for hasFeature("+lS", "3.0").
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#ID-5CED94D7
- */
- HasFeature04 : function (test) {
- var success, domImpl, hasLS;
- domImpl = getImplementation();
- hasLS = domImpl.hasFeature("+lS","3.0");
- test.ok(hasLS, "hasFeature_LS3");
- test.done();
- },
- /**
- * The return values of hasFeature("lS-aSynC", "3.0") and hasFeature("+Ls-AsYNc", "3.0") should be equal.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#ID-5CED94D7
- */
- HasFeature05 : function (test) {
- var success, domImpl, hasLS1, hasLS2;
- domImpl = getImplementation();
- hasLS1 = domImpl.hasFeature("lS-aSynC","3.0");
- hasLS2 = domImpl.hasFeature("+Ls-AsYNc","3.0");
- test.strictEqual(hasLS1, hasLS2, "featuresEqual");
- test.done();
- },
- /**
- * Checks initial state of parser configuration.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-config
- */
- LSParserConfig1 : function (test) {
- var success, domImpl, parser, config, state, resolver, NULL_SCHEMA_TYPE = null;
- domImpl = getImplementation();
- parser = domImpl.createLSParser(1,NULL_SCHEMA_TYPE);
- config = parser.domConfig;
- test.ok(config !== null, "configNotNull");
- state = config.getParameter("cHarset-overrides-xml-encoding");
- test.ok(state, "charset-overrides-xml-encoding-is-true");
- state = config.getParameter("dIsallow-doctype");
- test.ok(state === false, "disallow-doctype-is-false");
- state = config.getParameter("iGnore-unknown-character-denormalizations");
- test.ok(state, "ignore-unknown-character-denormalizations-is-true");
- state = config.getParameter("iNfoset");
- test.ok(state, "infoset-is-true");
- state = config.getParameter("nAmespaces");
- test.ok(state, "namespaces-is-true");
- resolver = config.getParameter("rEsource-resolver");
- test.ok(resolver === null, "resource-resolver-is-null");
- state = config.getParameter("sUpported-media-types-only");
- test.ok(state === false, "supported-media-types-only-is-false");
- state = config.getParameter("wEll-formed");
- test.ok(state, "well-formed-is-true");
- test.done();
- },
- /**
- * Checks getParameterNames and canSetParameter.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-config
- */
- LSParserConfig2 : function (test) {
- var success, domImpl, parser, config, state, resolver, NULL_SCHEMA_TYPE = null;
- var parameterNames, parameterName, matchCount = 0, paramValue, canSet;
- domImpl = getImplementation();
- parser = domImpl.createLSParser(1,NULL_SCHEMA_TYPE);
- config = parser.domConfig;
- test.ok(config !== null, "configNotNull");
- parameterNames = config.parameterNames;
- test.ok(parameterNames !== null, "parameterNamesNotNull");
- for(var indexN10066 = 0;indexN10066 < parameterNames.length; indexN10066++) {
- parameterName = parameterNames.item(indexN10066);
- paramValue = config.getParameter(parameterName);
- canSet = config.canSetParameter(parameterName,paramValue);
- test.ok(canSet, "canSetToDefaultValue");
- config.setParameter(parameterName, paramValue);
- if(
- (("canonical-form".toUpperCase() == parameterName.toUpperCase()) || ("cdata-sections".toUpperCase() == parameterName.toUpperCase()) || ("check-character-normalization".toUpperCase() == parameterName.toUpperCase()) || ("comments".toUpperCase() == parameterName.toUpperCase()) || ("datatype-normalization".toUpperCase() == parameterName.toUpperCase()) || ("entities".toUpperCase() == parameterName.toUpperCase()) || ("error-handler".toUpperCase() == parameterName.toUpperCase()) || ("infoset".toUpperCase() == parameterName.toUpperCase()) || ("namespaces".toUpperCase() == parameterName.toUpperCase()) || ("namespace-declarations".toUpperCase() == parameterName.toUpperCase()) || ("normalize-characters".toUpperCase() == parameterName.toUpperCase()) || ("schema-location".toUpperCase() == parameterName.toUpperCase()) || ("schema-type".toUpperCase() == parameterName.toUpperCase()) || ("split-cdata-sections".toUpperCase() == parameterName.toUpperCase()) || ("validate".toUpperCase() == parameterName.toUpperCase()) || ("validate-if-schema".toUpperCase() == parameterName.toUpperCase()) || ("well-formed".toUpperCase() == parameterName.toUpperCase()) || ("element-content-whitespace".toUpperCase() == parameterName.toUpperCase()) || ("charset-overrides-xml-encoding".toUpperCase() == parameterName.toUpperCase()) || ("disallow-doctype".toUpperCase() == parameterName.toUpperCase()) || ("ignore-unknown-character-denormalizations".toUpperCase() == parameterName.toUpperCase()) || ("resource-resolver".toUpperCase() == parameterName.toUpperCase()) || ("supported-media-types-only".toUpperCase() == parameterName.toUpperCase()))
- ) {
- matchCount += 1;
- }
- }
- test.strictEqual(23, matchCount, "definedParameterCount");
- test.done();
- },
- /**
- * Checks support of charset-overrides-xml-encoding.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-config
- */
- LSParserConfig3 : function (test) {
- var success, domImpl, parser, config, state, canSet, NULL_SCHEMA_TYPE = null;
- var propertyName = "cHarset-overrides-xml-encoding";
- domImpl = getImplementation();
- parser = domImpl.createLSParser(1,NULL_SCHEMA_TYPE);
- config = parser.domConfig;
- test.ok(config !== null, "configNotNull");
- state = config.getParameter(propertyName);
- test.ok(state, "defaultValue");
- canSet = config.canSetParameter(propertyName,true);
- test.ok(canSet, "canSetTrue");
- canSet = config.canSetParameter(propertyName,false);
- test.ok(canSet, "canSetFalse");
- config.setParameter(propertyName, false);
- state = config.getParameter(propertyName);
- test.ok(state === false, "setFalse");
- config.setParameter(propertyName, true);
- state = config.getParameter(propertyName);
- test.ok(state, "setTrue");
- test.done();
- },
- /**
- * Checks support of disallow-doctype.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-config
- */
- LSParserConfig4 : function (test) {
- var success, domImpl, parser, config, state, canSet, propertyName = "dIsAllow-doctype", NULL_SCHEMA_TYPE = null;
- domImpl = getImplementation();
- parser = domImpl.createLSParser(1,NULL_SCHEMA_TYPE);
- config = parser.domConfig;
- test.ok(config !== null, "configNotNull");
- state = config.getParameter(propertyName);
- test.ok(state === false, "defaultValue");
- canSet = config.canSetParameter(propertyName,true);
- if(canSet) {
- config.setParameter(propertyName, true);
- state = config.getParameter(propertyName);
- test.ok(state, "setTrueIsEffective");
- config.setParameter(propertyName, false);
- state = config.getParameter(propertyName);
- test.ok(state === false, "setFalseIsEffective");
- } else {
- config.setParameter(propertyName, false);
- success = false;
- try {
- config.setParameter(propertyName, true);
- } catch(ex) {
- success = (typeof(ex.code) != 'undefined' && ex.code == 9);
- }
- test.ok(success, "throw_NOT_SUPPORTED_ERR_if_canSetParameter_false");
- }
- test.done();
- },
- /**
- * Checks support of ignore-unknown-character-denormalizations.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-config
- */
- LSParserConfig5 : function (test) {
- var success, domImpl, parser, config, state, canSet, propertyName = "iGnOre-unknown-character-denormalizations", NULL_SCHEMA_TYPE = null;
- domImpl = getImplementation();
- parser = domImpl.createLSParser(1,NULL_SCHEMA_TYPE);
- config = parser.domConfig;
- test.ok(config !== null, "configNotNull");
- state = config.getParameter(propertyName);
- test.ok(state, "defaultValue");
- canSet = config.canSetParameter(propertyName,false);
- if(canSet) {
- config.setParameter(propertyName, false);
- state = config.getParameter(propertyName);
- test.ok(state === false, "setFalseIsEffective");
- config.setParameter(propertyName, true);
- state = config.getParameter(propertyName);
- test.ok(state === false, "setTrueIsEffective");
- } else {
- config.setParameter(propertyName, true);
- success = false;
- try {
- config.setParameter(propertyName, false);
- } catch(ex) {
- success = (typeof(ex.code) != 'undefined' && ex.code == 9);
- }
- test.ok(success, "throw_NOT_SUPPORTED_ERR_if_not_canSetParameter");
- }
- test.done();
- },
- /**
- * Checks support of infoset.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-config
- */
- LSParserConfig6 : function (test) {
- var success, domImpl, parser, config, state, canSet, NULL_SCHEMA_TYPE = null;
- var propertyName = "iNfoset";
- domImpl = getImplementation();
- parser = domImpl.createLSParser(1,NULL_SCHEMA_TYPE);
- config = parser.domConfig;
- test.ok(config !== null, "configNotNull");
- state = config.getParameter(propertyName);
- test.ok(state, "defaultValue");
- canSet = config.canSetParameter(propertyName,true);
- test.ok(canSet, "canSetTrue");
- canSet = config.canSetParameter(propertyName,false);
- test.ok(canSet, "canSetFalse");
- config.setParameter(propertyName, false);
- state = config.getParameter(propertyName);
- test.ok(state, "setFalse");
- config.setParameter("comments", false);
- state = config.getParameter(propertyName);
- test.ok(state === false, "falseWhenCommentsFalse");
- config.setParameter(propertyName, true);
- state = config.getParameter(propertyName);
- test.ok(state, "resetTrue");
- state = config.getParameter("comments");
- test.ok(state, "resetTrueComments");
- test.done();
- },
- /**
- * Checks support of namespaces.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-config
- */
- LSParserConfig7 : function (test) {
- var success, domImpl, parser, config, state, canSet, propertyName = "nAmespaces", NULL_SCHEMA_TYPE = null;
- domImpl = getImplementation();
- parser = domImpl.createLSParser(1,NULL_SCHEMA_TYPE);
- config = parser.domConfig;
- test.ok(config !== null, "configNotNull");
- state = config.getParameter(propertyName);
- test.ok(state, "defaultValue");
- canSet = config.canSetParameter(propertyName,false);
- if(canSet) {
- config.setParameter(propertyName, false);
- state = config.getParameter(propertyName);
- test.ok(state === false, "setFalseIsEffective");
- config.setParameter(propertyName, true);
- state = config.getParameter(propertyName);
- test.ok(state, "setTrueIsEffective");
- } else {
- config.setParameter(propertyName, true);
- success = false;
- try {
- config.setParameter(propertyName, false);
- } catch(ex) {
- success = (typeof(ex.code) != 'undefined' && ex.code == 9);
- }
- test.ok(success, "throw_NOT_SUPPORTED_ERR_if_not_canSetParameter");
- }
- test.done();
- },
- /**
- * Checks support of well-formed.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-config
- */
- LSParserConfig8 : function (test) {
- var success, domImpl, parser, config, state, canSet, NULL_SCHEMA_TYPE = null;
- var propertyName = "wEll-formed";
- domImpl = getImplementation();
- parser = domImpl.createLSParser(1,NULL_SCHEMA_TYPE);
- config = parser.domConfig;
- test.ok(config !== null, "configNotNull");
- state = config.getParameter(propertyName);
- test.ok(state, "defaultValue");
- canSet = config.canSetParameter(propertyName,true);
- test.ok(canSet, "canSetTrue");
- canSet = config.canSetParameter(propertyName,false);
- test.ok(canSet === false, "canSetFalse");
- success = false;
- try {
- config.setParameter(propertyName, false);
- } catch(ex) {
- success = (typeof(ex.code) != 'undefined' && ex.code == 9);
- }
- test.ok(success, "throw_NOT_SUPPORTED_EXCEPTION");
- test.done();
- },
- /**
- * Checks support of supported-media-types-only.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-config
- */
- LSParserConfig9 : function (test) {
- var success, domImpl, parser, config, state, canSet, propertyName = "sUpported-media-types-only", NULL_SCHEMA_TYPE = null;
- domImpl = getImplementation();
- parser = domImpl.createLSParser(1,NULL_SCHEMA_TYPE);
- config = parser.domConfig;
- test.ok(config !== null, "configNotNull");
- state = config.getParameter(propertyName);
- test.ok(state === false, "defaultValue");
- canSet = config.canSetParameter(propertyName,true);
- if(canSet) {
- config.setParameter(propertyName, true);
- state = config.getParameter(propertyName);
- test.ok(state, "setTrueIsEffective");
- config.setParameter(propertyName, false);
- state = config.getParameter(propertyName);
- test.ok(state === false, "setFalseIsEffective");
- } else {
- config.setParameter(propertyName, false);
- success = false;
- try {
- config.setParameter(propertyName, true);
- } catch(ex) {
- success = (typeof(ex.code) != 'undefined' && ex.code == 9);
- }
- test.ok(success, "throw_NOT_SUPPORTED_ERR_if_canSetParameter_false");
- }
- test.done();
- },
- /**
- * Checks initial state of serializer configuration.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-config
- */
- LSSerializerConfig1 : function (test) {
- var success, domImpl, serializer, config, state, canSet;
- domImpl = getImplementation();
- serializer = domImpl.createLSSerializer();
- config = serializer.domConfig;
- test.ok(config !== null, "configNotNull");
- state = config.getParameter("cAnonical-form");
- test.ok(state === false, "canonical-form-is-false");
- state = config.getParameter("dIscard-default-content");
- test.ok(state, "discard-default-content-is-true");
- state = config.getParameter("fOrmat-pretty-print");
- test.ok(state === false, "format-pretty-print-is-false");
- state = config.getParameter("iGnore-unknown-character-denormalizations");
- test.ok(state, "ignore-unknown-character-denormalizations-is-true");
- state = config.getParameter("nOrmalize-characters");
- canSet = config.canSetParameter("normalize-characters",true);
- assertTrue("normalize-characters-default", (state ||
- !canSet));
- state = config.getParameter("xMl-declaration");
- test.ok(state, "xml-declaration-is-true");
- state = config.getParameter("wEll-formed");
- test.ok(state, "well-formed-is-true");
- state = config.getParameter("nAmespaces");
- test.ok(state, "namespaces-is-true");
- state = config.getParameter("nAmespace-declarations");
- test.ok(state, "namespace-declarations-is-true");
- test.done();
- },
- /**
- * Checks support of namespace-declarations.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-config
- */
- LSSerializerConfig10 : function (test) {
- var success, domImpl, serializer, config, state, canSet, propertyName = "nAmespace-declarations";
- domImpl = getImplementation();
- serializer = domImpl.createLSSerializer();
- config = serializer.domConfig;
- test.ok(config !== null, "configNotNull");
- state = config.getParameter(propertyName);
- test.ok(state, "defaultValue");
- canSet = config.canSetParameter(propertyName,true);
- test.ok(canSet, "canSetTrue");
- canSet = config.canSetParameter(propertyName,false);
- test.ok(canSet, "canSetFalse");
- config.setParameter(propertyName, false);
- state = config.getParameter(propertyName);
- test.ok(state === false, "setFalseIsEffective");
- config.setParameter(propertyName, true);
- state = config.getParameter(propertyName);
- test.ok(state, "setTrueIsEffective");
- test.done();
- },
- /**
- * Checks getParameterNames and canSetParameter.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-config
- */
- LSSerializerConfig2 : function (test) {
- var success, domImpl, serializer, config, state, parameterNames, parameterName, matchCount = 0, paramValue, canSet;
- domImpl = getImplementation();
- serializer = domImpl.createLSSerializer();
- config = serializer.domConfig;
- test.ok(config !== null, "configNotNull");
- parameterNames = config.parameterNames;
- test.ok(parameterNames !== null, "parameterNamesNotNull");
- for(var indexN1005B = 0;indexN1005B < parameterNames.length; indexN1005B++) {
- parameterName = parameterNames.item(indexN1005B);
- paramValue = config.getParameter(parameterName);
- canSet = config.canSetParameter(parameterName,paramValue);
- test.ok(canSet, "canSetToDefaultValue");
- config.setParameter(parameterName, paramValue);
- if(
- (("canonical-form".toUpperCase() == parameterName.toUpperCase()) || ("cdata-sections".toUpperCase() == parameterName.toUpperCase()) || ("check-character-normalization".toUpperCase() == parameterName.toUpperCase()) || ("comments".toUpperCase() == parameterName.toUpperCase()) || ("datatype-normalization".toUpperCase() == parameterName.toUpperCase()) || ("entities".toUpperCase() == parameterName.toUpperCase()) || ("error-handler".toUpperCase() == parameterName.toUpperCase()) || ("infoset".toUpperCase() == parameterName.toUpperCase()) || ("namespaces".toUpperCase() == parameterName.toUpperCase()) || ("namespace-declarations".toUpperCase() == parameterName.toUpperCase()) || ("normalize-characters".toUpperCase() == parameterName.toUpperCase()) || ("split-cdata-sections".toUpperCase() == parameterName.toUpperCase()) || ("validate".toUpperCase() == parameterName.toUpperCase()) || ("validate-if-schema".toUpperCase() == parameterName.toUpperCase()) || ("well-formed".toUpperCase() == parameterName.toUpperCase()) || ("element-content-whitespace".toUpperCase() == parameterName.toUpperCase()) || ("discard-default-content".toUpperCase() == parameterName.toUpperCase()) || ("format-pretty-print".toUpperCase() == parameterName.toUpperCase()) || ("ignore-unknown-character-denormalizations".toUpperCase() == parameterName.toUpperCase()) || ("xml-declaration".toUpperCase() == parameterName.toUpperCase()))
- ) {
- matchCount += 1;
- }
- }
- test.strictEqual(20, matchCount, "definedParameterCount");
- test.done();
- },
- /**
- * Checks support of canonical-form.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-config
- */
- LSSerializerConfig3 : function (test) {
- var success, domImpl, serializer, config, state, canSet, propertyName = "cAnonical-form";
- domImpl = getImplementation();
- serializer = domImpl.createLSSerializer();
- config = serializer.domConfig;
- test.ok(config !== null, "configNotNull");
- state = config.getParameter(propertyName);
- test.ok(state === false, "defaultValue");
- canSet = config.canSetParameter(propertyName,true);
- if(
- canSet
- ) {
- config.setParameter(propertyName, true);
- state = config.getParameter(propertyName);
- test.ok(state, "setTrueIsEffective");
- config.setParameter(propertyName, false);
- state = config.getParameter(propertyName);
- test.ok(state === false, "setFalseIsEffective");
- }
- else {
- config.setParameter(propertyName, false);
- {
- success = false;
- try {
- config.setParameter(propertyName, true);
- }
- catch(ex) {
- success = (typeof(ex.code) != 'undefined' && ex.code == 9);
- }
- test.ok(success, "throw_NOT_SUPPORTED_ERR_if_canSetParameter_false");
- }
- }
- test.done();
- },
- /**
- * Checks support of discard-default-content.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-config
- */
- LSSerializerConfig4 : function (test) {
- var success, domImpl, serializer, config, state, canSet, propertyName = "dIscard-default-content";
- domImpl = getImplementation();
- serializer = domImpl.createLSSerializer();
- config = serializer.domConfig;
- test.ok(config !== null, "configNotNull");
- state = config.getParameter(propertyName);
- test.ok(state, "defaultValue");
- canSet = config.canSetParameter(propertyName,true);
- test.ok(canSet, "canSetTrue");
- canSet = config.canSetParameter(propertyName,false);
- test.ok(canSet, "canSetFalse");
- config.setParameter(propertyName, false);
- state = config.getParameter(propertyName);
- test.ok(state === false, "setFalse");
- config.setParameter(propertyName, true);
- state = config.getParameter(propertyName);
- test.ok(state, "setTrue");
- test.done();
- },
- /**
- * Checks support of format-pretty-print.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-config
- */
- LSSerializerConfig5 : function (test) {
- var success, domImpl, serializer, config, state, canSet, propertyName = "fOrmat-pretty-print";
- domImpl = getImplementation();
- serializer = domImpl.createLSSerializer();
- config = serializer.domConfig;
- test.ok(config !== null, "configNotNull");
- state = config.getParameter(propertyName);
- test.ok(state === false, "defaultValue");
- canSet = config.canSetParameter(propertyName,true);
- if(
- canSet
- ) {
- config.setParameter(propertyName, true);
- state = config.getParameter(propertyName);
- test.ok(state, "setTrueIsEffective");
- config.setParameter(propertyName, false);
- state = config.getParameter(propertyName);
- test.ok(state === false, "setFalseIsEffective");
- }
- else {
- config.setParameter(propertyName, false);
- {
- success = false;
- try {
- config.setParameter(propertyName, true);
- }
- catch(ex) {
- success = (typeof(ex.code) != 'undefined' && ex.code == 9);
- }
- test.ok(success, "throw_NOT_SUPPORTED_ERR_if_canSetParameter_false");
- }
- }
- test.done();
- },
- /**
- * Checks support of ignore-unknown-character-denormalizations.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-config
- */
- LSSerializerConfig6 : function (test) {
- var success, domImpl, serializer, config, state, canSet, propertyName = "iGnore-unknown-character-denormalizations";
- domImpl = getImplementation();
- serializer = domImpl.createLSSerializer();
- config = serializer.domConfig;
- test.ok(config !== null, "configNotNull");
- state = config.getParameter(propertyName);
- test.ok(state, "defaultValue");
- canSet = config.canSetParameter(propertyName,false);
- if(
- canSet
- ) {
- config.setParameter(propertyName, false);
- state = config.getParameter(propertyName);
- test.ok(state === false, "setFalseIsEffective");
- config.setParameter(propertyName, true);
- state = config.getParameter(propertyName);
- test.ok(state, "setTrueIsEffective");
- }
- else {
- config.setParameter(propertyName, true);
- {
- success = false;
- try {
- config.setParameter(propertyName, false);
- }
- catch(ex) {
- success = (typeof(ex.code) != 'undefined' && ex.code == 9);
- }
- test.ok(success, "throw_NOT_SUPPORTED_ERR_if_canSetParameter_false");
- }
- }
- test.done();
- },
- /**
- * Checks support of xml-declaration.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-config
- */
- LSSerializerConfig7 : function (test) {
- var success, domImpl, serializer, config, state, canSet, propertyName = "xMl-declaration";
- domImpl = getImplementation();
- serializer = domImpl.createLSSerializer();
- config = serializer.domConfig;
- test.ok(config !== null, "configNotNull");
- state = config.getParameter(propertyName);
- test.ok(state, "defaultValue");
- canSet = config.canSetParameter(propertyName,true);
- test.ok(canSet, "canSetTrue");
- canSet = config.canSetParameter(propertyName,false);
- test.ok(canSet, "canSetFalse");
- config.setParameter(propertyName, false);
- state = config.getParameter(propertyName);
- test.ok(state === false, "setFalse");
- config.setParameter(propertyName, true);
- state = config.getParameter(propertyName);
- test.ok(state, "setTrue");
- test.done();
- },
- /**
- * Checks support of well-formed.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-config
- */
- LSSerializerConfig8 : function (test) {
- var success, domImpl, serializer, config, state, canSet, propertyName = "wEll-formed";
- domImpl = getImplementation();
- serializer = domImpl.createLSSerializer();
- config = serializer.domConfig;
- test.ok(config !== null, "configNotNull");
- state = config.getParameter(propertyName);
- test.ok(state, "defaultValue");
- canSet = config.canSetParameter(propertyName,true);
- test.ok(canSet, "canSetTrue");
- canSet = config.canSetParameter(propertyName,false);
- if(
- canSet
- ) {
- config.setParameter(propertyName, false);
- state = config.getParameter(propertyName);
- test.ok(state === false, "setFalseIsEffective");
- config.setParameter(propertyName, true);
- state = config.getParameter(propertyName);
- test.ok(state, "setTrueIsEffective");
- }
- else {
- {
- success = false;
- try {
- config.setParameter(propertyName, false);
- }
- catch(ex) {
- success = (typeof(ex.code) != 'undefined' && ex.code == 9);
- }
- test.ok(success, "throw_NOT_SUPPORTED_EXCEPTION");
- }
- }
- test.done();
- },
- /**
- * Checks support of namespaces.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-config
- */
- LSSerializerConfig9 : function (test) {
- var success, domImpl, serializer, config, state, canSet, propertyName = "nAmespaces";
- domImpl = getImplementation();
- serializer = domImpl.createLSSerializer();
- config = serializer.domConfig;
- test.ok(config !== null, "configNotNull");
- state = config.getParameter(propertyName);
- test.ok(state, "defaultValue");
- canSet = config.canSetParameter(propertyName,true);
- test.ok(canSet, "canSetTrue");
- canSet = config.canSetParameter(propertyName,false);
- if(
- canSet
- ) {
- config.setParameter(propertyName, false);
- state = config.getParameter(propertyName);
- test.ok(state === false, "setFalseIsEffective");
- config.setParameter(propertyName, true);
- state = config.getParameter(propertyName);
- test.ok(state, "setTrueIsEffective");
- }
- else {
- {
- success = false;
- try {
- config.setParameter(propertyName, false);
- }
- catch(ex) {
- success = (typeof(ex.code) != 'undefined' && ex.code == 9);
- }
- test.ok(success, "settingFalseWhenNotSupported");
- }
- }
- test.done();
- },
- /**
- * Writes a document to a URL for a temporary file and rereads the document.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSInput-systemId
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSOutput-systemId
- */
- SystemId1 : function (test) {
- var success, testDoc, domImpl, output, serializer, systemId, checkSystemId, status, input, parser, checkDoc, docElem, docElemName, NULL_SCHEMA_TYPE = null;
- var testDocRef = null;
- if (typeof(this.testDoc) != 'undefined') {
- testDocRef = this.testDoc;
- }
- testDoc = load(testDocRef, "testDoc", "test0");
- domImpl = getImplementation();
- output = domImpl.createLSOutput();
- checkSystemId = output.systemId;
- test.ok(checkSystemId === null, "LSOutputSystemIdInitiallyNull");
- // TODO: umm.. what? are these tests complete?
- // fail("Unrecognized method or attribute createTempURI");
- output.systemId = systemId;
- checkSystemId = output.systemId;
- test.strictEqual(systemId, checkSystemId, "LSOutputSystemIdMatch");
- serializer = domImpl.createLSSerializer();
- status = serializer.write(testDoc,output);
- test.ok(status, "writeStatus");
- input = domImpl.createLSInput();
- checkSystemId = input.systemId;
- test.ok(checkSystemId === null, "LSInputSystemIdInitiallyNull");
- input.systemId = systemId;
- checkSystemId = input.systemId;
- test.strictEqual(systemId, checkSystemId, "LSInputSystemIdMatch");
- parser = domImpl.createLSParser(1,NULL_SCHEMA_TYPE);
- checkDoc = parser.parse(input);
- test.ok(checkDoc !== null, "checkNotNull");
- docElem = checkDoc.documentElement;
- docElemName = docElem.nodeName;
- test.strictEqual("elt0", docElemName, "checkDocElemName");
- test.done();
- },
- /**
- * Writes a document to a URL for a temporary http document and rereads the document.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSInput-systemId
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSOutput-systemId
- */
- SystemId2 : function (test) {
- var success, testDoc, domImpl, output, serializer, systemId, checkSystemId, status, input, parser, checkDoc, docElem, docElemName, NULL_SCHEMA_TYPE = null;
- var testDocRef = null;
- if (typeof(this.testDoc) != 'undefined') {
- testDocRef = this.testDoc;
- }
- testDoc = load(testDocRef, "testDoc", "test0");
- domImpl = getImplementation();
- output = domImpl.createLSOutput();
- checkSystemId = output.systemId;
- test.ok(checkSystemId === null, "LSOutputSystemIdInitiallyNull");
- // TODO: umm.. what? are these tests complete?
- // fail("Unrecognized method or attribute createTempURI");
- output.systemId = systemId;
- checkSystemId = output.systemId;
- test.strictEqual(systemId, checkSystemId, "LSOutputSystemIdMatch");
- serializer = domImpl.createLSSerializer();
- status = serializer.write(testDoc,output);
- test.ok(status, "writeStatus");
- input = domImpl.createLSInput();
- checkSystemId = input.systemId;
- test.ok(checkSystemId === null, "LSInputSystemIdInitiallyNull");
- input.systemId = systemId;
- checkSystemId = input.systemId;
- test.strictEqual(systemId, checkSystemId, "LSInputSystemIdMatch");
- parser = domImpl.createLSParser(1,NULL_SCHEMA_TYPE);
- checkDoc = parser.parse(input);
- test.ok(checkDoc !== null, "checkNotNull");
- docElem = checkDoc.documentElement;
- docElemName = docElem.nodeName;
- test.strictEqual("elt0", docElemName, "checkDocElemName");
- test.done();
- },
- /**
- *
- Load a document with canonical-form = true and see that entity references are not present in
- the element content.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-canonical-form
- */
- canonicalform01 : function (test) {
- var success, doc, docElem, elemList, elem, node, nodeType, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI, canSet;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- canSet = domConfig.canSetParameter("canonical-form",true);
- if(
- canSet
- ) {
- domConfig.setParameter("canonical-form", true);
- resourceURI = getResourceURI("hc_staff");
- doc = lsParser.parseURI(resourceURI);
- elemList = doc.getElementsByTagName("acronym");
- elem = elemList.item(1);
- node = elem.firstChild;
- nodeType = node.nodeType;
- test.strictEqual(3, nodeType, "acrContentIsText");
- }
- test.done();
- },
- /**
- *
- Load a document with canonical-form = true and see that CDATASection are not present in
- the parsed document.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-canonical-form
- */
- canonicalform03 : function (test) {
- var success, doc, elem, node, nodeType, domConfig, pList, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI, canSet;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- canSet = domConfig.canSetParameter("canonical-form",true);
- if(
- canSet
- ) {
- domConfig.setParameter("canonical-form", true);
- resourceURI = getResourceURI("hc_staff");
- doc = lsParser.parseURI(resourceURI);
- pList = doc.getElementsByTagName("strong");
- elem = pList.item(1);
- node = elem.lastChild;
- nodeType = node.nodeType;
- test.strictEqual(3, nodeType, "childIsText");
- }
- test.done();
- },
- /**
- *
- Attempt to load a namespace invalid document with canonical-form = true.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-canonical-form
- */
- canonicalform04 : function (test) {
- var success, doc, node, nodeType, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI, canSet;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- canSet = domConfig.canSetParameter("canonical-form",true);
- if(
- canSet
- ) {
- domConfig.setParameter("canonical-form", true);
- resourceURI = getResourceURI("namespaces1");
- {
- success = false;
- try {
- doc = lsParser.parseURI(resourceURI);
- }
- catch(ex) {
- success = (typeof(ex.code) != 'undefined' && ex.code == 81);
- }
- test.ok(success, "throw_PARSE_ERR");
- }
- }
- test.done();
- },
- /**
- *
- Load a document with canonical-form = true and see that attributes for namespace declarations are present.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-namespace-declarations
- */
- canonicalform05 : function (test) {
- var success, doc, docElem, elemList, elem, node, nodeType, domConfig, domImplLS, lsParser, canSet, nullSchemaType = null;
- var resourceURI;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- canSet = domConfig.canSetParameter("canonical-form",true);
- if(
- canSet
- ) {
- domConfig.setParameter("canonical-form", true);
- resourceURI = getResourceURI("hc_staff");
- doc = lsParser.parseURI(resourceURI);
- elemList = doc.getElementsByTagName("p");
- elem = elemList.item(0);
- node = elem.getAttributeNode("xmlns:dmstc");
- test.ok(node !== null, "nsAttrNotNull");
- }
- test.done();
- },
- /**
- *
- Load a document with canonical-form and validate = true and check that
- element content whitespace is not eliminated.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-canonical-form
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-validate
- */
- canonicalform06 : function (test) {
- var success, doc, elem, node, nodeType, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI, canSetValidate, canSetCanonicalForm, elemList;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- canSetValidate = domConfig.canSetParameter("validate",true);
- canSetCanonicalForm = domConfig.canSetParameter("canonical-form",true);
- if(
- (canSetValidate && canSetCanonicalForm)
- ) {
- domConfig.setParameter("validate", true);
- domConfig.setParameter("canonical-form", true);
- resourceURI = getResourceURI("hc_staff");
- doc = lsParser.parseURI(resourceURI);
- elemList = doc.getElementsByTagName("p");
- elem = elemList.item(0);
- node = elem.firstChild;
- nodeType = node.nodeType;
- test.strictEqual(3, nodeType, "nodeIsText");
- }
- test.done();
- },
- /**
- *
- Normalize document based on section 3.1 with canonical-form set to true and check normalized document.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-canonical-form
- */
- canonicalform08 : function (test) {
- var success, doc, bodyList, body, domConfig, canSet, canSetValidate, node, nodeName, nodeValue, nodeType, length, text, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI, canSetCanonicalForm;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- canSetCanonicalForm = domConfig.canSetParameter("canonical-form",true);
- if(
- canSetCanonicalForm
- ) {
- domConfig.setParameter("canonical-form", true);
- resourceURI = getResourceURI("canonicalform01");
- doc = lsParser.parseURI(resourceURI);
- node = doc.firstChild;
- nodeType = node.nodeType;
- test.strictEqual(7, nodeType, "PIisFirstChild");
- nodeValue = node.data;
- length = nodeValue.length;
- test.strictEqual(36, length, "piDataLength");
- node = node.nextSibling;
- nodeType = node.nodeType;
- test.strictEqual(3, nodeType, "TextisSecondChild");
- nodeValue = node.nodeValue;
- length = nodeValue.length;
- test.strictEqual(1, length, "secondChildLength");
- node = node.nextSibling;
- nodeType = node.nodeType;
- test.strictEqual(1, nodeType, "ElementisThirdChild");
- node = node.nextSibling;
- nodeType = node.nodeType;
- test.strictEqual(3, nodeType, "TextisFourthChild");
- nodeValue = node.nodeValue;
- length = nodeValue.length;
- test.strictEqual(1, length, "fourthChildLength");
- node = node.nextSibling;
- nodeType = node.nodeType;
- test.strictEqual(7, nodeType, "PIisFifthChild");
- nodeValue = node.data;
- test.strictEqual("", nodeValue, "trailingPIData");
- node = node.nextSibling;
- nodeType = node.nodeType;
- test.strictEqual(3, nodeType, "TextisSixthChild");
- nodeValue = node.nodeValue;
- length = nodeValue.length;
- test.strictEqual(1, length, "sixthChildLength");
- node = node.nextSibling;
- nodeType = node.nodeType;
- test.strictEqual(8, nodeType, "CommentisSeventhChild");
- node = node.nextSibling;
- nodeType = node.nodeType;
- test.strictEqual(3, nodeType, "TextisEighthChild");
- nodeValue = node.nodeValue;
- length = nodeValue.length;
- test.strictEqual(1, length, "eighthChildLength");
- node = node.nextSibling;
- nodeType = node.nodeType;
- test.strictEqual(8, nodeType, "CommentisNinthChild");
- node = node.nextSibling;
- test.ok(node === null, "TenthIsNull");
- }
- test.done();
- },
- /**
- *
- Normalize document based on section 3.1 with canonical-form set to true
- and comments to false and check normalized document.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-canonical-form
- */
- canonicalform09 : function (test) {
- var success, doc, bodyList, body, domConfig, canSet, canSetValidate, node, nodeName, nodeValue, nodeType, length, text, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI, canSetCanonicalForm;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- canSetCanonicalForm = domConfig.canSetParameter("canonical-form",true);
- if(
- canSetCanonicalForm
- ) {
- domConfig.setParameter("canonical-form", true);
- domConfig.setParameter("comments", false);
- resourceURI = getResourceURI("canonicalform01");
- doc = lsParser.parseURI(resourceURI);
- node = doc.firstChild;
- nodeType = node.nodeType;
- test.strictEqual(7, nodeType, "PIisFirstChild");
- nodeValue = node.data;
- length = nodeValue.length;
- test.strictEqual(36, length, "piDataLength");
- node = node.nextSibling;
- nodeType = node.nodeType;
- test.strictEqual(3, nodeType, "TextisSecondChild");
- nodeValue = node.nodeValue;
- length = nodeValue.length;
- test.strictEqual(1, length, "secondChildLength");
- node = node.nextSibling;
- nodeType = node.nodeType;
- test.strictEqual(1, nodeType, "ElementisThirdChild");
- node = node.nextSibling;
- nodeType = node.nodeType;
- test.strictEqual(3, nodeType, "TextisFourthChild");
- nodeValue = node.nodeValue;
- length = nodeValue.length;
- test.strictEqual(1, length, "fourthChildLength");
- node = node.nextSibling;
- nodeType = node.nodeType;
- test.strictEqual(7, nodeType, "PIisFifthChild");
- nodeValue = node.data;
- test.strictEqual("", nodeValue, "trailingPIData");
- node = node.nextSibling;
- test.ok(node === null, "SixthIsNull");
- }
- test.done();
- },
- /**
- *
- Check elimination of unnecessary namespace prefixes when
- normalized with canonical-form = true.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-canonical-form
- */
- canonicalform10 : function (test) {
- var success, doc, divList, div, domConfig, node, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI, canSetCanonicalForm;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- canSetCanonicalForm = domConfig.canSetParameter("canonical-form",true);
- if(
- canSetCanonicalForm
- ) {
- domConfig.setParameter("canonical-form", true);
- resourceURI = getResourceURI("canonicalform03");
- doc = lsParser.parseURI(resourceURI);
- divList = doc.getElementsByTagName("div");
- div = divList.item(5);
- node = div.getAttributeNode("xmlns");
- test.ok(node !== null, "xmlnsPresent");
- node = div.getAttributeNode("xmlns:a");
- test.ok(node === null, "xmlnsANotPresent");
- }
- test.done();
- },
- /**
- *
- Check that default attributes are made explicitly specified.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-canonical-form
- */
- canonicalform11 : function (test) {
- var success, doc, elemList, elem, domConfig, attr, attrValue, attrSpecified, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI, canSetCanonicalForm;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- canSetCanonicalForm = domConfig.canSetParameter("canonical-form",true);
- if(
- canSetCanonicalForm
- ) {
- domConfig.setParameter("canonical-form", true);
- resourceURI = getResourceURI("canonicalform03");
- doc = lsParser.parseURI(resourceURI);
- elemList = doc.getElementsByTagName("acronym");
- elem = elemList.item(0);
- attr = elem.getAttributeNode("title");
- test.ok(attr !== null, "titlePresent");
- attrSpecified = attr.specified;
- test.ok(attrSpecified, "titleSpecified");
- attrValue = attr.nodeValue;
- test.strictEqual("default", attrValue, "titleValue");
- }
- test.done();
- },
- /**
- *
- Load a document with canonical-form = true and see that the DocumentType node is eliminated.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-canonical-form
- */
- canonicalform12 : function (test) {
- var success, doc, doctype, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI, canSet;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- canSet = domConfig.canSetParameter("canonical-form",true);
- if(
- canSet
- ) {
- domConfig.setParameter("canonical-form", true);
- resourceURI = getResourceURI("hc_staff");
- doc = lsParser.parseURI(resourceURI);
- doctype = doc.doctype;
- test.ok(doctype === null, "doctypeIsNull");
- }
- test.done();
- },
- /**
- *
- Serializing an XML 1.1 document when canonical-form raises a SERIALIZE_ERR.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-writeToString
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-canonical-form
- */
- canonicalform13 : function (test) {
- var success, doc, domConfig, domImplLS, lsSerializer, docType = null;
- var output, canSet;
- domImplLS = getImplementation();
- lsSerializer = domImplLS.createLSSerializer();
- domConfig = lsSerializer.domConfig;
- canSet = domConfig.canSetParameter("canonical-form",true);
- if(
- canSet
- ) {
- domConfig.setParameter("", true);
- doc = domImplLS.createDocument("http://www.example.org","test",docType);
- try {
- doc.xmlVersion = "1.1";
- } catch (ex) {
- if (typeof(ex.code) != 'undefined') {
- switch(ex.code) {
- case /* NOT_SUPPORTED_ERR */ 9 :
- return ;
- default:
- throw ex;
- }
- } else {
- throw ex;
- }
- }
- {
- success = false;
- try {
- output = lsSerializer.writeToString(doc);
- }
- catch(ex) {
- success = (typeof(ex.code) != 'undefined' && ex.code == 82);
- }
- test.ok(success, "throw_SERIALIZE_ERR");
- }
- }
- test.done();
- },
- /**
- *
- Load a document with cdata-sections = false and see that CDATASection are not present in
- the parsed document.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-cdata-sections
- */
- cdatasections01 : function (test) {
- var success, doc, elem, node, nodeType, domConfig, pList, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- domConfig.setParameter("cdata-sections", false);
- resourceURI = getResourceURI("hc_staff");
- doc = lsParser.parseURI(resourceURI);
- pList = doc.getElementsByTagName("strong");
- elem = pList.item(1);
- node = elem.lastChild;
- nodeType = node.nodeType;
- test.strictEqual(3, nodeType, "childIsText");
- test.done();
- },
- /**
- *
- Load a document with cdata-sections = true and see that CDATASection are present in
- the parsed document.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-cdata-sections
- */
- cdatasections02 : function (test) {
- var success, doc, elem, node, nodeType, domConfig, pList, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- domConfig.setParameter("cdata-sections", true);
- resourceURI = getResourceURI("hc_staff");
- doc = lsParser.parseURI(resourceURI);
- pList = doc.getElementsByTagName("strong");
- elem = pList.item(1);
- node = elem.lastChild;
- nodeType = node.nodeType;
- test.strictEqual(4, nodeType, "childIsCDATA");
- test.done();
- },
- /**
- *
- CDATASections should be preserved when cdata-sections is true.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-writeToString
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-cdata-sections
- */
- cdatasections03 : function (test) {
- var success, doc, domConfig, domImplLS, lsSerializer, docType = null;
- var docElem, newNode, output, retNode;
- domImplLS = getImplementation();
- lsSerializer = domImplLS.createLSSerializer();
- doc = domImplLS.createDocument("http://www.example.org","test",docType);
- docElem = doc.documentElement;
- newNode = doc.createCDATASection("foo");
- retNode = docElem.appendChild(newNode);
- domConfig = lsSerializer.domConfig;
- domConfig.setParameter("cdata-sections", true);
- output = lsSerializer.writeToString(doc);
- test.ok(output.indexOf("![CDATA[foo]]") >= 0, "containsCDATA");
- test.done();
- },
- /**
- *
- CDATASections should be eliminated when cdata-sections is false.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-writeToString
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-cdata-sections
- */
- cdatasections04 : function (test) {
- var success, doc, domConfig, domImplLS, lsSerializer, docType = null;
- var docElem, newNode, output, retNode;
- domImplLS = getImplementation();
- lsSerializer = domImplLS.createLSSerializer();
- doc = domImplLS.createDocument("http://www.example.org","test",docType);
- docElem = doc.documentElement;
- newNode = doc.createCDATASection("foo");
- retNode = docElem.appendChild(newNode);
- domConfig = lsSerializer.domConfig;
- domConfig.setParameter("cdata-sections", false);
- output = lsSerializer.writeToString(doc);
- test.ok(output.indexOf(">foo</") >= 0, "containsCDATA");
- test.done();
- },
- /**
- *
- Parsing a non-Unicode normalized document should not raise an exception if check-character-normalization
- is false.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-check-character-normalization
- */
- checkcharacternormalization01 : function (test) {
- var success, doc, domConfig, domImplLS, lsParser, resourceURI, nullSchemaLanguage = null;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaLanguage);
- domConfig = lsParser.domConfig;
- domConfig.setParameter("check-character-normalization", false);
- resourceURI = getResourceURI("characternormalization1");
- doc = lsParser.parseURI(resourceURI);
- test.ok(doc !== null, "docNotNull");
- test.done();
- },
- /**
- *
- Parsing a non-Unicode normalized document should raise PARSE_ERR if check-character-normalization
- is false.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-check-character-normalization
- */
- checkcharacternormalization02 : function (test) {
- var success, doc, domConfig, domImplLS, lsParser, resourceURI, canSet, nullSchemaLanguage = null;
-
- errorMonitor = new DOMErrorMonitor();
- var errors = new Array();
- var error, severity, type, errorCount = 0;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaLanguage);
- domConfig = lsParser.domConfig;
- canSet = domConfig.canSetParameter("check-character-normalization",true);
- if(
- canSet
- ) {
- domConfig.setParameter("check-character-normalization", true);
- domConfig.setParameter("error-handler", errorMonitor.handleError);
- resourceURI = getResourceURI("characternormalization1");
- {
- success = false;
- try {
- doc = lsParser.parseURI(resourceURI);
- }
- catch(ex) {
- success = (typeof(ex.code) != 'undefined' && ex.code == 81);
- }
- test.ok(success, "throw_PARSE_ERR");
- }
- errors = errorMonitor.allErrors;
- for(var indexN1008E = 0;indexN1008E < errors.length; indexN1008E++) {
- error = errors[indexN1008E];
- severity = error.severity;
- type = error.type;
- if(
- (severity > 1)
- ) {
- test.strictEqual(2, severity, "isError");
- test.strictEqual("check-character-normalization-failure", type, "isCheck_Failure");
- errorCount += 1;
- }
- }
- test.strictEqual(1, errorCount, "oneError");
- }
- test.done();
- },
- /**
- *
- Characters should not be checked for normalization on serialization if check-character-normalization = false.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-writeToString
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-check-character-normalization
- */
- checkcharacternormalization03 : function (test) {
- var success, doc, domConfig, domImplLS, lsSerializer, docType = null;
- var docElem, newNode, output, retNode;
- domImplLS = getImplementation();
- lsSerializer = domImplLS.createLSSerializer();
- doc = domImplLS.createDocument("http://www.example.org","suçon",docType);
- docElem = doc.documentElement;
- domConfig = lsSerializer.domConfig;
- domConfig.setParameter("check-character-normalization", false);
- domConfig.setParameter("normalize-characters", false);
- output = lsSerializer.writeToString(doc);
- test.done();
- },
- /**
- *
- Characters should be checked for normalization on serialization if check-character-normalization = true.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-writeToString
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-check-character-normalization
- */
- checkcharacternormalization04 : function (test) {
- var success, doc, domConfig, domImplLS, lsSerializer, docType = null;
- var docElem, newNode, output, retNode;
- errorMonitor = new DOMErrorMonitor();
- var errors = new Array();
- var error, severity, type, canSet, errorCount = 0;
- domImplLS = getImplementation();
- lsSerializer = domImplLS.createLSSerializer();
- doc = domImplLS.createDocument("http://www.example.org","suçon",docType);
- docElem = doc.documentElement;
- domConfig = lsSerializer.domConfig;
- canSet = domConfig.canSetParameter("check-character-normalization",true);
- if(
- canSet
- ) {
- domConfig.setParameter("check-character-normalization", true);
- domConfig.setParameter("normalize-characters", false);
- domConfig.setParameter("error-handler", errorMonitor.handleError);
- {
- success = false;
- try {
- output = lsSerializer.writeToString(doc);
- }
- catch(ex) {
- success = (typeof(ex.code) != 'undefined' && ex.code == 82);
- }
- test.ok(success, "throw_SERIALIZE_ERR");
- }
- errors = errorMonitor.allErrors;
- for(var indexN100A3 = 0;indexN100A3 < errors.length; indexN100A3++) {
- error = errors[indexN100A3];
- severity = error.severity;
- type = error.type;
- if(("check-character-normalization-failure" == type)) {
- test.strictEqual(2, severity, "severityError");
- errorCount += 1;
- }
- }
- assertTrue("hasErrors", (errorCount > 0));
- }
- test.done();
- },
- /**
- *
- Load a document with comments = false and see that comments are not present in
- the parsed document.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-comments
- */
- comments01 : function (test) {
- var success, doc, docElem, node, nodeType, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- domConfig.setParameter("comments", false);
- resourceURI = getResourceURI("hc_staff");
- doc = lsParser.parseURI(resourceURI);
- docElem = doc.documentElement;
- node = docElem.previousSibling;
- nodeType = node.nodeType;
- test.strictEqual(10, nodeType, "nodeIsDocType");
- test.done();
- },
- /**
- *
- Load a document with comments = true and see that comments are present in
- the parsed document.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-comments
- */
- comments02 : function (test) {
- var success, doc, docElem, node, nodeType, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- domConfig.setParameter("comments", true);
- resourceURI = getResourceURI("hc_staff");
- doc = lsParser.parseURI(resourceURI);
- docElem = doc.documentElement;
- node = docElem.previousSibling;
- nodeType = node.nodeType;
- test.strictEqual(8, nodeType, "nodeIsDocType");
- test.done();
- },
- /**
- *
- Comments should be preserved when comments is true.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-writeToString
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-comments
- */
- comments03 : function (test) {
- var success, doc, domConfig, domImplLS, lsSerializer, docType = null;
- var docElem, newNode, output, retNode;
- domImplLS = getImplementation();
- lsSerializer = domImplLS.createLSSerializer();
- doc = domImplLS.createDocument("http://www.example.org","test",docType);
- docElem = doc.documentElement;
- newNode = doc.createComment("foo");
- retNode = docElem.appendChild(newNode);
- domConfig = lsSerializer.domConfig;
- domConfig.setParameter("comments", true);
- output = lsSerializer.writeToString(doc);
- test.ok(output.indexOf("><!--foo--></") >= 0, "hasComment");
- test.done();
- },
- /**
- *
- Comments should be discarded when comments is false.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-writeToString
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-comments
- */
- comments04 : function (test) {
- var success, doc, domConfig, domImplLS, lsSerializer, docType = null;
- var docElem, newNode, output, retNode;
- domImplLS = getImplementation();
- lsSerializer = domImplLS.createLSSerializer();
- doc = domImplLS.createDocument("http://www.example.org","test",docType);
- docElem = doc.documentElement;
- newNode = doc.createComment("foo");
- retNode = docElem.appendChild(newNode);
- domConfig = lsSerializer.domConfig;
- domConfig.setParameter("comments", false);
- output = lsSerializer.writeToString(doc);
- {
- test.ok((output.indexOf("<!--") >= 0) === false, "noComment");
- }
- test.done();
- },
- /**
- *
- Normalize document with datatype-normalization set to true.
- Check if double values were normalized.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-datatype-normalization
- */
- datatypenormalization01 : function (test) {
- var success, doc, elemList, element, domConfig, str, canSetNormalization, canSetValidate, canSetXMLSchema, xsdNS = "http://www.w3.org/2001/XMLSchema", domImplLS, lsParser, resourceURI;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,xsdNS);
- if(
- (lsParser == null)
- ) {
- return ;
- }
- domConfig = lsParser.domConfig;
- canSetNormalization = domConfig.canSetParameter("datatype-normalization",true);
- canSetValidate = domConfig.canSetParameter("validate",true);
- canSetXMLSchema = domConfig.canSetParameter("schema-type",xsdNS);
- if(
- (canSetNormalization && canSetValidate && canSetXMLSchema)
- ) {
- domConfig.setParameter("datatype-normalization", true);
- domConfig.setParameter("validate", true);
- domConfig.setParameter("schema-type", xsdNS);
- resourceURI = getResourceURI("datatype_normalization");
- doc = lsParser.parseURI(resourceURI);
- elemList = doc.getElementsByTagNameNS("http://www.w3.org/2001/DOM-Test-Suite/Level-3/datatype_normalization","double");
- element = elemList.item(0);
- str = element.getAttribute("value");
- test.strictEqual("+0003.141592600E+0000", str, "firstValue");
- str = element.getAttribute("union");
- test.strictEqual("+0003.141592600E+0000", str, "firstUnion");
- str = element.textContent;
- test.strictEqual("-31415926.00E-7 2.718", str, "firstList");
- element = elemList.item(1);
- str = element.getAttribute("value");
- test.strictEqual("NaN", str, "secondValue");
- str = element.getAttribute("union");
- test.strictEqual("NaN", str, "secondUnion");
- str = element.textContent;
- test.strictEqual("INF -INF", str, "secondList");
- element = elemList.item(2);
- str = element.getAttribute("value");
- test.strictEqual("1", str, "thirdValue");
- str = element.getAttribute("union");
- test.strictEqual("1", str, "thirdUnion");
- str = element.textContent;
- test.strictEqual("-0", str, "thirdList");
- }
- test.done();
- },
- /**
- *
- Normalize document with datatype-normalization set to true.
- Check if decimal values were normalized.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-datatype-normalization
- */
- datatypenormalization02 : function (test) {
- var success, doc, elemList, element, domConfig, str, canSetNormalization, canSetValidate, canSetXMLSchema, xsdNS = "http://www.w3.org/2001/XMLSchema", domImplLS, lsParser, resourceURI;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,xsdNS);
- if(
- (lsParser == null)
- ) {
- return ;
- }
- domConfig = lsParser.domConfig;
- canSetNormalization = domConfig.canSetParameter("datatype-normalization",true);
- canSetValidate = domConfig.canSetParameter("validate",true);
- canSetXMLSchema = domConfig.canSetParameter("schema-type",xsdNS);
- if(
- (canSetNormalization && canSetValidate && canSetXMLSchema)
- ) {
- domConfig.setParameter("datatype-normalization", true);
- domConfig.setParameter("validate", true);
- domConfig.setParameter("schema-type", xsdNS);
- resourceURI = getResourceURI("datatype_normalization");
- doc = lsParser.parseURI(resourceURI);
- elemList = doc.getElementsByTagNameNS("http://www.w3.org/2001/DOM-Test-Suite/Level-3/datatype_normalization","decimal");
- element = elemList.item(0);
- str = element.getAttribute("value");
- test.strictEqual("+0003.141592600", str, "firstValue");
- str = element.getAttribute("union");
- test.strictEqual("+0003.141592600", str, "firstUnion");
- str = element.textContent;
- test.strictEqual("+10 .1", str, "firstList");
- element = elemList.item(1);
- str = element.getAttribute("value");
- test.strictEqual("01", str, "secondValue");
- str = element.getAttribute("union");
- test.strictEqual("01", str, "secondUnion");
- str = element.textContent;
- test.strictEqual("-.001", str, "secondList");
- }
- test.done();
- },
- /**
- *
- Normalize document with datatype-normalization set to true.
- Check if boolean values were whitespace normalized.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-datatype-normalization
- */
- datatypenormalization03 : function (test) {
- var success, doc, elemList, element, domConfig, str, canSetNormalization, canSetValidate, canSetXMLSchema, xsdNS = "http://www.w3.org/2001/XMLSchema", domImplLS, lsParser, resourceURI;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,xsdNS);
- if(
- (lsParser == null)
- ) {
- return ;
- }
- domConfig = lsParser.domConfig;
- canSetNormalization = domConfig.canSetParameter("datatype-normalization",true);
- canSetValidate = domConfig.canSetParameter("validate",true);
- canSetXMLSchema = domConfig.canSetParameter("schema-type",xsdNS);
- if(
- (canSetNormalization && canSetValidate && canSetXMLSchema)
- ) {
- domConfig.setParameter("datatype-normalization", true);
- domConfig.setParameter("validate", true);
- domConfig.setParameter("schema-type", xsdNS);
- resourceURI = getResourceURI("datatype_normalization");
- doc = lsParser.parseURI(resourceURI);
- elemList = doc.getElementsByTagNameNS("http://www.w3.org/2001/DOM-Test-Suite/Level-3/datatype_normalization","boolean");
- element = elemList.item(0);
- str = element.getAttribute("value");
- test.strictEqual("true", str, "firstValue");
- str = element.getAttribute("union");
- test.strictEqual("false", str, "firstUnion");
- str = element.textContent;
- test.strictEqual("false true false", str, "firstList");
- element = elemList.item(1);
- str = element.getAttribute("value");
- test.strictEqual("1", str, "secondValue");
- str = element.getAttribute("union");
- test.strictEqual("0", str, "secondUnion");
- str = element.textContent;
- test.strictEqual("0 1 0", str, "secondList");
- }
- test.done();
- },
- /**
- *
- Normalize document with datatype-normalization set to true.
- Check if float values were normalized.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-datatype-normalization
- */
- datatypenormalization04 : function (test) {
- var success, doc, elemList, element, domConfig, str, canSetNormalization, canSetValidate, canSetXMLSchema, xsdNS = "http://www.w3.org/2001/XMLSchema", domImplLS, lsParser, resourceURI;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,xsdNS);
- if(
- (lsParser == null)
- ) {
- return ;
- }
- domConfig = lsParser.domConfig;
- canSetNormalization = domConfig.canSetParameter("datatype-normalization",true);
- canSetValidate = domConfig.canSetParameter("validate",true);
- canSetXMLSchema = domConfig.canSetParameter("schema-type",xsdNS);
- if(
- (canSetNormalization && canSetValidate && canSetXMLSchema)
- ) {
- domConfig.setParameter("datatype-normalization", true);
- domConfig.setParameter("validate", true);
- domConfig.setParameter("schema-type", xsdNS);
- resourceURI = getResourceURI("datatype_normalization");
- doc = lsParser.parseURI(resourceURI);
- elemList = doc.getElementsByTagNameNS("http://www.w3.org/2001/DOM-Test-Suite/Level-3/datatype_normalization","float");
- element = elemList.item(0);
- str = element.getAttribute("value");
- test.strictEqual("+0003.141592600E+0000", str, "firstValue");
- str = element.getAttribute("union");
- test.strictEqual("+0003.141592600E+0000", str, "firstUnion");
- str = element.textContent;
- test.strictEqual("-31415926.00E-7 2.718", str, "firstList");
- element = elemList.item(1);
- str = element.getAttribute("value");
- test.strictEqual("NaN", str, "secondValue");
- str = element.getAttribute("union");
- test.strictEqual("NaN", str, "secondUnion");
- str = element.textContent;
- test.strictEqual("INF -INF", str, "secondList");
- element = elemList.item(2);
- str = element.getAttribute("value");
- test.strictEqual("1", str, "thirdValue");
- str = element.getAttribute("union");
- test.strictEqual("1", str, "thirdUnion");
- str = element.textContent;
- test.strictEqual("-0", str, "thirdList");
- }
- test.done();
- },
- /**
- *
- Normalize document with datatype-normalization set to true.
- Check if dateTime values were correctly normalized.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-datatype-normalization
- */
- datatypenormalization05 : function (test) {
- var success, doc, elemList, element, domConfig, str, canSetNormalization, canSetValidate, canSetXMLSchema, xsdNS = "http://www.w3.org/2001/XMLSchema", domImplLS, lsParser, resourceURI;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,xsdNS);
- if(
- (lsParser == null)
- ) {
- return ;
- }
- domConfig = lsParser.domConfig;
- canSetNormalization = domConfig.canSetParameter("datatype-normalization",true);
- canSetValidate = domConfig.canSetParameter("validate",true);
- canSetXMLSchema = domConfig.canSetParameter("schema-type",xsdNS);
- if(
- (canSetNormalization && canSetValidate && canSetXMLSchema)
- ) {
- domConfig.setParameter("datatype-normalization", true);
- domConfig.setParameter("validate", true);
- domConfig.setParameter("schema-type", xsdNS);
- resourceURI = getResourceURI("datatype_normalization");
- doc = lsParser.parseURI(resourceURI);
- elemList = doc.getElementsByTagNameNS("http://www.w3.org/2001/DOM-Test-Suite/Level-3/datatype_normalization","dateTime");
- element = elemList.item(0);
- str = element.getAttribute("value");
- test.strictEqual("2004-01-21T15:30:00-05:00", str, "firstValue");
- str = element.getAttribute("union");
- test.strictEqual("2004-01-21T20:30:00-05:00", str, "firstUnion");
- str = element.textContent;
- test.strictEqual("2004-01-21T15:30:00 2004-01-21T15:30:00Z", str, "firstList");
- element = elemList.item(1);
- str = element.getAttribute("value");
- test.strictEqual("2004-01-21T15:30:00.0000-05:00", str, "secondValue");
- str = element.getAttribute("union");
- test.strictEqual("2004-01-21T15:30:00.0000-05:00", str, "secondUnion");
- str = element.textContent;
- test.strictEqual("2004-01-21T15:30:00.0000", str, "secondList");
- element = elemList.item(2);
- str = element.getAttribute("value");
- test.strictEqual("2004-01-21T15:30:00.0001-05:00", str, "thirdValue");
- str = element.getAttribute("union");
- test.strictEqual("2004-01-21T15:30:00.0001-05:00", str, "thirdUnion");
- str = element.textContent;
- test.strictEqual("2004-01-21T15:30:00.0001", str, "thirdList");
- }
- test.done();
- },
- /**
- *
- Normalize document with datatype-normalization set to true.
- Check if time values were normalized.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-datatype-normalization
- */
- datatypenormalization06 : function (test) {
- var success, doc, elemList, element, domConfig, str, canSetNormalization, canSetValidate, canSetXMLSchema, xsdNS = "http://www.w3.org/2001/XMLSchema", domImplLS, lsParser, nullSchemaType = null;
- var resourceURI;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,xsdNS);
- if(
- (lsParser == null)
- ) {
- return ;
- }
- domConfig = lsParser.domConfig;
- canSetNormalization = domConfig.canSetParameter("datatype-normalization",true);
- canSetValidate = domConfig.canSetParameter("validate",true);
- canSetXMLSchema = domConfig.canSetParameter("schema-type",xsdNS);
- if(
- (canSetNormalization && canSetValidate && canSetXMLSchema)
- ) {
- domConfig.setParameter("datatype-normalization", true);
- domConfig.setParameter("validate", true);
- domConfig.setParameter("schema-type", xsdNS);
- resourceURI = getResourceURI("datatype_normalization");
- doc = lsParser.parseURI(resourceURI);
- elemList = doc.getElementsByTagNameNS("http://www.w3.org/2001/DOM-Test-Suite/Level-3/datatype_normalization","time");
- element = elemList.item(0);
- str = element.getAttribute("value");
- test.strictEqual("15:30:00-05:00", str, "firstValue");
- str = element.getAttribute("union");
- test.strictEqual("15:30:00-05:00", str, "firstUnion");
- str = element.textContent;
- test.strictEqual("15:30:00", str, "firstList");
- element = elemList.item(1);
- str = element.getAttribute("value");
- test.strictEqual("15:30:00.0000-05:00", str, "secondValue");
- str = element.getAttribute("union");
- test.strictEqual("15:30:00.0000-05:00", str, "secondUnion");
- str = element.textContent;
- test.strictEqual("15:30:00.0000", str, "secondList");
- element = elemList.item(2);
- str = element.getAttribute("value");
- test.strictEqual("15:30:00.0001-05:00", str, "thirdValue");
- str = element.getAttribute("union");
- test.strictEqual("15:30:00.0001-05:00", str, "thirdUnion");
- str = element.textContent;
- test.strictEqual("15:30:00.0001", str, "thirdList");
- }
- test.done();
- },
- /**
- *
- The default value for the double element must be provided in canonical lexical form.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-datatype-normalization
- */
- datatypenormalization07 : function (test) {
- var success, doc, elemList, element, domConfig, str, canSetNormalization, canSetValidate, canSetXMLSchema, xsdNS = "http://www.w3.org/2001/XMLSchema", domImplLS, lsParser, resourceURI;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,xsdNS);
- if(
- (lsParser == null)
- ) {
- return ;
- }
- domConfig = lsParser.domConfig;
- canSetNormalization = domConfig.canSetParameter("datatype-normalization",true);
- canSetValidate = domConfig.canSetParameter("validate",true);
- canSetXMLSchema = domConfig.canSetParameter("schema-type",xsdNS);
- if(
- (canSetNormalization && canSetValidate && canSetXMLSchema)
- ) {
- domConfig.setParameter("datatype-normalization", true);
- domConfig.setParameter("validate", true);
- domConfig.setParameter("schema-type", xsdNS);
- resourceURI = getResourceURI("datatype_normalization");
- doc = lsParser.parseURI(resourceURI);
- elemList = doc.getElementsByTagNameNS("http://www.w3.org/2001/DOM-Test-Suite/Level-3/datatype_normalization","double");
- element = elemList.item(0);
- str = element.getAttribute("default");
- test.strictEqual("3.1415926E0", str, "firstValue");
- }
- test.done();
- },
- /**
- *
- The default value for the decimal element must be provided in canonical lexical form.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-datatype-normalization
- */
- datatypenormalization08 : function (test) {
- var success, doc, elemList, element, domConfig, str, canSetNormalization, canSetValidate, canSetXMLSchema, xsdNS = "http://www.w3.org/2001/XMLSchema", domImplLS, lsParser, resourceURI;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,xsdNS);
- if(
- (lsParser == null)
- ) {
- return ;
- }
- domConfig = lsParser.domConfig;
- canSetNormalization = domConfig.canSetParameter("datatype-normalization",true);
- canSetValidate = domConfig.canSetParameter("validate",true);
- canSetXMLSchema = domConfig.canSetParameter("schema-type",xsdNS);
- if(
- (canSetNormalization && canSetValidate && canSetXMLSchema)
- ) {
- domConfig.setParameter("datatype-normalization", true);
- domConfig.setParameter("validate", true);
- domConfig.setParameter("schema-type", xsdNS);
- resourceURI = getResourceURI("datatype_normalization");
- doc = lsParser.parseURI(resourceURI);
- elemList = doc.getElementsByTagNameNS("http://www.w3.org/2001/DOM-Test-Suite/Level-3/datatype_normalization","decimal");
- element = elemList.item(0);
- str = element.getAttribute("default");
- test.strictEqual("3.1415926", str, "firstValue");
- }
- test.done();
- },
- /**
- *
- The default value for the boolean element must be provided in canonical lexical form.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-datatype-normalization
- */
- datatypenormalization09 : function (test) {
- var success, doc, elemList, element, domConfig, str, canSetNormalization, canSetValidate, canSetXMLSchema, xsdNS = "http://www.w3.org/2001/XMLSchema", domImplLS, lsParser, nullSchemaType = null;
- var resourceURI;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,xsdNS);
- if(
- (lsParser == null)
- ) {
- return ;
- }
- domConfig = lsParser.domConfig;
- canSetNormalization = domConfig.canSetParameter("datatype-normalization",true);
- canSetValidate = domConfig.canSetParameter("validate",true);
- canSetXMLSchema = domConfig.canSetParameter("schema-type",xsdNS);
- if(
- (canSetNormalization && canSetValidate && canSetXMLSchema)
- ) {
- domConfig.setParameter("datatype-normalization", true);
- domConfig.setParameter("validate", true);
- domConfig.setParameter("schema-type", xsdNS);
- resourceURI = getResourceURI("datatype_normalization");
- doc = lsParser.parseURI(resourceURI);
- elemList = doc.getElementsByTagNameNS("http://www.w3.org/2001/DOM-Test-Suite/Level-3/datatype_normalization","boolean");
- element = elemList.item(0);
- str = element.getAttribute("default");
- test.strictEqual("true", str, "firstValue");
- }
- test.done();
- },
- /**
- *
- The default value for the float element must be provided in canonical lexical form.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-datatype-normalization
- */
- datatypenormalization10 : function (test) {
- var success, doc, elemList, element, domConfig, str, canSetNormalization, canSetValidate, canSetXMLSchema, xsdNS = "http://www.w3.org/2001/XMLSchema", domImplLS, lsParser, resourceURI;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,xsdNS);
- if(
- (lsParser == null)
- ) {
- return ;
- }
- domConfig = lsParser.domConfig;
- canSetNormalization = domConfig.canSetParameter("datatype-normalization",true);
- canSetValidate = domConfig.canSetParameter("validate",true);
- canSetXMLSchema = domConfig.canSetParameter("schema-type",xsdNS);
- if(
- (canSetNormalization && canSetValidate && canSetXMLSchema)
- ) {
- domConfig.setParameter("datatype-normalization", true);
- domConfig.setParameter("validate", true);
- domConfig.setParameter("schema-type", xsdNS);
- resourceURI = getResourceURI("datatype_normalization");
- doc = lsParser.parseURI(resourceURI);
- elemList = doc.getElementsByTagNameNS("http://www.w3.org/2001/DOM-Test-Suite/Level-3/datatype_normalization","float");
- element = elemList.item(0);
- str = element.getAttribute("default");
- test.strictEqual("3.1415926E0", str, "firstValue");
- }
- test.done();
- },
- /**
- *
- The default value for the dateTime element must be provided in canonical lexical form.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-datatype-normalization
- */
- datatypenormalization11 : function (test) {
- var success, doc, elemList, element, domConfig, str, canSetNormalization, canSetValidate, canSetXMLSchema, xsdNS = "http://www.w3.org/2001/XMLSchema", domImplLS, lsParser, resourceURI;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,xsdNS);
- if(
- (lsParser == null)
- ) {
- return ;
- }
- domConfig = lsParser.domConfig;
- canSetNormalization = domConfig.canSetParameter("datatype-normalization",true);
- canSetValidate = domConfig.canSetParameter("validate",true);
- canSetXMLSchema = domConfig.canSetParameter("schema-type",xsdNS);
- if(
- (canSetNormalization && canSetValidate && canSetXMLSchema)
- ) {
- domConfig.setParameter("datatype-normalization", true);
- domConfig.setParameter("validate", true);
- domConfig.setParameter("schema-type", xsdNS);
- resourceURI = getResourceURI("datatype_normalization");
- doc = lsParser.parseURI(resourceURI);
- elemList = doc.getElementsByTagNameNS("http://www.w3.org/2001/DOM-Test-Suite/Level-3/datatype_normalization","dateTime");
- element = elemList.item(0);
- str = element.getAttribute("default");
- test.strictEqual("2004-01-21T20:30:00Z", str, "firstValue");
- }
- test.done();
- },
- /**
- *
- Default values must be provided in canonical lexical form.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-datatype-normalization
- */
- datatypenormalization12 : function (test) {
- var success, doc, elemList, element, domConfig, str, canSetNormalization, canSetValidate, canSetXMLSchema, xsdNS = "http://www.w3.org/2001/XMLSchema", domImplLS, lsParser, resourceURI;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,xsdNS);
- if(
- (lsParser == null)
- ) {
- return ;
- }
- domConfig = lsParser.domConfig;
- canSetNormalization = domConfig.canSetParameter("datatype-normalization",true);
- canSetValidate = domConfig.canSetParameter("validate",true);
- canSetXMLSchema = domConfig.canSetParameter("schema-type",xsdNS);
- if(
- (canSetNormalization && canSetValidate && canSetXMLSchema)
- ) {
- domConfig.setParameter("datatype-normalization", true);
- domConfig.setParameter("validate", true);
- domConfig.setParameter("schema-type", xsdNS);
- resourceURI = getResourceURI("datatype_normalization");
- doc = lsParser.parseURI(resourceURI);
- elemList = doc.getElementsByTagNameNS("http://www.w3.org/2001/DOM-Test-Suite/Level-3/datatype_normalization","time");
- element = elemList.item(0);
- str = element.getAttribute("default");
- test.strictEqual("20:30:00Z", str, "firstValue");
- }
- test.done();
- },
- /**
- *
- Parse document with datatype-normalization set to true.
- Check if string values were normalized per default whitespace
- facet of xsd:string.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-datatype-normalization
- */
- datatypenormalization13 : function (test) {
- var success, doc, elemList, element, domConfig, str, canSetNormalization, canSetValidate, canSetXMLSchema, xsdNS = "http://www.w3.org/2001/XMLSchema", childNode, childValue, domImplLS, lsParser, resourceURI;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,xsdNS);
- if(
- (lsParser == null)
- ) {
- return ;
- }
- domConfig = lsParser.domConfig;
- canSetNormalization = domConfig.canSetParameter("datatype-normalization2",true);
- canSetValidate = domConfig.canSetParameter("validate",true);
- canSetXMLSchema = domConfig.canSetParameter("schema-type",xsdNS);
- if(
- (canSetNormalization && canSetValidate && canSetXMLSchema)
- ) {
- domConfig.setParameter("datatype-normalization", true);
- domConfig.setParameter("validate", true);
- domConfig.setParameter("schema-type", xsdNS);
- resourceURI = getResourceURI("datatype_normalization2");
- doc = lsParser.parseURI(resourceURI);
- elemList = doc.getElementsByTagNameNS("http://www.w3.org/1999/xhtml","em");
- element = elemList.item(0);
- childNode = element.firstChild;
- test.ok(childNode !== null, "childNodeNotNull");
- childValue = childNode.nodeValue;
- test.strictEqual(" EMP 0001 ", childValue, "content");
- }
- test.done();
- },
- /**
- *
- Parse document with datatype-normalization set to true.
- Check if string values were normalized per explicit whitespace=preserve.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-datatype-normalization
- */
- datatypenormalization14 : function (test) {
- var success, doc, elemList, element, domConfig, str, canSetNormalization, canSetValidate, canSetXMLSchema, xsdNS = "http://www.w3.org/2001/XMLSchema", childNode, childValue, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,xsdNS);
- if(
- (lsParser == null)
- ) {
- return ;
- }
- domConfig = lsParser.domConfig;
- canSetNormalization = domConfig.canSetParameter("datatype-normalization2",true);
- canSetValidate = domConfig.canSetParameter("validate",true);
- canSetXMLSchema = domConfig.canSetParameter("schema-type",xsdNS);
- if(
- (canSetNormalization && canSetValidate && canSetXMLSchema)
- ) {
- domConfig.setParameter("datatype-normalization", true);
- domConfig.setParameter("validate", true);
- domConfig.setParameter("schema-type", xsdNS);
- resourceURI = getResourceURI("datatype_normalization2");
- doc = lsParser.parseURI(resourceURI);
- elemList = doc.getElementsByTagNameNS("http://www.w3.org/1999/xhtml","acronym");
- element = elemList.item(0);
- childNode = element.firstChild;
- test.ok(childNode !== null, "childNodeNotNull");
- childValue = childNode.nodeValue;
- test.strictEqual(" EMP 0001 ", childValue, "content");
- }
- test.done();
- },
- /**
- *
- Parse document with datatype-normalization set to true.
- Check if string values were normalized per an explicit whitespace=collapse.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-datatype-normalization
- */
- datatypenormalization15 : function (test) {
- var success, doc, elemList, element, domConfig, str, canSetNormalization, canSetValidate, canSetXMLSchema, xsdNS = "http://www.w3.org/2001/XMLSchema", childNode, childValue, domImplLS, lsParser, resourceURI;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,xsdNS);
- if(
- (lsParser == null)
- ) {
- return ;
- }
- domConfig = lsParser.domConfig;
- canSetNormalization = domConfig.canSetParameter("datatype-normalization2",true);
- canSetValidate = domConfig.canSetParameter("validate",true);
- canSetXMLSchema = domConfig.canSetParameter("schema-type",xsdNS);
- if(
- (canSetNormalization && canSetValidate && canSetXMLSchema)
- ) {
- domConfig.setParameter("datatype-normalization", true);
- domConfig.setParameter("validate", true);
- domConfig.setParameter("schema-type", xsdNS);
- resourceURI = getResourceURI("datatype_normalization2");
- doc = lsParser.parseURI(resourceURI);
- elemList = doc.getElementsByTagNameNS("http://www.w3.org/1999/xhtml","code");
- element = elemList.item(0);
- childNode = element.firstChild;
- childValue = childNode.nodeValue;
- test.strictEqual("EMP 0001", childValue, "content1");
- element = elemList.item(1);
- childNode = element.firstChild;
- childValue = childNode.nodeValue;
- test.strictEqual("EMP 0001", childValue, "content2");
- element = elemList.item(2);
- childNode = element.firstChild;
- childValue = childNode.nodeValue;
- test.strictEqual("EMP 0001", childValue, "content3");
- }
- test.done();
- },
- /**
- *
- Parse document with datatype-normalization set to true.
- Check if string values were normalized per explicit whitespace=replace.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-datatype-normalization
- */
- datatypenormalization16 : function (test) {
- var success, doc, elemList, element, domConfig, str, canSetNormalization, canSetValidate, canSetXMLSchema, xsdNS = "http://www.w3.org/2001/XMLSchema", childNode, childValue, domImplLS, lsParser, resourceURI;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,xsdNS);
- if(
- (lsParser == null)
- ) {
- return ;
- }
- domConfig = lsParser.domConfig;
- canSetNormalization = domConfig.canSetParameter("datatype-normalization2",true);
- canSetValidate = domConfig.canSetParameter("validate",true);
- canSetXMLSchema = domConfig.canSetParameter("schema-type",xsdNS);
- if(
- (canSetNormalization && canSetValidate && canSetXMLSchema)
- ) {
- domConfig.setParameter("datatype-normalization", true);
- domConfig.setParameter("validate", true);
- domConfig.setParameter("schema-type", xsdNS);
- resourceURI = getResourceURI("datatype_normalization2");
- doc = lsParser.parseURI(resourceURI);
- elemList = doc.getElementsByTagNameNS("http://www.w3.org/1999/xhtml","sup");
- element = elemList.item(0);
- childNode = element.firstChild;
- childValue = childNode.nodeValue;
- test.strictEqual(" EMP 0001 ", childValue, "content1");
- element = elemList.item(1);
- childNode = element.firstChild;
- childValue = childNode.nodeValue;
- test.strictEqual("EMP 0001", childValue, "content2");
- element = elemList.item(2);
- childNode = element.firstChild;
- childValue = childNode.nodeValue;
- test.strictEqual("EMP 0001", childValue, "content3");
- element = elemList.item(3);
- childNode = element.firstChild;
- childValue = childNode.nodeValue;
- test.strictEqual("EMP 0001", childValue, "content4");
- }
- test.done();
- },
- /**
- *
- Parse document with datatype-normalization set to false.
- Check if string values were not normalized per an explicit whitespace=collapse.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-datatype-normalization
- */
- datatypenormalization17 : function (test) {
- var success, doc, elemList, element, domConfig, str, canSetValidate, canSetXMLSchema, xsdNS = "http://www.w3.org/2001/XMLSchema", childNode, childValue, domImplLS, lsParser, resourceURI, nullSchemaType = null;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,xsdNS);
- if(
- (lsParser == null)
- ) {
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- }
- domConfig = lsParser.domConfig;
- canSetValidate = domConfig.canSetParameter("validate",true);
- if(
- canSetValidate
- ) {
- domConfig.setParameter("validate", true);
- }
- canSetXMLSchema = domConfig.canSetParameter("schema-type",xsdNS);
- if(
- canSetXMLSchema
- ) {
- domConfig.setParameter("schema-type", xsdNS);
- }
- domConfig.setParameter("datatype-normalization", false);
- resourceURI = getResourceURI("datatype_normalization2");
- doc = lsParser.parseURI(resourceURI);
- elemList = doc.getElementsByTagNameNS("http://www.w3.org/1999/xhtml","code");
- element = elemList.item(1);
- childNode = element.firstChild;
- childValue = childNode.nodeValue;
- test.strictEqual("EMP 0001", childValue, "content2");
- test.done();
- },
- /**
- *
- Parsing a document with a doctype should throw a PARSE_ERR if disallow-doctype is true.
- is false.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#parameter-disallow-doctype
- */
- disallowdoctype01 : function (test) {
- var success, doc, domConfig, domImplLS, lsParser, resourceURI, canSet, nullSchemaLanguage = null;
- errorMonitor = new DOMErrorMonitor();
- var errors = new Array();
- var error, severity, type, errorCount = 0;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaLanguage);
- domConfig = lsParser.domConfig;
- canSet = domConfig.canSetParameter("disallow-doctype",true);
- if(
- canSet
- ) {
- domConfig.setParameter("disallow-doctype", true);
- domConfig.setParameter("error-handler", errorMonitor.handleError);
- resourceURI = getResourceURI("barfoo");
- {
- success = false;
- try {
- doc = lsParser.parseURI(resourceURI);
- }
- catch(ex) {
- success = (typeof(ex.code) != 'undefined' && ex.code == 81);
- }
- test.ok(success, "throw_PARSE_ERR");
- }
- errors = errorMonitor.allErrors;
- for(var indexN1008E = 0;indexN1008E < errors.length; indexN1008E++) {
- error = errors[indexN1008E];
- severity = error.severity;
- type = error.type;
- if(
- (severity > 1)
- ) {
- test.strictEqual(3, severity, "isFatalError");
- test.strictEqual("doctype-not-allowed", type, "isDoctypeNotAllowed");
- errorCount += 1;
- }
- }
- test.strictEqual(1, errorCount, "oneError");
- }
- test.done();
- },
- /**
- *
- Default attributes should be not be serialized if discard-default-content is true.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-writeToString
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#parameter-discard-default-content
- */
- discarddefaultcontent01 : function (test) {
- var success, doc, domConfig, domImplLS, lsSerializer, docType = null;
- var docElem, newNode, output, retNode, canSet;
- domImplLS = getImplementation();
- lsSerializer = domImplLS.createLSSerializer();
- var docRef = null;
- if (typeof(this.doc) != 'undefined') {
- docRef = this.doc;
- }
- doc = load(docRef, "doc", "hc_staff");
- domConfig = lsSerializer.domConfig;
- domConfig.setParameter("discard-default-content", true);
- output = lsSerializer.writeToString(doc);
- {
- test.ok((output.indexOf("dir=") >= 0) === false, "noDirAttr");
- }
- test.done();
- },
- /**
- *
- Default attributes should be explicitly serialized if discard-default-content is false.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-writeToString
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#parameter-discard-default-content
- */
- discarddefaultcontent02 : function (test) {
- var success, doc, domConfig, domImplLS, lsSerializer, docType = null;
- var docElem, newNode, output, retNode, canSet;
- domImplLS = getImplementation();
- lsSerializer = domImplLS.createLSSerializer();
- var docRef = null;
- if (typeof(this.doc) != 'undefined') {
- docRef = this.doc;
- }
- doc = load(docRef, "doc", "hc_staff");
- domConfig = lsSerializer.domConfig;
- domConfig.setParameter("discard-default-content", false);
- output = lsSerializer.writeToString(doc);
- test.ok(output.indexOf("dir=") >= 0, "hasDirAttr");
- test.done();
- },
- /**
- *
- Load a document with element-content-whitespace = false and validation = true and check that
- element content whitespace is eliminated.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-element-content-whitespace
- */
- elementcontentwhitespace01 : function (test) {
- var success, doc, elem, node, nodeType, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI, canSetValidate, canSetWhitespace, elemList;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- canSetValidate = domConfig.canSetParameter("validate",true);
- canSetWhitespace = domConfig.canSetParameter("element-content-whitespace",false);
- if(
- (canSetValidate && canSetWhitespace)
- ) {
- domConfig.setParameter("validate", true);
- domConfig.setParameter("element-content-whitespace", false);
- resourceURI = getResourceURI("hc_staff");
- doc = lsParser.parseURI(resourceURI);
- elemList = doc.getElementsByTagName("p");
- elem = elemList.item(0);
- node = elem.firstChild;
- nodeType = node.nodeType;
- test.strictEqual(1, nodeType, "nodeIsElem");
- }
- test.done();
- },
- /**
- *
- Load a document with element-content-whitespace and validate = true and check that
- element content whitespace is not eliminated.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-element-content-whitespace
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-validate
- */
- elementcontentwhitespace02 : function (test) {
- var success, doc, elem, node, nodeType, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI, canSet, elemList;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- canSet = domConfig.canSetParameter("validate",true);
- if(
- canSet
- ) {
- domConfig.setParameter("validate", true);
- }
- domConfig.setParameter("element-content-whitespace", true);
- resourceURI = getResourceURI("hc_staff");
- doc = lsParser.parseURI(resourceURI);
- elemList = doc.getElementsByTagName("p");
- elem = elemList.item(0);
- node = elem.firstChild;
- nodeType = node.nodeType;
- test.strictEqual(3, nodeType, "nodeIsText");
- test.done();
- },
- /**
- *
- Serialize a document when element-content-whitespace is false, element content whitespace should be eliminated.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-writeToString
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-element-content-whitespace
- */
- elementcontentwhitespace03 : function (test) {
- var success, doc, domConfig, serializerDomConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI, lsSerializer, output, canSetValidate, canSetWhitespace;
- domImplLS = getImplementation();
- lsSerializer = domImplLS.createLSSerializer();
- domConfig = lsSerializer.domConfig;
- canSetValidate = domConfig.canSetParameter("validate",true);
- lsSerializer = domImplLS.createLSSerializer();
- serializerDomConfig = lsSerializer.domConfig;
- canSetWhitespace = serializerDomConfig.canSetParameter("element-content-whitespace",false);
- if(
- (canSetValidate && canSetWhitespace)
- ) {
- domConfig.setParameter("validate", true);
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- domConfig.setParameter("validate", false);
- resourceURI = getResourceURI("test3");
- doc = lsParser.parseURI(resourceURI);
- serializerDomConfig.setParameter("element-content-whitespace", false);
- output = lsSerializer.writeToString(doc);
- test.ok(output.indexOf("<elt0><elt1>") >= 0, "noWhitespace");
- }
- test.done();
- },
- /**
- *
- createLSOutput should create an LSOutput, encoding should be mutable.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-DOMImplementationLS-createLSOutput
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSOutput-encoding
- */
- encoding01 : function (test) {
- var success, domImplLS, lsOutput, encoding;
- domImplLS = getImplementation();
- lsOutput = domImplLS.createLSOutput();
- encoding = lsOutput.encoding;
- lsOutput.encoding = "ISO-8859-1";
- encoding = lsOutput.encoding;
- test.strictEqual("ISO-8859-1".toLowerCase(), encoding.toLowerCase(), "isLatin1");
- test.done();
- },
- /**
- *
- Load a document with entities = false and see that entity references are not present in
- the element content.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-entities
- */
- entities01 : function (test) {
- var success, doc, docElem, elemList, elem, node, nodeType, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- domConfig.setParameter("entities", false);
- resourceURI = getResourceURI("hc_staff");
- doc = lsParser.parseURI(resourceURI);
- elemList = doc.getElementsByTagName("acronym");
- elem = elemList.item(1);
- node = elem.firstChild;
- nodeType = node.nodeType;
- test.strictEqual(3, nodeType, "acrContentIsText");
- test.done();
- },
- /**
- *
- Load a document with entities = false and see that entity references are not present in
- attribute content.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-entities
- */
- entities02 : function (test) {
- var success, doc, docElem, elemList, elem, node, nodeType, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI, attributes, docType, entities, entity, classAttr;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- domConfig.setParameter("entities", false);
- resourceURI = getResourceURI("hc_staff");
- doc = lsParser.parseURI(resourceURI);
- elemList = doc.getElementsByTagName("acronym");
- elem = elemList.item(3);
- attributes = elem.attributes;
- classAttr = attributes.getNamedItem("class");
- node = classAttr.lastChild;
- test.ok(classAttr !== null, "classAttrChildNotNull");
- nodeType = node.nodeType;
- test.strictEqual(3, nodeType, "classAttrChildIsText");
- test.done();
- },
- /**
- *
- Load a document with entities = false and see that entity definitions are preserved.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-entities
- */
- entities03 : function (test) {
- var success, doc, node, nodeType, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI, docType, entities, entity;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- domConfig.setParameter("entities", false);
- resourceURI = getResourceURI("hc_staff");
- doc = lsParser.parseURI(resourceURI);
- docType = doc.doctype;
- test.ok(docType !== null, "docTypeNotNull");
- entities = docType.entities;
- entity = entities.getNamedItem("alpha");
- test.ok(entity !== null, "entityNotNull");
- test.done();
- },
- /**
- *
- Load a document with entities = true and see that entity references are present in
- the element content.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-entities
- */
- entities04 : function (test) {
- var success, doc, docElem, elemList, elem, node, nodeType, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- domConfig.setParameter("entities", true);
- resourceURI = getResourceURI("hc_staff");
- doc = lsParser.parseURI(resourceURI);
- elemList = doc.getElementsByTagName("acronym");
- elem = elemList.item(1);
- node = elem.firstChild;
- nodeType = node.nodeType;
- test.strictEqual(5, nodeType, "acrContentIsEntRef");
- test.done();
- },
- /**
- *
- Load a document with entities = true and see that entity references are present in
- attribute content.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-entities
- */
- entities05 : function (test) {
- var success, doc, docElem, elemList, elem, node, nodeType, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI, attributes, docType, entities, entity, classAttr;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- domConfig.setParameter("entities", true);
- resourceURI = getResourceURI("hc_staff");
- doc = lsParser.parseURI(resourceURI);
- elemList = doc.getElementsByTagName("acronym");
- elem = elemList.item(3);
- attributes = elem.attributes;
- classAttr = attributes.getNamedItem("class");
- node = classAttr.lastChild;
- test.ok(classAttr !== null, "classAttrChildNotNull");
- nodeType = node.nodeType;
- test.strictEqual(5, nodeType, "classAttrChildIsEntRef");
- test.done();
- },
- /**
- *
- Load a document with entities = true and see that entity definitions are preserved.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-entities
- */
- entities06 : function (test) {
- var success, doc, node, nodeType, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI, docType, entities, entity;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- domConfig.setParameter("entities", true);
- resourceURI = getResourceURI("hc_staff");
- doc = lsParser.parseURI(resourceURI);
- docType = doc.doctype;
- test.ok(docType !== null, "docTypeNotNull");
- entities = docType.entities;
- entity = entities.getNamedItem("alpha");
- test.ok(entity !== null, "entityNotNull");
- test.done();
- },
- /**
- *
- A warning should be dispatched if the base URI of a processing instruction can not be preserved.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-entities
- */
- entities07 : function (test) {
- var success, doc, domConfig, domImplLS, lsParser, resourceURI, canSet, nullSchemaLanguage = null;
- errorMonitor = new DOMErrorMonitor();
- var errors = new Array();
- var error, severity, type, warningCount = 0;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaLanguage);
- domConfig = lsParser.domConfig;
- domConfig.setParameter("entities", false);
- domConfig.setParameter("error-handler", errorMonitor.handleError);
- resourceURI = getResourceURI("pibase");
- doc = lsParser.parseURI(resourceURI);
- test.ok(doc !== null, "docNotNull");
- errors = errorMonitor.allErrors;
- for(var indexN10081 = 0;indexN10081 < errors.length; indexN10081++) {
- error = errors[indexN10081];
- severity = error.severity;
- type = error.type;
- if(("pi-base-uri-not-preserved" == type)) {
- test.strictEqual(1, severity, "isError");
- warningCount += 1;
- }
- }
- test.strictEqual(1, warningCount, "hadWarning");
- test.done();
- },
- /**
- *
- Entity references should be preserved when entities is true.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-writeToString
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-entities
- */
- entities08 : function (test) {
- var success, doc, domConfig, domImplLS, lsSerializer, output;
- domImplLS = getImplementation();
- var docRef = null;
- if (typeof(this.doc) != 'undefined') {
- docRef = this.doc;
- }
- doc = load(docRef, "doc", "hc_staff");
- lsSerializer = domImplLS.createLSSerializer();
- domConfig = lsSerializer.domConfig;
- domConfig.setParameter("entities", true);
- output = lsSerializer.writeToString(doc);
- test.ok(output.indexOf("ent4;") >= 0, "hasEntRef");
- test.done();
- },
- /**
- *
- Entity references should be expanded when entities is false.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-writeToString
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-entities
- */
- entities09 : function (test) {
- var success, doc, domConfig, domImplLS, lsSerializer, output;
- domImplLS = getImplementation();
- var docRef = null;
- if (typeof(this.doc) != 'undefined') {
- docRef = this.doc;
- }
- doc = load(docRef, "doc", "hc_staff");
- lsSerializer = domImplLS.createLSSerializer();
- domConfig = lsSerializer.domConfig;
- domConfig.setParameter("entities", false);
- output = lsSerializer.writeToString(doc);
- {
- test.ok((output.indexOf("ent4;") >= 0) === false, "noEntRef");
- test.ok(output.indexOf("!ENTITY") >= 0, "entDef");
- }
- test.done();
- },
- /**
- *
- Load a document with a DTD that doesn't match content with infoset=true, should load without complaint.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#parameter-infoset
- */
- infoset01 : function (test) {
- var success, doc, elem, node, nodeName, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- domConfig.setParameter("infoset", true);
- resourceURI = getResourceURI("validate1");
- doc = lsParser.parseURI(resourceURI);
- test.ok(doc !== null, "docNotNull");
- elem = doc.documentElement;
- test.ok(elem !== null, "docElemNotNull");
- nodeName = elem.nodeName;
- test.strictEqual("elt0", nodeName, "docElemName");
- test.done();
- },
- /**
- *
- Load a document with entities = false and see that entity references are not present in
- the element content.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#parameter-infoset
- */
- infoset02 : function (test) {
- var success, doc, docElem, elemList, elem, node, nodeType, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- domConfig.setParameter("infoset", true);
- resourceURI = getResourceURI("hc_staff");
- doc = lsParser.parseURI(resourceURI);
- elemList = doc.getElementsByTagName("acronym");
- elem = elemList.item(1);
- node = elem.firstChild;
- nodeType = node.nodeType;
- test.strictEqual(3, nodeType, "acrContentIsText");
- test.done();
- },
- /**
- *
- Parse document with infoset set to true.
- Check if string values were not normalized per an explicit whitespace=collapse.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#parameter-datatype-normalization
- */
- infoset03 : function (test) {
- var success, doc, elemList, element, domConfig, str, canSetValidate, canSetXMLSchema, xsdNS = "http://www.w3.org/2001/XMLSchema", childNode, childValue, domImplLS, lsParser, resourceURI, nullSchemaType = null;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,xsdNS);
- if(
- (lsParser == null)
- ) {
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- }
- domConfig = lsParser.domConfig;
- canSetValidate = domConfig.canSetParameter("validate",true);
- if(
- canSetValidate
- ) {
- domConfig.setParameter("validate", true);
- }
- canSetXMLSchema = domConfig.canSetParameter("schema-type",xsdNS);
- if(
- canSetXMLSchema
- ) {
- domConfig.setParameter("schema-type", xsdNS);
- }
- domConfig.setParameter("infoset", true);
- resourceURI = getResourceURI("datatype_normalization2");
- doc = lsParser.parseURI(resourceURI);
- elemList = doc.getElementsByTagNameNS("http://www.w3.org/1999/xhtml","code");
- element = elemList.item(1);
- childNode = element.firstChild;
- childValue = childNode.nodeValue;
- test.strictEqual("EMP 0001", childValue, "content2");
- test.done();
- },
- /**
- *
- Load a document with infoset = true and see that CDATASection are not present in
- the parsed document.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#parameter-infoset
- */
- infoset04 : function (test) {
- var success, doc, elem, node, nodeType, domConfig, pList, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- domConfig.setParameter("infoset", true);
- resourceURI = getResourceURI("hc_staff");
- doc = lsParser.parseURI(resourceURI);
- pList = doc.getElementsByTagName("strong");
- elem = pList.item(1);
- node = elem.lastChild;
- nodeType = node.nodeType;
- test.strictEqual(3, nodeType, "childIsText");
- test.done();
- },
- /**
- *
- Load a document with infoset = true and see that attributes for namespace declarations are present.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#parameter-infoset
- */
- infoset05 : function (test) {
- var success, doc, docElem, elemList, elem, node, nodeType, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- domConfig.setParameter("infoset", true);
- resourceURI = getResourceURI("hc_staff");
- doc = lsParser.parseURI(resourceURI);
- elemList = doc.getElementsByTagName("p");
- elem = elemList.item(0);
- node = elem.getAttributeNode("xmlns:dmstc");
- test.ok(node !== null, "nsAttrNotNull");
- test.done();
- },
- /**
- *
- Load a document with infoset and validate = true and check that
- element content whitespace is not eliminated.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#parameter-infoset
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#parameter-validate
- */
- infoset06 : function (test) {
- var success, doc, elem, node, nodeType, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI, canSet, elemList;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- canSet = domConfig.canSetParameter("validate",true);
- if(
- canSet
- ) {
- domConfig.setParameter("validate", true);
- }
- domConfig.setParameter("infoset", true);
- resourceURI = getResourceURI("hc_staff");
- doc = lsParser.parseURI(resourceURI);
- elemList = doc.getElementsByTagName("p");
- elem = elemList.item(0);
- node = elem.firstChild;
- nodeType = node.nodeType;
- test.strictEqual(3, nodeType, "nodeIsText");
- test.done();
- },
- /**
- *
- Load a document with infoset = true and see that comments are present in
- the parsed document.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#parameter-infoset
- */
- infoset07 : function (test) {
- var success, doc, docElem, node, nodeType, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- domConfig.setParameter("infoset", true);
- resourceURI = getResourceURI("hc_staff");
- doc = lsParser.parseURI(resourceURI);
- docElem = doc.documentElement;
- node = docElem.previousSibling;
- nodeType = node.nodeType;
- test.strictEqual(8, nodeType, "nodeIsDocType");
- test.done();
- },
- /**
- *
- Attempt to load a namespace invalid document with infoset = true.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#parameter-infoset
- */
- infoset08 : function (test) {
- var success, doc, node, nodeType, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- domConfig.setParameter("infoset", true);
- resourceURI = getResourceURI("namespaces1");
- {
- success = false;
- try {
- doc = lsParser.parseURI(resourceURI);
- }
- catch(ex) {
- success = (typeof(ex.code) != 'undefined' && ex.code == 81);
- }
- test.ok(success, "throw_PARSE_ERR");
- }
- test.done();
- },
- /**
- *
- Load a document with namespace-declarations = false and see that attributes
- for namespace declarations are not present.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-namespace-declarations
- */
- namespacedeclarations01 : function (test) {
- var success, doc, docElem, elemList, elem, node, nodeType, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- domConfig.setParameter("namespace-declarations", false);
- resourceURI = getResourceURI("hc_staff");
- doc = lsParser.parseURI(resourceURI);
- elemList = doc.getElementsByTagName("p");
- elem = elemList.item(0);
- node = elem.getAttributeNode("xmlns:dmstc");
- test.ok(node === null, "nsAttrNull");
- test.done();
- },
- /**
- *
- Load a document with namespace-declarations = true and see that attributes for namespace declarations are present.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-namespace-declarations
- */
- namespacedeclarations02 : function (test) {
- var success, doc, docElem, elemList, elem, node, nodeType, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- domConfig.setParameter("namespace-declarations", true);
- resourceURI = getResourceURI("hc_staff");
- doc = lsParser.parseURI(resourceURI);
- elemList = doc.getElementsByTagName("p");
- elem = elemList.item(0);
- node = elem.getAttributeNode("xmlns:dmstc");
- test.ok(node !== null, "nsAttrNotNull");
- test.done();
- },
- /**
- *
- Attempt to load a namespace invalid document with namespaces = true.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#parameter-namespaces
- */
- namespaces01 : function (test) {
- var success, doc, node, nodeType, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- domConfig.setParameter("namespaces", true);
- resourceURI = getResourceURI("namespaces1");
- {
- success = false;
- try {
- doc = lsParser.parseURI(resourceURI);
- }
- catch(ex) {
- success = (typeof(ex.code) != 'undefined' && ex.code == 81);
- }
- test.ok(success, "throw_PARSE_ERR");
- }
- test.done();
- },
- /**
- *
- Attempt to load a namespace invalid document with namespaces = false.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#parameter-namespaces
- */
- namespaces02 : function (test) {
- var success, doc, node, nodeType, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI, canSet, docElem, tagName;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- canSet = domConfig.canSetParameter("namespaces",false);
- if(
- canSet
- ) {
- domConfig.setParameter("namespaces", false);
- resourceURI = getResourceURI("namespaces1");
- doc = lsParser.parseURI(resourceURI);
- docElem = doc.documentElement;
- tagName = docElem.tagName;
- test.strictEqual("bad:ns:tag", tagName, "tagName");
- }
- test.done();
- },
- /**
- *
- LSSerializer.newLine should contain the platform default new line.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-DOMImplementationLS-createLSSerializer
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-newLine
- */
- newline01 : function (test) {
- var success, domImplLS, lsSerializer, newLine;
- domImplLS = getImplementation();
- lsSerializer = domImplLS.createLSSerializer();
- newLine = lsSerializer.newLine;
- test.ok(newLine !== null, "newLineNotNull");
- test.done();
- },
- /**
- *
- Setting LSSerializer.newLine should change the value retrieved subsequent calls.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-DOMImplementationLS-createLSSerializer
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-newLine
- */
- newline02 : function (test) {
- var success, domImplLS, lsSerializer, newLine;
- domImplLS = getImplementation();
- lsSerializer = domImplLS.createLSSerializer();
- lsSerializer.newLine = "crlf";
- newLine = lsSerializer.newLine;
- test.strictEqual("crlf", newLine, "newLine");
- test.done();
- },
- /**
- *
- Setting LSSerializer.newLine to null should reset the default value.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-DOMImplementationLS-createLSSerializer
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-newLine
- */
- newline03 : function (test) {
- var success, domImplLS, lsSerializer, newLine, origNewLine, nullString = null;
- domImplLS = getImplementation();
- lsSerializer = domImplLS.createLSSerializer();
- origNewLine = lsSerializer.newLine;
- lsSerializer.newLine = nullString;
- newLine = lsSerializer.newLine;
- test.strictEqual(origNewLine, newLine, "newLine");
- test.done();
- },
- /**
- *
- Parsing using an uninitialized LSInput should result in a PARSE_ERR.
- is false.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parse
- */
- noinputspecified01 : function (test) {
- var success, doc, domConfig, domImplLS, lsParser, lsInput, nullSchemaLanguage = null;
- errorMonitor = new DOMErrorMonitor();
- var errors = new Array();
- var error, severity, type, errorCount = 0;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaLanguage);
- lsInput = domImplLS.createLSInput();
- domConfig = lsParser.domConfig;
- domConfig.setParameter("error-handler", errorMonitor.handleError);
- {
- success = false;
- try {
- doc = lsParser.parse(lsInput);
- }
- catch(ex) {
- success = (typeof(ex.code) != 'undefined' && ex.code == 81);
- }
- test.ok(success, "throw_PARSE_ERR");
- }
- errors = errorMonitor.allErrors;
- for(var indexN10077 = 0;indexN10077 < errors.length; indexN10077++) {
- error = errors[indexN10077];
- severity = error.severity;
- type = error.type;
- if(
- (severity > 1)
- ) {
- test.strictEqual(3, severity, "isFatalError");
- test.strictEqual("no-input-specified", type, "noInputSpecified");
- errorCount += 1;
- }
- }
- test.strictEqual(1, errorCount, "oneError");
- test.done();
- },
- /**
- *
- Writing to an uninitialized LSOutput should result in a SERIALIZATION_ERR.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-write
- */
- nooutputspecified01 : function (test) {
- var success, doc, domConfig, domImplLS, lsSerializer, lsOutput;
- errorMonitor = new DOMErrorMonitor();
- var errors = new Array();
- var error, severity, type, errorCount = 0, docType = null;
- var retval;
- domImplLS = getImplementation();
- lsSerializer = domImplLS.createLSSerializer();
- lsOutput = domImplLS.createLSOutput();
- doc = domImplLS.createDocument("http://www.w3.org/1999/xhtml","html",docType);
- domConfig = lsSerializer.domConfig;
- domConfig.setParameter("error-handler", errorMonitor.handleError);
- {
- success = false;
- try {
- retval = lsSerializer.write(doc,lsOutput);
- }
- catch(ex) {
- success = (typeof(ex.code) != 'undefined' && ex.code == 82);
- }
- test.ok(success, "throw_SERIALIZE_ERR");
- }
- errors = errorMonitor.allErrors;
- for(var indexN10081 = 0;indexN10081 < errors.length; indexN10081++) {
- error = errors[indexN10081];
- severity = error.severity;
- type = error.type;
- if(
- (severity > 1)
- ) {
- test.strictEqual(3, severity, "isFatalError");
- test.strictEqual("no-output-specified", type, "noOutputSpecified");
- errorCount += 1;
- }
- }
- test.strictEqual(1, errorCount, "oneError");
- test.done();
- },
- /**
- *
- Parsing a non-Unicode normalized document not have characters normalized if normalize-characters is false.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#parameter-normalize-characters
- */
- normalizecharacters01 : function (test) {
- var success, doc, domConfig, domImplLS, lsParser, resourceURI, nullSchemaLanguage = null;
- var docElem, tagName;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaLanguage);
- domConfig = lsParser.domConfig;
- domConfig.setParameter("normalize-characters", false);
- resourceURI = getResourceURI("characternormalization1");
- doc = lsParser.parseURI(resourceURI);
- test.ok(doc !== null, "docNotNull");
- docElem = doc.documentElement;
- tagName = docElem.tagName;
- test.strictEqual("suçon", tagName, "notNormalized");
- test.done();
- },
- /**
- *
- Parsing a non-Unicode normalized document should result in Unicode-normalized content if normalize-characters is true..
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#parameter-normalize-characters
- */
- normalizecharacters02 : function (test) {
- var success, doc, domConfig, domImplLS, lsParser, resourceURI, canSet, nullSchemaLanguage = null;
- var docElem, tagName;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaLanguage);
- domConfig = lsParser.domConfig;
- canSet = domConfig.canSetParameter("normalize-characters",true);
- if(
- canSet
- ) {
- domConfig.setParameter("normalize-characters", true);
- resourceURI = getResourceURI("characternormalization1");
- doc = lsParser.parseURI(resourceURI);
- test.ok(doc !== null, "docNotNull");
- docElem = doc.documentElement;
- tagName = docElem.tagName;
- test.strictEqual("suçon", tagName, "charNormalized");
- }
- test.done();
- },
- /**
- *
- Characters should be normalized on serialization if normalize-characters is true.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-writeToString
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#parameter-normalize-characters
- */
- normalizecharacters03 : function (test) {
- var success, doc, domConfig, domImplLS, lsSerializer, docType = null;
- var docElem, newNode, output, retNode, canSet;
- domImplLS = getImplementation();
- lsSerializer = domImplLS.createLSSerializer();
- domConfig = lsSerializer.domConfig;
- canSet = domConfig.canSetParameter("normalize-characters",true);
- if(
- canSet
- ) {
- doc = domImplLS.createDocument("http://www.example.org","suçon",docType);
- docElem = doc.documentElement;
- domConfig.setParameter("normalize-characters", true);
- output = lsSerializer.writeToString(doc);
- test.ok(output.indexOf("suçon") >= 0, "notNormalized");
- }
- test.done();
- },
- /**
- *
- Characters should be not normalized on serialization if normalize-characters is false.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-writeToString
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#parameter-normalize-characters
- */
- normalizecharacters04 : function (test) {
- var success, doc, domConfig, domImplLS, lsSerializer, docType = null;
- var docElem, newNode, output, retNode, canSet;
- domImplLS = getImplementation();
- lsSerializer = domImplLS.createLSSerializer();
- domConfig = lsSerializer.domConfig;
- canSet = domConfig.canSetParameter("normalize-characters",false);
- doc = domImplLS.createDocument("http://www.example.org","suçon",docType);
- docElem = doc.documentElement;
- domConfig.setParameter("normalize-characters", true);
- output = lsSerializer.writeToString(doc);
- test.ok(output.indexOf("suçon") >= 0, "notNormalized");
- test.done();
- },
- /**
- *
- Validate a document with no DTD against an externally specified schema that matches its content.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-schema-location
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-schema-type
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-validate
- */
- schemalocation01 : function (test) {
- var success, doc, elem, node, nodeName, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI, canSetValidate, canSetSchemaType, canSetSchemaLocation, xsdNS = "http://www.w3.org/2001/XMLSchema";
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- canSetValidate = domConfig.canSetParameter("validate",true);
- canSetSchemaType = domConfig.canSetParameter("schema-type",xsdNS);
- resourceURI = getResourceURI("validateschema1");
- canSetSchemaLocation = domConfig.canSetParameter("schema-location",resourceURI);
- if(
- (canSetValidate && canSetSchemaType && canSetSchemaLocation)
- ) {
- domConfig.setParameter("validate", true);
- domConfig.setParameter("schema-type", xsdNS);
- domConfig.setParameter("schema-location", resourceURI);
- resourceURI = getResourceURI("validate1");
- doc = lsParser.parseURI(resourceURI);
- test.ok(doc !== null, "docNotNull");
- elem = doc.documentElement;
- test.ok(elem !== null, "docElemNotNull");
- nodeName = elem.nodeName;
- test.strictEqual("elt0", nodeName, "docElemName");
- }
- test.done();
- },
- /**
- *
- Validate a document with no DTD against an externally specified schema that does not match its content.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-schema-location
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-schema-type
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-validate
- */
- schemalocation02 : function (test) {
- var success, doc, elem, node, nodeName, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI, canSetValidate, canSetSchemaType, canSetSchemaLocation;
- errorMonitor = new DOMErrorMonitor();
- var errors = new Array();
- var error, severity, errorCount = 0, xsdNS = "http://www.w3.org/2001/XMLSchema";
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- canSetValidate = domConfig.canSetParameter("validate",true);
- canSetSchemaType = domConfig.canSetParameter("schema-type",xsdNS);
- resourceURI = getResourceURI("validateschema1");
- canSetSchemaLocation = domConfig.canSetParameter("schema-location",resourceURI);
- if(
- (canSetValidate && canSetSchemaType && canSetSchemaLocation)
- ) {
- domConfig.setParameter("validate", true);
- domConfig.setParameter("schema-type", xsdNS);
- domConfig.setParameter("schema-location", resourceURI);
- domConfig.setParameter("error-handler", errorMonitor.handleError);
- resourceURI = getResourceURI("test3");
- {
- success = false;
- try {
- doc = lsParser.parseURI(resourceURI);
- }
- catch(ex) {
- success = (typeof(ex.code) != 'undefined' && ex.code == 81);
- }
- test.ok(success, "throw_PARSE_ERR");
- }
- errors = errorMonitor.allErrors;
- for(var indexN100CE = 0;indexN100CE < errors.length; indexN100CE++) {
- error = errors[indexN100CE];
- severity = error.severity;
- if((2 == severity)) {
- errorCount += 1;
- }
- }
- assertTrue("atLeastOneError", (errorCount > 0));
- }
- test.done();
- },
- /**
- *
- Serialize a document with no DTD against an externally specified schema that matches its content.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-writeToString
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-schema-location
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-schema-type
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-validate
- */
- schemalocation03 : function (test) {
- var success, doc, elem, node, nodeName, domConfig, domImplLS, resourceURI, canSetValidate, canSetSchemaType, canSetSchemaLocation, xsdNS = "http://www.w3.org/2001/XMLSchema", lsSerializer, nullNS = null;
- var doctype = null;
- var output;
- domImplLS = getImplementation();
- lsSerializer = domImplLS.createLSSerializer();
- domConfig = lsSerializer.domConfig;
- canSetValidate = domConfig.canSetParameter("validate",true);
- canSetSchemaType = domConfig.canSetParameter("schema-type",xsdNS);
- resourceURI = getResourceURI("validateschema1");
- canSetSchemaLocation = domConfig.canSetParameter("schema-location",resourceURI);
- if(
- (canSetValidate && canSetSchemaType && canSetSchemaLocation)
- ) {
- domConfig.setParameter("validate", true);
- domConfig.setParameter("schema-type", xsdNS);
- domConfig.setParameter("schema-location", resourceURI);
- doc = domImplLS.createDocument(nullNS,"elt0",doctype);
- output = lsSerializer.writeToString(doc);
- }
- test.done();
- },
- /**
- *
- Serialize a document with no DTD against an externally specified schema that matches its content.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-writeToString
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-schema-location
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-schema-type
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-validate
- */
- schemalocation04 : function (test) {
- var success, doc, elem, node, nodeName, domConfig, domImplLS, resourceURI, canSetValidate, canSetSchemaType, canSetSchemaLocation, xsdNS = "http://www.w3.org/2001/XMLSchema", lsSerializer, nullNS = null;
- var doctype = null;
- var output;
- domImplLS = getImplementation();
- lsSerializer = domImplLS.createLSSerializer();
- domConfig = lsSerializer.domConfig;
- canSetValidate = domConfig.canSetParameter("validate",true);
- canSetSchemaType = domConfig.canSetParameter("schema-type",xsdNS);
- resourceURI = getResourceURI("validateschema1");
- canSetSchemaLocation = domConfig.canSetParameter("schema-location",resourceURI);
- if(
- (canSetValidate && canSetSchemaType && canSetSchemaLocation)
- ) {
- domConfig.setParameter("validate", true);
- domConfig.setParameter("schema-type", xsdNS);
- domConfig.setParameter("schema-location", resourceURI);
- doc = domImplLS.createDocument(nullNS,"elt2",doctype);
- {
- success = false;
- try {
- output = lsSerializer.writeToString(doc);
- }
- catch(ex) {
- success = (typeof(ex.code) != 'undefined' && ex.code == 82);
- }
- test.ok(success, "throw_SERIALIZE_ERR");
- }
- }
- test.done();
- },
- /**
- *
- Specify schema validation for a document with a DTD but no specified schema.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-schema-type
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-validate
- */
- schematype01 : function (test) {
- var success, doc, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI, canSetValidate, canSetSchemaType;
- errorMonitor = new DOMErrorMonitor();
- var errors = new Array();
- var error, severity, errorCount = 0, xsdNS = "http://www.w3.org/2001/XMLSchema";
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- canSetValidate = domConfig.canSetParameter("validate",true);
- canSetSchemaType = domConfig.canSetParameter("schema-type",xsdNS);
- if(
- (canSetValidate && canSetSchemaType)
- ) {
- domConfig.setParameter("validate", true);
- domConfig.setParameter("schema-type", xsdNS);
- domConfig.setParameter("error-handler", errorMonitor.handleError);
- resourceURI = getResourceURI("test3");
- {
- success = false;
- try {
- doc = lsParser.parseURI(resourceURI);
- }
- catch(ex) {
- success = (typeof(ex.code) != 'undefined' && ex.code == 81);
- }
- test.ok(success, "throw_PARSE_ERR");
- }
- errors = errorMonitor.allErrors;
- for(var indexN100A8 = 0;indexN100A8 < errors.length; indexN100A8++) {
- error = errors[indexN100A8];
- severity = error.severity;
- if((2 == severity)) {
- errorCount += 1;
- }
- }
- assertTrue("atLeastOneError", (errorCount > 0));
- }
- test.done();
- },
- /**
- *
- Specify DTD validation for a document with a matching DTD.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-schema-type
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-validate
- */
- schematype02 : function (test) {
- var success, doc, elem, node, nodeName, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI, canSetValidate, canSetSchemaType, dtdNS = "http://www.w3.org/TR/REC-xml";
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- canSetValidate = domConfig.canSetParameter("validate",true);
- canSetSchemaType = domConfig.canSetParameter("schema-type",dtdNS);
- if(
- (canSetValidate && canSetSchemaType)
- ) {
- domConfig.setParameter("validate", true);
- domConfig.setParameter("schema-type", dtdNS);
- resourceURI = getResourceURI("test3");
- doc = lsParser.parseURI(resourceURI);
- test.ok(doc !== null, "docNotNull");
- elem = doc.documentElement;
- test.ok(elem !== null, "docElemNotNull");
- nodeName = elem.nodeName;
- test.strictEqual("elt0", nodeName, "docElemName");
- }
- test.done();
- },
- /**
- *
- Specify schema validation for a document with no DTD but schema location hints.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-schema-type
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-validate
- */
- schematype03 : function (test) {
- var success, doc, elem, node, nodeName, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI, canSetValidate, canSetSchemaType, xsdNS = "http://www.w3.org/2001/XMLSchema";
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- canSetValidate = domConfig.canSetParameter("validate",true);
- canSetSchemaType = domConfig.canSetParameter("schema-type",xsdNS);
- if(
- (canSetValidate && canSetSchemaType)
- ) {
- domConfig.setParameter("validate", true);
- domConfig.setParameter("schema-type", xsdNS);
- resourceURI = getResourceURI("schematype1");
- doc = lsParser.parseURI(resourceURI);
- test.ok(doc !== null, "docNotNull");
- elem = doc.documentElement;
- test.ok(elem !== null, "docElemNotNull");
- nodeName = elem.nodeName;
- test.strictEqual("elt0", nodeName, "docElemName");
- }
- test.done();
- },
- /**
- *
- Serialize a document with schema validation but no available schema.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-writeToString
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-schema-type
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-validate
- */
- schematype04 : function (test) {
- var success, doc, elem, node, nodeName, domConfig, domImplLS, resourceURI, canSetValidate, canSetSchemaType, xsdNS = "http://www.w3.org/2001/XMLSchema", lsSerializer, nullNS = null;
- var doctype = null;
- var output;
- domImplLS = getImplementation();
- lsSerializer = domImplLS.createLSSerializer();
- domConfig = lsSerializer.domConfig;
- canSetValidate = domConfig.canSetParameter("validate",true);
- canSetSchemaType = domConfig.canSetParameter("schema-type",xsdNS);
- if(
- (canSetValidate && canSetSchemaType)
- ) {
- domConfig.setParameter("validate", true);
- domConfig.setParameter("schema-type", xsdNS);
- doc = domImplLS.createDocument(nullNS,"elt0",doctype);
- {
- success = false;
- try {
- output = lsSerializer.writeToString(doc);
- }
- catch(ex) {
- success = (typeof(ex.code) != 'undefined' && ex.code == 82);
- }
- test.ok(success, "throw_SERIALIZE_ERR");
- }
- }
- test.done();
- },
- /**
- *
- CDATASections containing unrepresentable characters should be split when split-cdata-sections is true.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-writeToString
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-split-cdata-sections
- */
- splitcdatasections01 : function (test) {
- var success, doc, domConfig, domImplLS, lsSerializer, docType = null;
- var docElem, newNode, output, retNode;
- domImplLS = getImplementation();
- lsSerializer = domImplLS.createLSSerializer();
- doc = domImplLS.createDocument("http://www.example.org","test",docType);
- docElem = doc.documentElement;
- newNode = doc.createCDATASection("this is not ]]> good");
- retNode = docElem.appendChild(newNode);
- domConfig = lsSerializer.domConfig;
- domConfig.setParameter("split-cdata-sections", true);
- domConfig.setParameter("cdata-sections", true);
- output = lsSerializer.writeToString(doc);
- {
- test.ok((output.indexOf("this is not ]]> good") >= 0) === false, "notNaive");
- }
- test.done();
- },
- /**
- *
- CDATASections containing unrepresentable characters raise a SERIALIZE_ERR when
- split-cdata-sections is false and well-formed is true.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-writeToString
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-split-cdata-sections
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-well-formed
- */
- splitcdatasections02 : function (test) {
- var success, doc, domConfig, domImplLS, lsSerializer, docType = null;
- var docElem, newNode, output, retNode;
- errorMonitor = new DOMErrorMonitor();
- var errors = new Array();
- var error, severity, type, errorCount = 0;
- domImplLS = getImplementation();
- lsSerializer = domImplLS.createLSSerializer();
- doc = domImplLS.createDocument("http://www.example.org","test",docType);
- docElem = doc.documentElement;
- newNode = doc.createCDATASection("this is not ]]> good");
- retNode = docElem.appendChild(newNode);
- domConfig = lsSerializer.domConfig;
- domConfig.setParameter("split-cdata-sections", false);
- domConfig.setParameter("cdata-sections", true);
- domConfig.setParameter("well-formed", true);
- domConfig.setParameter("error-handler", errorMonitor.handleError);
- {
- success = false;
- try {
- output = lsSerializer.writeToString(doc);
- }
- catch(ex) {
- success = (typeof(ex.code) != 'undefined' && ex.code == 82);
- }
- test.ok(success, "throw_SERIALIZE_ERR");
- }
- errors = errorMonitor.allErrors;
- for(var indexN100A7 = 0;indexN100A7 < errors.length; indexN100A7++) {
- error = errors[indexN100A7];
- severity = error.severity;
- type = error.type;
- if(("wf-invalid-character" == type)) {
- test.strictEqual(2, severity, "severityError");
- errorCount += 1;
- }
- }
- assertTrue("hasWfErrors", (errorCount > 0));
- test.done();
- },
- /**
- *
- Parsing a document with a unsupported encoding should raise a PARSE_ERR and dispatch a "unsupported-encoding"
- DOM error.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- */
- unsupportedencoding01 : function (test) {
- var success, doc, domConfig, domImplLS, lsParser, resourceURI, nullSchemaLanguage = null;
- errorMonitor = new DOMErrorMonitor();
- var errors = new Array();
- var error, severity, type, errorCount = 0;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaLanguage);
- domConfig = lsParser.domConfig;
- domConfig.setParameter("error-handler", errorMonitor.handleError);
- resourceURI = getResourceURI("unsupportedencoding1");
- {
- success = false;
- try {
- doc = lsParser.parseURI(resourceURI);
- }
- catch(ex) {
- success = (typeof(ex.code) != 'undefined' && ex.code == 81);
- }
- test.ok(success, "throw_PARSE_ERR");
- }
- errors = errorMonitor.allErrors;
- for(var indexN10078 = 0;indexN10078 < errors.length; indexN10078++) {
- error = errors[indexN10078];
- severity = error.severity;
- type = error.type;
- if(("unsupported-encoding".toUpperCase() == type.toUpperCase())) {
- test.strictEqual(3, severity, "isError");
- errorCount += 1;
- }
- }
- test.strictEqual(1, errorCount, "oneError");
- test.done();
- },
- /**
- *
- Load a document without a DTD with validate=false, should load without complaint.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-validate
- */
- validate01 : function (test) {
- var success, doc, elem, node, nodeName, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- domConfig.setParameter("validate", false);
- resourceURI = getResourceURI("test0");
- doc = lsParser.parseURI(resourceURI);
- test.ok(doc !== null, "docNotNull");
- elem = doc.documentElement;
- test.ok(elem !== null, "docElemNotNull");
- nodeName = elem.nodeName;
- test.strictEqual("elt0", nodeName, "docElemName");
- test.done();
- },
- /**
- *
- Load a document without a DTD with validate=true, should throw PARSE_ERR.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-validate
- */
- validate02 : function (test) {
- var success, doc, elem, node, nodeName, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI;
- errorMonitor = new DOMErrorMonitor();
- var canSet, errors = new Array();
- var error, errorCount = 0, severity;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- canSet = domConfig.canSetParameter("validate",true);
- if(
- canSet
- ) {
- domConfig.setParameter("validate", true);
- domConfig.setParameter("error-handler", errorMonitor.handleError);
- resourceURI = getResourceURI("test0");
- {
- success = false;
- try {
- doc = lsParser.parseURI(resourceURI);
- }
- catch(ex) {
- success = (typeof(ex.code) != 'undefined' && ex.code == 81);
- }
- test.ok(success, "throw_PARSE_ERR");
- }
- errors = errorMonitor.allErrors;
- for(var indexN10096 = 0;indexN10096 < errors.length; indexN10096++) {
- error = errors[indexN10096];
- severity = error.severity;
- if((2 == severity)) {
- errorCount += 1;
- }
- }
- assertTrue("atLeastOneError", (errorCount > 0));
- }
- test.done();
- },
- /**
- *
- Load a document with a DTD that doesn't match content with validate=false, should load without complaint.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-validate
- */
- validate03 : function (test) {
- var success, doc, elem, node, nodeName, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- domConfig.setParameter("validate", false);
- resourceURI = getResourceURI("validate1");
- doc = lsParser.parseURI(resourceURI);
- test.ok(doc !== null, "docNotNull");
- elem = doc.documentElement;
- test.ok(elem !== null, "docElemNotNull");
- nodeName = elem.nodeName;
- test.strictEqual("elt0", nodeName, "docElemName");
- test.done();
- },
- /**
- *
- Load a document with mismatched DTD with validate=true, should throw PARSE_ERR.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-validate
- */
- validate04 : function (test) {
- var success, doc, elem, node, nodeName, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI;
- errorMonitor = new DOMErrorMonitor();
- var canSet, errors = new Array();
- var error, errorCount = 0, severity;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- canSet = domConfig.canSetParameter("validate",true);
- if(
- canSet
- ) {
- domConfig.setParameter("validate", true);
- domConfig.setParameter("error-handler", errorMonitor.handleError);
- resourceURI = getResourceURI("validate1");
- {
- success = false;
- try {
- doc = lsParser.parseURI(resourceURI);
- }
- catch(ex) {
- success = (typeof(ex.code) != 'undefined' && ex.code == 81);
- }
- test.ok(success, "throw_PARSE_ERR");
- }
- errors = errorMonitor.allErrors;
- for(var indexN10096 = 0;indexN10096 < errors.length; indexN10096++) {
- error = errors[indexN10096];
- severity = error.severity;
- if((2 == severity)) {
- errorCount += 1;
- }
- }
- assertTrue("atLeastOneError", (errorCount > 0));
- }
- test.done();
- },
- /**
- *
- A document without a DTD should serialize without complaint if validate is false.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-writeToString
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-validate
- */
- validate05 : function (test) {
- var success, doc, domConfig, domImplLS, lsSerializer, docType = null;
- var output;
- domImplLS = getImplementation();
- lsSerializer = domImplLS.createLSSerializer();
- doc = domImplLS.createDocument("http://www.example.org","test",docType);
- domConfig = lsSerializer.domConfig;
- domConfig.setParameter("validate", false);
- output = lsSerializer.writeToString(doc);
- test.done();
- },
- /**
- *
- A document without a DTD should throw a SERIALIZE_ERR if validate is true.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-writeToString
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-validate
- */
- validate06 : function (test) {
- var success, doc, domConfig, domImplLS, lsSerializer, docType = null;
- var output, canSet;
- domImplLS = getImplementation();
- lsSerializer = domImplLS.createLSSerializer();
- doc = domImplLS.createDocument("http://www.example.org","test",docType);
- domConfig = lsSerializer.domConfig;
- canSet = domConfig.canSetParameter("validate",true);
- if(
- canSet
- ) {
- domConfig.setParameter("validate", true);
- {
- success = false;
- try {
- output = lsSerializer.writeToString(doc);
- }
- catch(ex) {
- success = (typeof(ex.code) != 'undefined' && ex.code == 82);
- }
- test.ok(success, "throw_SERIALIZE_ERR");
- }
- }
- test.done();
- },
- /**
- *
- Load and serialize a document with a DTD that doesn't match content with validate=false, should load and serialize without complaint.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-writeToString
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-validate
- */
- validate07 : function (test) {
- var success, doc, elem, node, nodeName, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI, lsSerializer, output;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- domConfig.setParameter("validate", false);
- resourceURI = getResourceURI("validate1");
- doc = lsParser.parseURI(resourceURI);
- test.ok(doc !== null, "docNotNull");
- elem = doc.documentElement;
- test.ok(elem !== null, "docElemNotNull");
- nodeName = elem.nodeName;
- test.strictEqual("elt0", nodeName, "docElemName");
- lsSerializer = domImplLS.createLSSerializer();
- domConfig = lsSerializer.domConfig;
- domConfig.setParameter("validate", false);
- output = lsSerializer.writeToString(doc);
- test.done();
- },
- /**
- *
- Load a document with a DTD that doesn't match content, then attempt to serialize when validate is true which
- should result in a SERIALIZE_ERR.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-writeToString
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-validate
- */
- validate08 : function (test) {
- var success, doc, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI, lsSerializer, output, canSet;
- domImplLS = getImplementation();
- lsSerializer = domImplLS.createLSSerializer();
- domConfig = lsSerializer.domConfig;
- canSet = domConfig.canSetParameter("validate",true);
- if(
- canSet
- ) {
- domConfig.setParameter("validate", true);
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- domConfig.setParameter("validate", false);
- resourceURI = getResourceURI("validate1");
- doc = lsParser.parseURI(resourceURI);
- {
- success = false;
- try {
- output = lsSerializer.writeToString(doc);
- }
- catch(ex) {
- success = (typeof(ex.code) != 'undefined' && ex.code == 82);
- }
- test.ok(success, "throw_SERIALIZE_ERR");
- }
- }
- test.done();
- },
- /**
- *
- Load a document without a DTD with validate-if-schema=false, should load without complaint.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-validate-if-schema
- */
- validateifschema01 : function (test) {
- var success, doc, elem, node, nodeName, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- domConfig.setParameter("validate-if-schema", false);
- resourceURI = getResourceURI("test0");
- doc = lsParser.parseURI(resourceURI);
- test.ok(doc !== null, "docNotNull");
- elem = doc.documentElement;
- test.ok(elem !== null, "docElemNotNull");
- nodeName = elem.nodeName;
- test.strictEqual("elt0", nodeName, "docElemName");
- test.done();
- },
- /**
- *
- Load a document without a DTD with validate-if-schema=true should successfully complete.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-validate-if-schema
- */
- validateifschema02 : function (test) {
- var success, doc, elem, node, nodeName, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI;
- errorMonitor = new DOMErrorMonitor();
- var canSet;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- canSet = domConfig.canSetParameter("validate-if-schema",true);
- if(
- canSet
- ) {
- domConfig.setParameter("validate-if-schema", true);
- domConfig.setParameter("error-handler", errorMonitor.handleError);
- resourceURI = getResourceURI("test0");
- doc = lsParser.parseURI(resourceURI);
- test.ok(doc !== null, "docNotNull");
- errorMonitor.assertLowerSeverity(test, "noErrors", 2);
- elem = doc.documentElement;
- test.ok(elem !== null, "docElemNotNull");
- nodeName = elem.nodeName;
- test.strictEqual("elt0", nodeName, "docElemName");
- }
- test.done();
- },
- /**
- *
- Load a document with a DTD that doesn't match content with validate-if-schema=false, should load without complaint.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-validate-if-schema
- */
- validateifschema03 : function (test) {
- var success, doc, elem, node, nodeName, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- domConfig.setParameter("validate-if-schema", false);
- resourceURI = getResourceURI("validate1");
- doc = lsParser.parseURI(resourceURI);
- test.ok(doc !== null, "docNotNull");
- elem = doc.documentElement;
- test.ok(elem !== null, "docElemNotNull");
- nodeName = elem.nodeName;
- test.strictEqual("elt0", nodeName, "docElemName");
- test.done();
- },
- /**
- *
- Load a document with mismatched DTD with validate-if-schema=true, should throw PARSE_ERR.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-validate-if-schema
- */
- validateifschema04 : function (test) {
- var success, doc, elem, node, nodeName, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI;
- errorMonitor = new DOMErrorMonitor();
- var canSet, errors = new Array();
- var error, errorCount = 0, severity;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- canSet = domConfig.canSetParameter("validate-if-schema",true);
- if(
- canSet
- ) {
- domConfig.setParameter("validate-if-schema", true);
- domConfig.setParameter("error-handler", errorMonitor.handleError);
- resourceURI = getResourceURI("validate1");
- {
- success = false;
- try {
- doc = lsParser.parseURI(resourceURI);
- }
- catch(ex) {
- success = (typeof(ex.code) != 'undefined' && ex.code == 81);
- }
- test.ok(success, "throw_PARSE_ERR");
- }
- errors = errorMonitor.allErrors;
- for(var indexN10096 = 0;indexN10096 < errors.length; indexN10096++) {
- error = errors[indexN10096];
- severity = error.severity;
- if((2 == severity)) {
- errorCount += 1;
- }
- }
- assertTrue("atLeastOneError", (errorCount > 0));
- }
- test.done();
- },
- /**
- *
- Load a document with an invalid character in a tagname.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-well-formed
- */
- wellformed01 : function (test) {
- var success, doc, elem, node, nodeName, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI;
- errorMonitor = new DOMErrorMonitor();
- var errors = new Array();
- var error, errorCount = 0, severity, type;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- domConfig.setParameter("well-formed", true);
- domConfig.setParameter("error-handler", errorMonitor.handleError);
- resourceURI = getResourceURI("wellformed1");
- {
- success = false;
- try {
- doc = lsParser.parseURI(resourceURI);
- }
- catch(ex) {
- success = (typeof(ex.code) != 'undefined' && ex.code == 81);
- }
- test.ok(success, "throw_PARSE_ERR");
- }
- errors = errorMonitor.allErrors;
- for(var indexN1008C = 0;indexN1008C < errors.length; indexN1008C++) {
- error = errors[indexN1008C];
- type = error.type;
- severity = error.severity;
- if(
- (severity > 1)
- ) {
- test.strictEqual("wf-invalid-character-in-node-name", type, "type");
- test.strictEqual(2, severity, "severityError");
- errorCount += 1;
- }
- }
- test.strictEqual(1, errorCount, "oneWFError");
- test.done();
- },
- /**
- *
- Load a document with an invalid character in an attribute name.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-well-formed
- */
- wellformed02 : function (test) {
- var success, doc, elem, node, nodeName, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI;
- errorMonitor = new DOMErrorMonitor();
- var errors = new Array();
- var error, errorCount = 0, severity, type;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- domConfig.setParameter("well-formed", true);
- domConfig.setParameter("error-handler", errorMonitor.handleError);
- resourceURI = getResourceURI("wellformed2");
- {
- success = false;
- try {
- doc = lsParser.parseURI(resourceURI);
- }
- catch(ex) {
- success = (typeof(ex.code) != 'undefined' && ex.code == 81);
- }
- test.ok(success, "throw_PARSE_ERR");
- }
- errors = errorMonitor.allErrors;
- for(var indexN1008C = 0;indexN1008C < errors.length; indexN1008C++) {
- error = errors[indexN1008C];
- type = error.type;
- severity = error.severity;
- if(
- (severity > 1)
- ) {
- test.strictEqual("wf-invalid-character-in-node-name", type, "type");
- test.strictEqual(2, severity, "severityError");
- errorCount += 1;
- }
- }
- test.strictEqual(1, errorCount, "oneWFError");
- test.done();
- },
- /**
- *
- Load a document with an invalid character in an attribute value, should throw a PARSE_ERR and
- dispatch a DOMError with type 'wf-invalid-character'.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSParser-parseURI
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107/core#parameter-well-formed
- */
- wellformed03 : function (test) {
- var success, doc, elem, node, nodeName, domConfig, domImplLS, lsParser, nullSchemaType = null;
- var resourceURI;
- errorMonitor = new DOMErrorMonitor();
- var errors = new Array();
- var error, errorCount = 0, severity, type;
- domImplLS = getImplementation();
- lsParser = domImplLS.createLSParser(1,nullSchemaType);
- domConfig = lsParser.domConfig;
- domConfig.setParameter("well-formed", true);
- domConfig.setParameter("error-handler", errorMonitor.handleError);
- resourceURI = getResourceURI("wellformed3");
- {
- success = false;
- try {
- doc = lsParser.parseURI(resourceURI);
- }
- catch(ex) {
- success = (typeof(ex.code) != 'undefined' && ex.code == 81);
- }
- test.ok(success, "throw_PARSE_ERR");
- }
- errors = errorMonitor.allErrors;
- for(var indexN1008C = 0;indexN1008C < errors.length; indexN1008C++) {
- error = errors[indexN1008C];
- type = error.type;
- severity = error.severity;
- if(("wf-invalid-character" == type)) {
- test.strictEqual(2, severity, "severityError");
- errorCount += 1;
- }
- }
- test.strictEqual(1, errorCount, "oneWFError");
- test.done();
- },
- /**
- * Writes a document to a URL for a temporary file
- using LSSerializer.writeToURI and rereads the document.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-writeToURI
- */
- writeToURI1 : function (test) {
- var success, testDoc, domImpl, output, serializer, systemId, checkSystemId, status, input, parser, checkDoc, docElem, docElemName, NULL_SCHEMA_TYPE = null;
- var testDocRef = null;
- if (typeof(this.testDoc) != 'undefined') {
- testDocRef = this.testDoc;
- }
- testDoc = load(testDocRef, "testDoc", "test0");
- domImpl = getImplementation();
- // TODO: umm.. what? are these tests complete?
- // fail("Unrecognized method or attribute createTempURI");
- serializer = domImpl.createLSSerializer();
- status = serializer.writeToURI(testDoc,systemId);
- test.ok(status, "writeStatus");
- input = domImpl.createLSInput();
- input.systemId = systemId;
- parser = domImpl.createLSParser(1,NULL_SCHEMA_TYPE);
- checkDoc = parser.parse(input);
- test.ok(checkDoc !== null, "checkNotNull");
- docElem = checkDoc.documentElement;
- docElemName = docElem.nodeName;
- test.strictEqual("elt0", docElemName, "checkDocElemName");
- test.done();
- },
- /**
- * Writes a document to a URL for a http server
- using LSSerializer.writeToURI and rereads the document.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-writeToURI
- */
- writeToURI2 : function (test) {
- var success, testDoc, domImpl, output, serializer, systemId, checkSystemId, status, input, parser, checkDoc, docElem, docElemName, NULL_SCHEMA_TYPE = null;
- var testDocRef = null;
- if (typeof(this.testDoc) != 'undefined') {
- testDocRef = this.testDoc;
- }
- testDoc = load(testDocRef, "testDoc", "test0");
- domImpl = getImplementation();
- // TODO: umm.. what? are these tests complete?
- // fail("Unrecognized method or attribute createTempURI");
- serializer = domImpl.createLSSerializer();
- status = serializer.writeToURI(testDoc,systemId);
- test.ok(status, "writeStatus");
- input = domImpl.createLSInput();
- input.systemId = systemId;
- parser = domImpl.createLSParser(1,NULL_SCHEMA_TYPE);
- checkDoc = parser.parse(input);
- test.ok(checkDoc !== null, "checkNotNull");
- docElem = checkDoc.documentElement;
- docElemName = docElem.nodeName;
- test.strictEqual("elt0", docElemName, "checkDocElemName");
- test.done();
- },
- /**
- *
- XML declarations should be serialized if xml-declaration is true.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-writeToString
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#parameter-xml-declaration
- */
- xmldeclaration01 : function (test) {
- var success, doc, domConfig, domImplLS, lsSerializer, docType = null;
- var output;
- domImplLS = getImplementation();
- lsSerializer = domImplLS.createLSSerializer();
- doc = domImplLS.createDocument("http://www.example.org","test",docType);
- domConfig = lsSerializer.domConfig;
- domConfig.setParameter("xml-declaration", true);
- output = lsSerializer.writeToString(doc);
- test.ok(output.indexOf("<?xml") >= 0, "containsXMLDecl");
- test.ok(output.indexOf("UTF-16") >= 0, "containsUTF16");
- test.ok(output.indexOf("1.0") >= 0, "contains1_0");
- test.done();
- },
- /**
- *
- XML declarations should not be serialized if xml-declaration is false.
- * @author Curt Arnold
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSSerializer-writeToString
- * @see http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#parameter-xml-declaration
- */
- xmldeclaration02 : function (test) {
- var success, doc, domConfig, domImplLS, lsSerializer, docType = null;
- var output;
- domImplLS = getImplementation();
- lsSerializer = domImplLS.createLSSerializer();
- doc = domImplLS.createDocument("http://www.example.org","test",docType);
- domConfig = lsSerializer.domConfig;
- domConfig.setParameter("xml-declaration", false);
- output = lsSerializer.writeToString(doc);
- test.ok((output.indexOf("<?xml") >= 0) === false, "containsXMLDecl");
- test.ok((output.indexOf("UTF-16") >= 0) === false, "containsUTF16");
- test.ok((output.indexOf("1.0") >= 0) === false, "contains1_0");
- test.done();
- }
- }
|