2 * Copyright 2007 ZXing authors
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 package com.google.zxing.client.result;
19 import com.google.zxing.BarcodeFormat;
20 import com.google.zxing.Result;
21 import org.junit.Assert;
22 import org.junit.Test;
25 * Tests {@link EmailAddressParsedResult}.
29 public final class EmailAddressParsedResultTestCase extends Assert {
32 public void testEmailAddress() {
33 doTest("srowen@example.org", "srowen@example.org", null, null);
34 doTest("mailto:srowen@example.org", "srowen@example.org", null, null);
38 public void testEmailDocomo() {
39 doTest("MATMSG:TO:srowen@example.org;;", "srowen@example.org", null, null);
40 doTest("MATMSG:TO:srowen@example.org;SUB:Stuff;;", "srowen@example.org", "Stuff", null);
41 doTest("MATMSG:TO:srowen@example.org;SUB:Stuff;BODY:This is some text;;", "srowen@example.org",
42 "Stuff", "This is some text");
46 public void testSMTP() {
47 doTest("smtp:srowen@example.org", "srowen@example.org", null, null);
48 doTest("SMTP:srowen@example.org", "srowen@example.org", null, null);
49 doTest("smtp:srowen@example.org:foo", "srowen@example.org", "foo", null);
50 doTest("smtp:srowen@example.org:foo:bar", "srowen@example.org", "foo", "bar");
53 private static void doTest(String contents, String email, String subject, String body) {
54 Result fakeResult = new Result(contents, null, null, BarcodeFormat.QR_CODE);
55 ParsedResult result = ResultParser.parseResult(fakeResult);
56 assertSame(ParsedResultType.EMAIL_ADDRESS, result.getType());
57 EmailAddressParsedResult emailResult = (EmailAddressParsedResult) result;
58 assertEquals(email, emailResult.getEmailAddress());
59 assertEquals("mailto:" + email, emailResult.getMailtoURI());
60 assertEquals(subject, emailResult.getSubject());
61 assertEquals(body, emailResult.getBody());