|
194 | 194 |
|
195 | 195 | test "_, Array" do |
196 | 196 | output = phlex { div(attribute: []) } |
197 | | - assert_equal_html output, %(<div attribute=""></div>) |
| 197 | + assert_equal_html output, %(<div></div>) |
| 198 | +end |
| 199 | + |
| 200 | +test "_, Array(Array)" do |
| 201 | + output = phlex { div(attribute: [[], [], []]) } |
| 202 | + assert_equal_html output, %(<div></div>) |
198 | 203 | end |
199 | 204 |
|
200 | 205 | test "_, Array(nil)" do |
201 | 206 | output = phlex { div(attribute: [nil, nil, nil]) } |
202 | | - assert_equal_html output, %(<div attribute=""></div>) |
| 207 | + assert_equal_html output, %(<div></div>) |
| 208 | +end |
| 209 | + |
| 210 | +test "_, Array(Array(nil))" do |
| 211 | + output = phlex { div(attribute: [[nil, nil], [nil, nil]]) } |
| 212 | + assert_equal_html output, %(<div></div>) |
| 213 | +end |
| 214 | + |
| 215 | +test "_, Array(Array(nil), nil)" do |
| 216 | + output = phlex { div(attribute: [[nil, nil], nil]) } |
| 217 | + assert_equal_html output, %(<div></div>) |
203 | 218 | end |
204 | 219 |
|
205 | 220 | test "_, Array(String)" do |
|
386 | 401 | assert_equal_html output, %(<div></div>) |
387 | 402 | end |
388 | 403 |
|
| 404 | +test "_, Hash(_, Array)" do |
| 405 | + output = phlex { div(data: { action: [] }) } |
| 406 | + assert_equal_html output, %(<div></div>) |
| 407 | +end |
| 408 | + |
| 409 | +test "_, Hash(_, Array(nil))" do |
| 410 | + output = phlex { div(data: { action: [nil] }) } |
| 411 | + assert_equal_html output, %(<div></div>) |
| 412 | +end |
| 413 | + |
| 414 | +test "_, Hash(_, Set)" do |
| 415 | + output = phlex { div(data: { action: Set[] }) } |
| 416 | + assert_equal_html output, %(<div></div>) |
| 417 | +end |
| 418 | + |
| 419 | +test "_, Hash(_, Set)" do |
| 420 | + output = phlex { div(data: { action: Set[Set[]] }) } |
| 421 | + assert_equal_html output, %(<div></div>) |
| 422 | +end |
| 423 | + |
| 424 | +test "_, Hash(_, Set(nil))" do |
| 425 | + output = phlex { div(data: { action: Set[nil] }) } |
| 426 | + assert_equal_html output, %(<div></div>) |
| 427 | +end |
| 428 | + |
| 429 | +test "_, Hash(_, Set(Set(nil)))" do |
| 430 | + output = phlex { div(data: { action: Set[Set[nil]] }) } |
| 431 | + assert_equal_html output, %(<div></div>) |
| 432 | +end |
| 433 | + |
389 | 434 | test "_, Hash(_, *invalid*)" do |
390 | 435 | assert_raises(Phlex::ArgumentError) do |
391 | 436 | phlex { div(data: { controller: Object.new }) } |
392 | 437 | end |
393 | 438 | end |
394 | 439 |
|
395 | | -test "_, Set(nil)" do |
| 440 | +test "_, Set" do |
| 441 | + output = phlex { div(attribute: Set[]) } |
| 442 | + assert_equal_html output, %(<div></div>) |
| 443 | +end |
| 444 | + |
| 445 | +test "_, Set" do |
396 | 446 | output = phlex { div(attribute: Set[nil, nil, nil]) } |
397 | | - assert_equal_html output, %(<div attribute=""></div>) |
| 447 | + assert_equal_html output, %(<div></div>) |
| 448 | +end |
| 449 | + |
| 450 | +test "_, Set(Set)" do |
| 451 | + output = phlex { div(attribute: Set[Set[]]) } |
| 452 | + assert_equal_html output, %(<div></div>) |
| 453 | +end |
| 454 | + |
| 455 | +test "_, Set(Set(nil))" do |
| 456 | + output = phlex { div(attribute: Set[Set[nil, nil, nil]]) } |
| 457 | + assert_equal_html output, %(<div></div>) |
| 458 | +end |
| 459 | + |
| 460 | +test "_, Set(Set, nil)" do |
| 461 | + output = phlex { div(attribute: Set[Set[], nil]) } |
| 462 | + assert_equal_html output, %(<div></div>) |
| 463 | +end |
| 464 | + |
| 465 | +test "_, Set(Set(nil), nil)" do |
| 466 | + output = phlex { div(attribute: Set[Set[nil], nil]) } |
| 467 | + assert_equal_html output, %(<div></div>) |
398 | 468 | end |
399 | 469 |
|
400 | 470 | test "_, Set(String)" do |
|
540 | 610 |
|
541 | 611 | test ":srcset on img with an Array" do |
542 | 612 | output = phlex { img(srcset: []) } |
543 | | - assert_equal_html output, %(<img srcset="">) |
| 613 | + assert_equal_html output, %(<img>) |
544 | 614 |
|
545 | 615 | output = phlex { img(srcset: ["image.jpg 1x", "image@2x.jpg 2x"]) } |
546 | 616 | assert_equal_html output, %(<img srcset="image.jpg 1x, image@2x.jpg 2x">) |
547 | 617 | end |
548 | 618 |
|
549 | 619 | test ":media on link with an Array" do |
550 | 620 | output = phlex { link(media: []) } |
551 | | - assert_equal_html output, %(<link media="">) |
| 621 | + assert_equal_html output, %(<link>) |
552 | 622 |
|
553 | 623 | output = phlex { link(media: ["screen", "print"]) } |
554 | 624 | assert_equal_html output, %(<link media="screen, print">) |
|
559 | 629 |
|
560 | 630 | test ":sizes on link with an Array" do |
561 | 631 | output = phlex { link(sizes: []) } |
562 | | - assert_equal_html output, %(<link sizes="">) |
| 632 | + assert_equal_html output, %(<link>) |
563 | 633 |
|
564 | 634 | output = phlex { link(sizes: ["16x16", "32x32", "64x64"]) } |
565 | 635 | assert_equal_html output, %(<link sizes="16x16, 32x32, 64x64">) |
566 | 636 | end |
567 | 637 |
|
568 | 638 | test ":imagesrcset on link with an Array when rel is preload and as is image" do |
569 | 639 | output = phlex { link(imagesrcset: [], rel: "preload", as: "image") } |
570 | | - assert_equal_html output, %(<link imagesrcset="" rel="preload" as="image">) |
| 640 | + assert_equal_html output, %(<link rel="preload" as="image">) |
571 | 641 |
|
572 | 642 | output = phlex { link(imagesrcset: ["image.jpg 1x", "image@2x.jpg 2x"], rel: "preload", as: "image") } |
573 | 643 | assert_equal_html output, %(<link imagesrcset="image.jpg 1x, image@2x.jpg 2x" rel="preload" as="image">) |
|
581 | 651 |
|
582 | 652 | test ":accept on input with array when type is file" do |
583 | 653 | output = phlex { input(accept: [], type: "file") } |
584 | | - assert_equal_html output, %(<input accept="" type="file">) |
| 654 | + assert_equal_html output, %(<input type="file">) |
585 | 655 |
|
586 | 656 | output = phlex { input(accept: ["image/jpeg", "image/png"], type: "file") } |
587 | 657 | assert_equal_html output, %(<input accept="image/jpeg, image/png" type="file">) |
|
0 commit comments