393{
400
401
403 hr = pCreateAssemblyNameObject(
NULL, namestr, 0,
NULL);
405
406
411
412
417
418
419
420
423 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
425
427 hr = IAssemblyName_GetDisplayName(
name,
str, &
size, ASM_DISPLAYF_FULL);
430 "Expected FUSION_E_INVALID_NAME, got %08lx\n",
hr);
431
436 ok(
str[0] ==
'a',
"got %c\n",
str[0]);
438
439 hi = 0xbeefcace;
440 lo = 0xcafebabe;
441 hr = IAssemblyName_GetVersion(
name, &hi, &lo);
444 "Expected FUSION_E_INVALID_NAME, got %08lx\n",
hr);
445 ok(hi == 0,
"Expected 0, got %08lx\n", hi);
446 ok(lo == 0,
"Expected 0, got %08lx\n", lo);
447
449 win_skip(
".NET 1.x doesn't handle ASM_NAME_PROCESSOR_ID_ARRAY"
450 " and ASM_NAME_OSINFO_ARRAY correctly\n");
451 else
453
454 IAssemblyName_Release(
name);
455
456
459 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
461
463 hr = IAssemblyName_GetDisplayName(
name,
str, &
size, ASM_DISPLAYF_FULL);
466 "Expected FUSION_E_INVALID_NAME, got %08lx\n",
hr);
467
472
473 if (0)
474 {
479 }
480
487
491 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
492 ok(!
str[0],
"Expected empty name\n");
494
495 hi = 0xbeefcace;
496 lo = 0xcafebabe;
497 hr = IAssemblyName_GetVersion(
name, &hi, &lo);
500 "Expected FUSION_E_INVALID_NAME, got %08lx\n",
hr);
501 ok(hi == 0,
"Expected 0, got %08lx\n", hi);
502 ok(lo == 0,
"Expected 0, got %08lx\n", lo);
503
505 win_skip(
".NET 1.x doesn't handle ASM_NAME_PROCESSOR_ID_ARRAY"
506 " and ASM_NAME_OSINFO_ARRAY correctly\n");
507 else
509
510 IAssemblyName_Release(
name);
511
512
516 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
518
523
528
533 ok(
str[0] ==
'a',
"got %c\n",
str[0]);
535
538 hr = IAssemblyName_GetDisplayName(
name,
str, &
size, ASM_DISPLAYF_FULL);
540 ok(
str[0] ==
'a',
"got %c\n",
str[0]);
542
544 hr = IAssemblyName_GetDisplayName(
name,
str, &
size, ASM_DISPLAYF_FULL);
545 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
548
555
559 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
562
563 hi = 0xbeefcace;
564 lo = 0xcafebabe;
565 hr = IAssemblyName_GetVersion(
name, &hi, &lo);
568 "Expected FUSION_E_INVALID_NAME, got %08lx\n",
hr);
569 ok(hi == 0,
"Expected 0, got %08lx\n", hi);
570 ok(lo == 0,
"Expected 0, got %08lx\n", lo);
571
573 win_skip(
".NET 1.x doesn't handle ASM_NAME_PROCESSOR_ID_ARRAY"
574 " and ASM_NAME_OSINFO_ARRAY correctly\n");
575 else
577
578 IAssemblyName_Release(
name);
579
580
581
582
586 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
588
590 hr = IAssemblyName_GetDisplayName(
name,
str, &
size, ASM_DISPLAYF_FULL);
591 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
594
598 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
601
602 hi = 0xbeefcace;
603 lo = 0xcafebabe;
604 hr = IAssemblyName_GetVersion(
name, &hi, &lo);
607 "Expected FUSION_E_INVALID_NAME, got %08lx\n",
hr);
608 ok(hi == 0,
"Expected 0, got %08lx\n", hi);
609 ok(lo == 0,
"Expected 0, got %08lx\n", lo);
610
612
613 IAssemblyName_Release(
name);
614
615
619 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
621
623 hr = IAssemblyName_GetDisplayName(
name,
str, &
size, ASM_DISPLAYF_FULL);
624 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
625 ok_aw(
"wine, Version=1.2.3.4",
str);
626 ok(
size == 22,
"Expected 22, got %ld\n",
size);
627
631 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
634
635 hi = 0xbeefcace;
636 lo = 0xcafebabe;
637 hr = IAssemblyName_GetVersion(
name, &hi, &lo);
638 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
639 ok(hi == 0x00010002,
"Expected 0x00010002, got %08lx\n", hi);
640 ok(lo == 0x00030004,
"Expected 0x00030004, got %08lx\n", lo);
641
643
644 IAssemblyName_Release(
name);
645
646
650 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
652
654 hr = IAssemblyName_GetDisplayName(
name,
str, &
size, ASM_DISPLAYF_FULL);
655 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
657 ok(
size == 18,
"Expected 18, got %ld\n",
size);
658
662 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
665
666 hi = 0xbeefcace;
667 lo = 0xcafebabe;
668 hr = IAssemblyName_GetVersion(
name, &hi, &lo);
671 "Expected FUSION_E_INVALID_NAME, got %08lx\n",
hr);
674 "Expected 0, got %08lx\n", hi);
675 ok(lo == 0,
"Expected 0, got %08lx\n", lo);
676
678
679 IAssemblyName_Release(
name);
680
681
685 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
687
689 hr = IAssemblyName_GetDisplayName(
name,
str, &
size, ASM_DISPLAYF_FULL);
690 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
691 ok_aw(
"wine, Culture=neutral",
str);
692 ok(
size == 22,
"Expected 22, got %ld\n",
size);
693
697 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
700
701 hi = 0xbeefcace;
702 lo = 0xcafebabe;
703 hr = IAssemblyName_GetVersion(
name, &hi, &lo);
706 "Expected FUSION_E_INVALID_NAME, got %08lx\n",
hr);
707 ok(hi == 0,
"Expected 0, got %08lx\n", hi);
708 ok(lo == 0,
"Expected 0, got %08lx\n", lo);
709
711
712 IAssemblyName_Release(
name);
713
714
718 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
720
722 hr = IAssemblyName_GetDisplayName(
name,
str, &
size, ASM_DISPLAYF_FULL);
723 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
725 ok(
size == 17,
"Expected 17, got %ld\n",
size);
726
730 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
733
734 hi = 0xbeefcace;
735 lo = 0xcafebabe;
736 hr = IAssemblyName_GetVersion(
name, &hi, &lo);
739 "Expected FUSION_E_INVALID_NAME, got %08lx\n",
hr);
740 ok(hi == 0,
"Expected 0, got %08lx\n", hi);
741 ok(lo == 0,
"Expected 0, got %08lx\n", lo);
742
744
745 IAssemblyName_Release(
name);
746
747
748 to_widechar(namestr,
"wine, PublicKeyToken=01234567890abcde");
751 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
753
755 hr = IAssemblyName_GetDisplayName(
name,
str, &
size, ASM_DISPLAYF_FULL);
756 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
757 ok_aw(
"wine, PublicKeyToken=01234567890abcde",
str);
758 ok(
size == 38,
"Expected 38, got %ld\n",
size);
759
763 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
766
767 hi = 0xbeefcace;
768 lo = 0xcafebabe;
769 hr = IAssemblyName_GetVersion(
name, &hi, &lo);
772 "Expected FUSION_E_INVALID_NAME, got %08lx\n",
hr);
773 ok(hi == 0,
"Expected 0, got %08lx\n", hi);
774 ok(lo == 0,
"Expected 0, got %08lx\n", lo);
775
777
778 IAssemblyName_Release(
name);
779
780
781 to_widechar(namestr,
"wine, processorArchitecture=x86");
784 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
785
787
789 hr = IAssemblyName_GetDisplayName(
name,
str, &
size, ASM_DISPLAYF_PROCESSORARCHITECTURE);
790 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
791
793
795 win_skip(
"processorArchitecture not supported on .NET 1.x\n");
796 else
797 {
798 ok_aw(
"wine, processorArchitecture=x86",
str);
799 ok(
size == 32,
"Expected 32, got %ld\n",
size);
800
802 hr = IAssemblyName_GetProperty(
name, ASM_NAME_ARCHITECTURE, &arch, &
size);
803 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
804 ok(arch ==
peI386,
"Expected peI386, got %d\n", arch);
805 ok(
size ==
sizeof(arch),
"Wrong size %ld\n",
size);
806
807 IAssemblyName_Release(
name);
808
809
810 to_widechar(namestr,
"wine, processorArchitecture=AMD64");
813 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
814
816 hr = IAssemblyName_GetDisplayName(
name,
str, &
size, ASM_DISPLAYF_PROCESSORARCHITECTURE);
817 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
818 ok_aw(
"wine, processorArchitecture=AMD64",
str);
819 ok(
size == 34,
"Expected 34, got %ld\n",
size);
820
822 hr = IAssemblyName_GetProperty(
name, ASM_NAME_ARCHITECTURE, &arch, &
size);
823 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
824 ok(arch ==
peAMD64,
"Expected peAMD64, got %d\n", arch);
825 ok(
size ==
sizeof(arch),
"Wrong size %ld\n",
size);
826
827 IAssemblyName_Release(
name);
828
829
830 to_widechar(namestr,
"wine, processorArchitecture=IA64");
833 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
834
836 hr = IAssemblyName_GetDisplayName(
name,
str, &
size, ASM_DISPLAYF_PROCESSORARCHITECTURE);
837 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
838 ok_aw(
"wine, processorArchitecture=IA64",
str);
839 ok(
size == 33,
"Expected 33, got %ld\n",
size);
840
842 hr = IAssemblyName_GetProperty(
name, ASM_NAME_ARCHITECTURE, &arch, &
size);
843 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
844 ok(arch ==
peIA64,
"Expected peIA64, got %d\n", arch);
845 ok(
size ==
sizeof(arch),
"Wrong size %ld\n",
size);
846
847 IAssemblyName_Release(
name);
848
849
850 to_widechar(namestr,
"wine, processorArchitecture=MSIL");
853 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
854
856 hr = IAssemblyName_GetDisplayName(
name,
str, &
size, ASM_DISPLAYF_PROCESSORARCHITECTURE);
857 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
858 ok_aw(
"wine, processorArchitecture=MSIL",
str);
859 ok(
size == 33,
"Expected 33, got %ld\n",
size);
860
862 hr = IAssemblyName_GetProperty(
name, ASM_NAME_ARCHITECTURE, &arch, &
size);
863 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
864 ok(arch ==
peMSIL,
"Expected peMSIL, got %d\n", arch);
865 ok(
size ==
sizeof(arch),
"Wrong size %ld\n",
size);
866
867 IAssemblyName_Release(
name);
868 }
869
870
871 to_widechar(namestr,
"wine, Version=1.2.3.4, Culture=en, PublicKeyToken=1234567890abcdef");
874 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
876
878 hr = IAssemblyName_GetDisplayName(
name,
str, &
size, ASM_DISPLAYF_VERSION | ASM_DISPLAYF_CULTURE);
879 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
880 ok_aw(
"wine, Version=1.2.3.4, Culture=en",
str);
881 ok(
size == 34,
"Expected 34, got %ld\n",
size);
882
884 hr = IAssemblyName_GetDisplayName(
name,
str, &
size, ASM_DISPLAYF_CULTURE | ASM_DISPLAYF_PUBLIC_KEY_TOKEN);
885 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
886 ok_aw(
"wine, Culture=en, PublicKeyToken=1234567890abcdef",
str);
887 ok(
size == 50,
"Expected 50, got %ld\n",
size);
888
890 hr = IAssemblyName_GetDisplayName(
name,
str, &
size, ASM_DISPLAYF_FULL);
891 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
892 ok_aw(
"wine, Version=1.2.3.4, Culture=en, PublicKeyToken=1234567890abcdef",
str);
893 ok(
size == 67,
"Expected 67, got %ld\n",
size);
894
895 IAssemblyName_Release(
name);
896
897
901 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
903
906 hr = IAssemblyName_GetDisplayName(
name,
str, &
size, ASM_DISPLAYF_FULL);
907 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
910
914 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
917
918 hi = 0xbeefcace;
919 lo = 0xcafebabe;
920 hr = IAssemblyName_GetVersion(
name, &hi, &lo);
923 "Expected FUSION_E_INVALID_NAME, got %08lx\n",
hr);
924 ok(hi == 0,
"Expected 0, got %08lx\n", hi);
925 ok(lo == 0,
"Expected 0, got %08lx\n", lo);
926
928
929 IAssemblyName_Release(
name);
930
931
932 to_widechar(namestr,
"wine, PublicKeyToken=567890abcdef");
936 {
937 win_skip(
".NET 1.x doesn't check PublicKeyToken correctly\n");
938 IAssemblyName_Release(
name);
939 return;
940 }
942 "Expected FUSION_E_INVALID_NAME, got %08lx\n",
hr);
944
945
946 to_widechar(namestr,
"wine, PublicKeyToken=1234567890ghijkl");
950 "Expected FUSION_E_INVALID_NAME, got %08lx\n",
hr);
952
953
954 to_widechar(namestr,
"wine PublicKeyToken=1234567890abcdef");
958 "Expected FUSION_E_INVALID_NAME, got %08lx\n",
hr);
961
962
967 "Expected FUSION_E_INVALID_NAME, got %08lx\n",
hr);
969
970
975 "Expected FUSION_E_INVALID_NAME, got %08lx\n",
hr);
977
978
982 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
984 hi = lo = 0xdeadbeef;
985 hr = IAssemblyName_GetVersion(
name, &hi, &lo);
986 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
987 ok(hi == 65536,
"Expected 536, got %lu\n", hi);
988 ok(lo == 0,
"Expected 0, got %lu\n", lo);
989 IAssemblyName_Release(
name);
990
991
992 to_widechar(namestr,
"wine, version=\"1.0.0.0\",culture=\"en\"");
995 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
997 hi = lo = 0xdeadbeef;
998 hr = IAssemblyName_GetVersion(
name, &hi, &lo);
999 ok(
hr ==
S_OK,
"Expected S_OK, got %08lx\n",
hr);
1000 ok(hi == 65536,
"Expected 65536, got %lu\n", hi);
1001 ok(lo == 0,
"Expected 0, got %lu\n", lo);
1002 IAssemblyName_Release(
name);
1003}
#define FUSION_E_INVALID_NAME
static const ASMPROP_RES neutralname[ASM_NAME_MAX_PARAMS]
static const ASMPROP_RES pubkeyname[ASM_NAME_MAX_PARAMS]
static const ASMPROP_RES defaults[ASM_NAME_MAX_PARAMS]
static const ASMPROP_RES vername[ASM_NAME_MAX_PARAMS]
static const ASMPROP_RES enname[ASM_NAME_MAX_PARAMS]
#define ok_aw(aString, wString)
static const ASMPROP_RES emptyname[ASM_NAME_MAX_PARAMS]
static const ASMPROP_RES badvername[ASM_NAME_MAX_PARAMS]
static const ASMPROP_RES winename[ASM_NAME_MAX_PARAMS]
#define test_assembly_name_props(name, vals)
#define E_NOT_SUFFICIENT_BUFFER
@ CANOF_PARSE_DISPLAY_NAME
@ CANOF_SET_DEFAULT_VALUES