| 33 | | def test_bad_markup_1 |
| 34 | | src="<pkg='version'> foo </pkg>" |
| 35 | | assert_raises( ParseException, %Q{Test against "#{src}" should have failed!} ) { |
| 36 | | Document.new(src) |
| 37 | | } |
| | 33 | def test_bad_markup |
| | 34 | [ |
| | 35 | "<pkg='version'> foo </pkg>", |
| | 36 | |
| | 37 | # incomplete/invalid entities |
| | 38 | '<a>&</a>', |
| | 39 | '<a>&a</a>', |
| | 40 | '<a>&a;</a>', |
| | 41 | |
| | 42 | # duplicate attribute names |
| | 43 | '<a a="1" a="2"/>', |
| | 44 | |
| | 45 | # comments |
| | 46 | '<a><!-- -- --></a>', |
| | 47 | '<a><!-- ---></a>', |
| | 48 | |
| | 49 | # invalid characters in an attribute |
| | 50 | '<a a="<"/>', |
| | 51 | |
| | 52 | # invalid characters in a name |
| | 53 | '<0/>', |
| | 54 | '<a 3=""/>', |
| | 55 | '<a' + [160].pack('U') + ' />', |
| | 56 | '<a a' + [160].pack('U') + '="" />', |
| | 57 | |
| | 58 | # invalid XML characters |
| | 59 | '<a>�</a>', |
| | 60 | "<a>\000</a>", |
| | 61 | "<a>\f</a>", |
| | 62 | "<a a='\f' />", |
| | 63 | '<a>' + [65535].pack('U') + '</a>', |
| | 64 | '<a>࿾</a>', |
| | 65 | '<a></a>', |
| | 66 | ].each do |src| |
| | 67 | assert_raises( ParseException, %Q{Parse #{src.inspect} should have failed!} ) do |
| | 68 | Document.new(src) |
| | 69 | end |
| | 70 | end |