|
40 | 40 | ВсеТесты.Добавить("ТестДолжен_ЗаписатьТекущий_Комментарий"); |
41 | 41 | ВсеТесты.Добавить("ТестДолжен_ЗаписатьТекущий_СсылкаНаСушность"); |
42 | 42 | ВсеТесты.Добавить("ТестДолжен_ЗаписатьТекущий_ПолноеКопирование"); |
| 43 | + ВсеТесты.Добавить("ТестДолжен_ЗаписатьТекущий_ИнструкцииОбработки"); |
43 | 44 |
|
44 | 45 | ВсеТесты.Добавить("ТестДолжен_ЗаписатьТекущий_ОбъявлениеИТипДокумента"); |
45 | 46 |
|
|
631 | 632 |
|
632 | 633 | КонецПроцедуры |
633 | 634 |
|
| 635 | +Процедура ТестДолжен_ЗаписатьТекущий_ИнструкцииОбработки() Экспорт |
| 636 | + |
| 637 | + Перем ЧтениеXML, ЗаписьXML; |
| 638 | + |
| 639 | + ПодготовитьТестовыеДанныеДляЗаписиТекущего(ЧтениеXML, ЗаписьXML); |
| 640 | + |
| 641 | + ДойтиДоИмени(ЧтениеXML, "PI"); |
| 642 | + ПрочитатьИПроверитьТип(ЧтениеXML, ТипУзлаXML.ИнструкцияОбработки); |
| 643 | + |
| 644 | + ЗаписьXML.ЗаписатьНачалоЭлемента("эл"); |
| 645 | + ЗаписьXML.ЗаписатьТекущий(ЧтениеXML); |
| 646 | + ЗаписьXML.ЗаписатьКонецЭлемента(); |
| 647 | + |
| 648 | + ПолученныйТекст = ЗаписьXML.Закрыть(); |
| 649 | + |
| 650 | + // Несовместимость: dotnet всегда добавляет пробел, даже если нет текста инструкции |
| 651 | + юТест.ПроверитьРавенство("<эл><?инструкция ?></эл>", |
| 652 | + // ^ |
| 653 | + ПолученныйТекст, |
| 654 | + "Инструкция обработки"); |
| 655 | + |
| 656 | + ПрочитатьИПроверитьТип(ЧтениеXML, ТипУзлаXML.КонецЭлемента); |
| 657 | + ЧтениеXML.Прочитать(); |
| 658 | + |
| 659 | + // |
| 660 | + |
| 661 | + ПодготовитьЗаписьXML(ЗаписьXML); |
| 662 | + ДойтиДоИмени(ЧтениеXML, "PI"); |
| 663 | + ПрочитатьИПроверитьТип(ЧтениеXML, ТипУзлаXML.ИнструкцияОбработки); |
| 664 | + |
| 665 | + ЗаписьXML.ЗаписатьНачалоЭлемента("эл"); |
| 666 | + ЗаписьXML.ЗаписатьТекущий(ЧтениеXML); |
| 667 | + ЗаписьXML.ЗаписатьКонецЭлемента(); |
| 668 | + |
| 669 | + ПолученныйТекст = ЗаписьXML.Закрыть(); |
| 670 | + |
| 671 | + юТест.ПроверитьРавенство("<эл><?инструкция с произвольным текстом внутри?></эл>", |
| 672 | + ПолученныйТекст, |
| 673 | + "Инструкция обработки с текстом"); |
| 674 | + |
| 675 | + ПрочитатьИПроверитьТип(ЧтениеXML, ТипУзлаXML.КонецЭлемента); |
| 676 | + ЧтениеXML.Прочитать(); |
| 677 | + |
| 678 | + // |
| 679 | + |
| 680 | + ПодготовитьЗаписьXML(ЗаписьXML); |
| 681 | + ДойтиДоИмени(ЧтениеXML, "PI"); |
| 682 | + ПрочитатьИПроверитьТип(ЧтениеXML, ТипУзлаXML.ИнструкцияОбработки); |
| 683 | + |
| 684 | + ЗаписьXML.ЗаписатьНачалоЭлемента("эл"); |
| 685 | + ЗаписьXML.ЗаписатьТекущий(ЧтениеXML); |
| 686 | + ЗаписьXML.ЗаписатьКонецЭлемента(); |
| 687 | + |
| 688 | + ПолученныйТекст = ЗаписьXML.Закрыть(); |
| 689 | + |
| 690 | + юТест.ПроверитьРавенство("<эл><?инструкция с произвольным текстом внутри и <служебными символами>?></эл>", |
| 691 | + ПолученныйТекст, |
| 692 | + "Инструкция обработки с текстом и служебными символами"); |
| 693 | + |
| 694 | +КонецПроцедуры |
| 695 | + |
634 | 696 | Процедура ПодготовитьТестовыеДанныеДляЗаписиТекущего(ЧтениеXML, ЗаписьXML) |
635 | 697 |
|
636 | 698 | ПодопытныйТекст = |
|
643 | 705 | | <БлокСКомментарием> <!-- Комментарий --> </БлокСКомментарием> |
644 | 706 | | <entity>&СсылкаНаСущность;</entity> |
645 | 707 | | <entity2>Это &СсылкаНаСущность;</entity2> |
| 708 | + | <PI><?инструкция?></PI> |
| 709 | + | <PI><?инструкция с произвольным текстом внутри?></PI> |
| 710 | + | <PI><?инструкция с произвольным текстом внутри и <служебными символами>?></PI> |
646 | 711 | |</xml>" |
647 | 712 | ; |
648 | 713 |
|
|
663 | 728 | ЧтениеXML = Новый ЧтениеXML; |
664 | 729 | ЧтениеXML.УстановитьСтроку(ПодопытныйТекст, ПараметрыЧтения); |
665 | 730 |
|
| 731 | + ПодготовитьЗаписьXML(ЗаписьXML); |
| 732 | + |
| 733 | +КонецПроцедуры |
| 734 | + |
| 735 | +Процедура ПодготовитьЗаписьXML(ЗаписьXML) |
| 736 | + |
666 | 737 | ПараметрыЗаписи = Новый ПараметрыЗаписиXml(, , Ложь); // без переносов |
667 | 738 |
|
668 | 739 | ЗаписьXML = Новый ЗаписьXML; |
|
0 commit comments