|
34 | 34 | ВсеТесты.Добавить("ТестДолжен_ЗаписатьТекущий_КонецЭлемента"); |
35 | 35 | ВсеТесты.Добавить("ТестДолжен_ЗаписатьТекущий_Текст"); |
36 | 36 |
|
| 37 | + ВсеТесты.Добавить("ТестДолжен_ЗаписатьТекущий_ОбъявлениеИТипДокумента"); |
| 38 | + |
37 | 39 | Возврат ВсеТесты; |
38 | 40 |
|
39 | 41 | КонецФункции |
|
300 | 302 |
|
301 | 303 | ПодготовитьТестовыеДанныеДляЗаписиТекущего(ЧтениеXML, ЗаписьXML); |
302 | 304 |
|
303 | | - ЧтениеXML.Прочитать(); |
| 305 | + ПрочитатьИПроверитьТип(ЧтениеXML, ТипУзлаXML.ОбъявлениеXML, "<?xml>"); |
| 306 | + ПрочитатьИПроверитьТип(ЧтениеXML, ТипУзлаXML.ОпределениеТипаДокумента, "<!DOCTYPE>"); |
| 307 | + ПрочитатьИПроверитьТип(ЧтениеXML, ТипУзлаXML.НачалоЭлемента, "<xml>"); |
304 | 308 |
|
305 | 309 | ЗаписьXML.ЗаписатьТекущий(ЧтениеXML); |
306 | 310 | ПолученныйТекст = ЗаписьXML.Закрыть(); |
|
316 | 320 |
|
317 | 321 | ПодготовитьТестовыеДанныеДляЗаписиТекущего(ЧтениеXML, ЗаписьXML); |
318 | 322 |
|
319 | | - ЧтениеXML.Прочитать(); |
320 | | - ЧтениеXML.Прочитать(); |
| 323 | + ПрочитатьИПроверитьТип(ЧтениеXML, ТипУзлаXML.ОбъявлениеXML, "<?xml>"); |
| 324 | + ПрочитатьИПроверитьТип(ЧтениеXML, ТипУзлаXML.ОпределениеТипаДокумента, "<!DOCTYPE>"); |
| 325 | + ПрочитатьИПроверитьТип(ЧтениеXML, ТипУзлаXML.НачалоЭлемента, "<xml>"); |
| 326 | + ПрочитатьИПроверитьТип(ЧтениеXML, ТипУзлаXML.ПробельныеСимволы); |
| 327 | + ПрочитатьИПроверитьТип(ЧтениеXML, ТипУзлаXML.НачалоЭлемента, "<data>"); |
321 | 328 |
|
322 | 329 | ЗаписьXML.ЗаписатьТекущий(ЧтениеXML); |
323 | 330 | ПолученныйТекст = ЗаписьXML.Закрыть(); |
|
333 | 340 |
|
334 | 341 | ПодготовитьТестовыеДанныеДляЗаписиТекущего(ЧтениеXML, ЗаписьXML); |
335 | 342 |
|
336 | | - ЧтениеXML.Прочитать(); |
337 | | - ЧтениеXML.Прочитать(); |
| 343 | + ПрочитатьИПроверитьТип(ЧтениеXML, ТипУзлаXML.ОбъявлениеXML, "<?xml>"); |
| 344 | + ПрочитатьИПроверитьТип(ЧтениеXML, ТипУзлаXML.ОпределениеТипаДокумента, "<!DOCTYPE>"); |
| 345 | + ПрочитатьИПроверитьТип(ЧтениеXML, ТипУзлаXML.НачалоЭлемента, "<xml>"); |
| 346 | + ПрочитатьИПроверитьТип(ЧтениеXML, ТипУзлаXML.ПробельныеСимволы); |
| 347 | + ПрочитатьИПроверитьТип(ЧтениеXML, ТипУзлаXML.НачалоЭлемента, "<data>"); |
338 | 348 |
|
339 | 349 | ЧтениеXML.ПервыйАтрибут(); |
340 | 350 | ЧтениеXML.СледующийАтрибут(); |
|
354 | 364 |
|
355 | 365 | ПодготовитьТестовыеДанныеДляЗаписиТекущего(ЧтениеXML, ЗаписьXML); |
356 | 366 |
|
357 | | - ЧтениеXML.Прочитать(); |
358 | | - ЧтениеXML.Прочитать(); |
| 367 | + ПрочитатьИПроверитьТип(ЧтениеXML, ТипУзлаXML.ОбъявлениеXML, "<?xml>"); |
| 368 | + ПрочитатьИПроверитьТип(ЧтениеXML, ТипУзлаXML.ОпределениеТипаДокумента, "<!DOCTYPE>"); |
| 369 | + ПрочитатьИПроверитьТип(ЧтениеXML, ТипУзлаXML.НачалоЭлемента, "<xml>"); |
| 370 | + ПрочитатьИПроверитьТип(ЧтениеXML, ТипУзлаXML.ПробельныеСимволы); |
| 371 | + ПрочитатьИПроверитьТип(ЧтениеXML, ТипУзлаXML.НачалоЭлемента, "<data>"); |
359 | 372 |
|
360 | 373 | ЧтениеXML.ПервыйАтрибут(); |
361 | 374 | ЧтениеXML.СледующийАтрибут(); |
362 | 375 |
|
363 | 376 | ЗаписьXML.ЗаписатьНачалоЭлемента("эл"); |
364 | 377 | ЗаписьXML.ЗаписатьТекущий(ЧтениеXML); |
365 | 378 |
|
366 | | - ЧтениеXML.Прочитать(); |
367 | | - ЧтениеXML.Прочитать(); |
368 | | - ЧтениеXML.Прочитать(); |
369 | | - |
370 | | - юТест.ПроверитьРавенство(ЧтениеXML.ТипУзла, |
371 | | - ТипУзлаXML.КонецЭлемента, |
372 | | - "Спозиционированы на КонецЭлемента"); |
| 379 | + ПрочитатьИПроверитьТип(ЧтениеXML, ТипУзлаXML.Текст, "Some Value"); |
| 380 | + ПрочитатьИПроверитьТип(ЧтениеXML, ТипУзлаXML.КонецЭлемента, "</data>"); |
| 381 | + ПрочитатьИПроверитьТип(ЧтениеXML, ТипУзлаXML.ПробельныеСимволы); |
| 382 | + ПрочитатьИПроверитьТип(ЧтениеXML, ТипУзлаXML.КонецЭлемента, "</xml>"); |
373 | 383 |
|
374 | 384 | ЗаписьXML.ЗаписатьТекущий(ЧтениеXML); |
375 | 385 |
|
|
386 | 396 |
|
387 | 397 | ПодготовитьТестовыеДанныеДляЗаписиТекущего(ЧтениеXML, ЗаписьXML); |
388 | 398 |
|
389 | | - ЧтениеXML.Прочитать(); |
390 | | - ЧтениеXML.Прочитать(); |
391 | | - ЧтениеXML.Прочитать(); |
392 | | - |
393 | | - юТест.ПроверитьРавенство(ЧтениеXML.ТипУзла, |
394 | | - ТипУзлаXML.Текст, |
395 | | - "Спозиционированы на Текст"); |
| 399 | + ПрочитатьИПроверитьТип(ЧтениеXML, ТипУзлаXML.ОбъявлениеXML, "<?xml>"); |
| 400 | + ПрочитатьИПроверитьТип(ЧтениеXML, ТипУзлаXML.ОпределениеТипаДокумента, "<!DOCTYPE>"); |
| 401 | + ПрочитатьИПроверитьТип(ЧтениеXML, ТипУзлаXML.НачалоЭлемента, "<xml>"); |
| 402 | + ПрочитатьИПроверитьТип(ЧтениеXML, ТипУзлаXML.ПробельныеСимволы); |
| 403 | + ПрочитатьИПроверитьТип(ЧтениеXML, ТипУзлаXML.НачалоЭлемента, "<data>"); |
| 404 | + |
| 405 | + ПрочитатьИПроверитьТип(ЧтениеXML, ТипУзлаXML.Текст, "Спозиционированы на текст Some text"); |
396 | 406 |
|
397 | 407 | ЗаписьXML.ЗаписатьНачалоЭлемента("эл"); |
398 | 408 | ЗаписьXML.ЗаписатьТекущий(ЧтениеXML); |
|
405 | 415 |
|
406 | 416 | КонецПроцедуры |
407 | 417 |
|
| 418 | +Процедура ТестДолжен_ЗаписатьТекущий_ОбъявлениеИТипДокумента() Экспорт |
| 419 | + |
| 420 | + Перем ЧтениеXML, ЗаписьXML; |
| 421 | + |
| 422 | + ПодготовитьТестовыеДанныеДляЗаписиТекущего(ЧтениеXML, ЗаписьXML); |
| 423 | + |
| 424 | + ПрочитатьИПроверитьТип(ЧтениеXML, ТипУзлаXML.ОбъявлениеXML, "<?xml>"); |
| 425 | + ЗаписьXML.ЗаписатьТекущий(ЧтениеXML); |
| 426 | + ПрочитатьИПроверитьТип(ЧтениеXML, ТипУзлаXML.ОпределениеТипаДокумента, "<!DOCTYPE>"); |
| 427 | + ЗаписьXML.ЗаписатьТекущий(ЧтениеXML); |
| 428 | + ПрочитатьИПроверитьТип(ЧтениеXML, ТипУзлаXML.НачалоЭлемента, "<xml>"); |
| 429 | + |
| 430 | + ЗаписьXML.ЗаписатьНачалоЭлемента("эл"); |
| 431 | + ЗаписьXML.ЗаписатьКонецЭлемента(); |
| 432 | + |
| 433 | + ПолученныйТекст = ЗаписьXML.Закрыть(); |
| 434 | + юТест.ПроверитьРавенствоСтрокБезУчетаРегистра( |
| 435 | + "<?xml version=""1.0"" encoding=""UTF-8""?><!DOCTYPE example[]><эл/>", |
| 436 | + ПолученныйТекст, |
| 437 | + "Объявления и тип документа"); |
| 438 | + |
| 439 | +КонецПроцедуры |
| 440 | + |
408 | 441 | Процедура ПодготовитьТестовыеДанныеДляЗаписиТекущего(ЧтениеXML, ЗаписьXML) |
409 | 442 |
|
410 | 443 | ПодопытныйТекст = |
411 | | - "<xml xmlns:ns=""ns"" attr=""1"" ns:attr=""value""> |
| 444 | + "<?xml version=""1.0"" encoding=""UTF-8""?> |
| 445 | + |<!DOCTYPE example SYSTEM ""example.dtd""> |
| 446 | + |<xml xmlns:ns=""ns"" attr=""1"" ns:attr=""value""> |
412 | 447 | | <ns:data inner=""123"" inner2=""456"" inner3=""789"">Some Text</ns:data> |
413 | 448 | |</xml>" |
414 | 449 | ; |
| 450 | + |
| 451 | + ПараметрыЧтения = Новый ПараметрыЧтенияXml( |
| 452 | + , // Версия |
| 453 | + , // Язык |
| 454 | + , // ПробельныеСимволы |
| 455 | + , // ТипПроверкиПравильности, |
| 456 | + Ложь, // ИгнорироватьОбъявлениеXML |
| 457 | + Ложь, // ИгнорироватьТипДокумента |
| 458 | + Ложь, // ИгнорироватьИнструкцииОбработки |
| 459 | + Ложь, // ИгнорироватьКомментарии |
| 460 | + Ложь, // ИгнорироватьПробельныеСимволы |
| 461 | + Ложь, // СекцииCDATAКакТекст |
| 462 | + Истина // ИспользоватьИгнорируемыеПробельныеСимволы |
| 463 | + ); |
| 464 | + |
415 | 465 | ЧтениеXML = Новый ЧтениеXML; |
416 | | - ЧтениеXML.УстановитьСтроку(ПодопытныйТекст); |
| 466 | + ЧтениеXML.УстановитьСтроку(ПодопытныйТекст, ПараметрыЧтения); |
417 | 467 |
|
418 | 468 | ПараметрыЗаписи = Новый ПараметрыЗаписиXml(, , Ложь); // без переносов |
419 | 469 |
|
420 | 470 | ЗаписьXML = Новый ЗаписьXML; |
421 | 471 | ЗаписьXML.УстановитьСтроку(ПараметрыЗаписи); |
422 | 472 |
|
423 | 473 | КонецПроцедуры |
| 474 | + |
| 475 | +Процедура ПрочитатьИПроверитьТип(Знач ЧтениеXML, Знач ТипУзла, Знач Сообщение = Неопределено) |
| 476 | + ЧтениеXML.Прочитать(); |
| 477 | + юТест.ПроверитьРавенство(ЧтениеXML.ТипУзла, ТипУзла, Сообщение); |
| 478 | +КонецПроцедуры |
| 479 | + |
0 commit comments