codebude / QRCoder

A pure C# Open Source QR Code implementation
MIT License
4.6k stars 1.09k forks source link

Website field is not added to the vcard of type other than MeCard #170

Closed kashif-khan closed 5 years ago

kashif-khan commented 5 years ago

Type of issue

[X] Bug
[ ] Question (e.g. about handling/usage)
[ ] Request for new feature/improvement

Expected Behavior

The following test case should pass

        [Fact]
        [Category("PayloadGenerator/ContactData")]
        public void contactdata_generator_can_generate_payload_full_vcard21()
        {
            var firstname = "John";
            var lastname = "Doe";
            var nickname = "Johnny";
            var phone = "";
            var mobilePhone = "+421701234567";
            var workPhone = "+4253211337";
            var email = "me@john.doe";
            var birthday = new DateTime(1970, 02, 01);
            var website = "http://john.doe";
            var street = "Long street";
            var houseNumber = "42";
            var city = "Super-Town";
            var zipCode = "12345";
            var country = "Starlight Country";
            var note = "Badass programmer.";
            var outputType = PayloadGenerator.ContactData.ContactOutputType.VCard21;

            var generator = new PayloadGenerator.ContactData(outputType, firstname, lastname, nickname, phone, mobilePhone, workPhone, email, birthday, website, street, houseNumber, city, zipCode, country, note);

            generator
                .ToString()
                .ShouldBe("BEGIN:VCARD\r\nVERSION:2.1\r\nN:Doe;John;;;\r\nFN:John Doe\r\nTEL;HOME;CELL:+421701234567\r\nTEL;WORK;VOICE:+4253211337\r\nADR;HOME;PREF:;;Long street 42;12345;Super-Town;;Starlight Country\r\nBDAY:19700201\r\nURL:http://john.doe\r\nEMAIL:me@john.doe\r\nNOTE:Badass programmer.\r\nEND:VCARD");
        }

Current Behavior

The following test case fails

        [Fact]
        [Category("PayloadGenerator/ContactData")]
        public void contactdata_generator_can_generate_payload_full_vcard21()
        {
            var firstname = "John";
            var lastname = "Doe";
            var nickname = "Johnny";
            var phone = "";
            var mobilePhone = "+421701234567";
            var workPhone = "+4253211337";
            var email = "me@john.doe";
            var birthday = new DateTime(1970, 02, 01);
            var website = "http://john.doe";
            var street = "Long street";
            var houseNumber = "42";
            var city = "Super-Town";
            var zipCode = "12345";
            var country = "Starlight Country";
            var note = "Badass programmer.";
            var outputType = PayloadGenerator.ContactData.ContactOutputType.VCard21;

            var generator = new PayloadGenerator.ContactData(outputType, firstname, lastname, nickname, phone, mobilePhone, workPhone, email, birthday, website, street, houseNumber, city, zipCode, country, note);

            generator
                .ToString()
                .ShouldBe("BEGIN:VCARD\r\nVERSION:2.1\r\nN:Doe;John;;;\r\nFN:John Doe\r\nTEL;HOME;CELL:+421701234567\r\nTEL;WORK;VOICE:+4253211337\r\nADR;HOME;PREF:;;Long street 42;12345;Super-Town;;Starlight Country\r\nBDAY:19700201\r\nURL:http://john.doe\r\nEMAIL:me@john.doe\r\nNOTE:Badass programmer.\r\nEND:VCARD");
        }

Possible Solution (optional)

Steps to Reproduce (for bugs)

Your Environment

codebude commented 5 years ago

Hi @kashif-khan thanks for pointing out this bug and your fix. I merged your changes.