| | |
| | | */ |
| | | function test_parse_four() |
| | | { |
| | | $vcard = "BEGIN:VCARD\nVERSION:3.0\nN:last\\;;first\\\\;middle;;\nFN:test\nEND:VCARD"; |
| | | $vcard = "BEGIN:VCARD\nVERSION:3.0\nN:last\\;;first\\\\;middle\\\\\\;\\\\;prefix;\nFN:test\nEND:VCARD"; |
| | | $vcard = new rcube_vcard($vcard, null); |
| | | $vcard = $vcard->get_assoc(); |
| | | |
| | | $this->assertEquals("last;", $vcard->surname, "Decode backslash character"); |
| | | $this->assertEquals("first\\", $vcard->firstname, "Decode backslash character"); |
| | | $this->assertEquals("middle", $vcard->middlename, "Decode backslash character"); |
| | | $this->assertEquals("last;", $vcard['surname'], "Decode backslash character"); |
| | | $this->assertEquals("first\\", $vcard['firstname'], "Decode backslash character"); |
| | | $this->assertEquals("middle\\;\\", $vcard['middlename'], "Decode backslash character"); |
| | | $this->assertEquals("prefix", $vcard['prefix'], "Decode backslash character"); |
| | | } |
| | | |
| | | /** |
| | | * Backslash parsing test (#1489085) |
| | | */ |
| | | function test_parse_five() |
| | | { |
| | | $vcard = "BEGIN:VCARD\nVERSION:3.0\nN:last\\\\\\a;fir\\nst\nURL:http\\://domain.tld\nEND:VCARD"; |
| | | $vcard = new rcube_vcard($vcard, null); |
| | | $vcard = $vcard->get_assoc(); |
| | | |
| | | $this->assertEquals("last\\a", $vcard['surname'], "Decode dummy backslash character"); |
| | | $this->assertEquals("fir\nst", $vcard['firstname'], "Decode backslash character"); |
| | | $this->assertEquals("http://domain.tld", $vcard['website:other'][0], "Decode dummy backslash character"); |
| | | } |
| | | |
| | | function test_import() |