OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 package org.chromium.chrome.browser.omnibox; | 5 package org.chromium.chrome.browser.omnibox; |
6 | 6 |
7 import android.test.suitebuilder.annotation.SmallTest; | 7 import android.test.suitebuilder.annotation.SmallTest; |
8 | 8 |
9 import junit.framework.TestCase; | 9 import junit.framework.TestCase; |
10 | 10 |
11 public class SuggestionAnswerTest extends TestCase { | 11 public class SuggestionAnswerTest extends TestCase { |
12 @SmallTest | 12 @SmallTest |
13 public void testMalformedJsonReturnsNull() { | 13 public void testMalformedJsonReturnsNull() { |
14 String json = "} malformed json {"; | 14 String json = "} malformed json {"; |
15 SuggestionAnswer answer = SuggestionAnswer.parseAnswerContents(json); | 15 SuggestionAnswer answer = SuggestionAnswer.parseAnswerContents(json); |
16 assertNull(answer); | 16 assertNull(answer); |
17 } | 17 } |
18 | 18 |
19 @SmallTest | 19 @SmallTest |
20 public void testEmpyJsonReturnsNull() { | 20 public void testEmpyJsonReturnsNull() { |
21 String json = ""; | 21 String json = ""; |
22 SuggestionAnswer answer = SuggestionAnswer.parseAnswerContents(json); | 22 SuggestionAnswer answer = SuggestionAnswer.parseAnswerContents(json); |
23 assertNull(answer); | 23 assertNull(answer); |
24 } | 24 } |
25 | 25 |
26 @SmallTest | 26 @SmallTest |
27 public void testOneLineReturnsNull() { | 27 public void testOneLineReturnsNull() { |
28 String json = | 28 String json = "{ 'l': [" |
29 "{ 'l': [" + | 29 + " { 'il': { 't': [{ 't': 'text', 'tt': 8 }] } }, " |
30 " { 'il': { 't': [{ 't': 'text', 'tt': 8 }] } }, " + | 30 + "] }"; |
31 "] }"; | |
32 SuggestionAnswer answer = SuggestionAnswer.parseAnswerContents(json); | 31 SuggestionAnswer answer = SuggestionAnswer.parseAnswerContents(json); |
33 assertNull(answer); | 32 assertNull(answer); |
34 } | 33 } |
35 | 34 |
36 @SmallTest | 35 @SmallTest |
37 public void testTwoLinesDoesntReturnNull() { | 36 public void testTwoLinesDoesntReturnNull() { |
38 String json = | 37 String json = "{ 'l': [" |
39 "{ 'l': [" + | 38 + " { 'il': { 't': [{ 't': 'text', 'tt': 8 }] } }, " |
40 " { 'il': { 't': [{ 't': 'text', 'tt': 8 }] } }, " + | 39 + " { 'il': { 't': [{ 't': 'other text', 'tt': 5 }] } }" |
41 " { 'il': { 't': [{ 't': 'other text', 'tt': 5 }] } }" + | 40 + "] }"; |
42 "] }"; | |
43 SuggestionAnswer answer = SuggestionAnswer.parseAnswerContents(json); | 41 SuggestionAnswer answer = SuggestionAnswer.parseAnswerContents(json); |
44 assertNotNull(answer); | 42 assertNotNull(answer); |
45 } | 43 } |
46 | 44 |
47 @SmallTest | 45 @SmallTest |
48 public void testThreeLinesReturnsNull() { | 46 public void testThreeLinesReturnsNull() { |
49 String json = | 47 String json = "{ 'l': [" |
50 "{ 'l': [" + | 48 + " { 'il': { 't': [{ 't': 'text', 'tt': 8 }] } }, " |
51 " { 'il': { 't': [{ 't': 'text', 'tt': 8 }] } }, " + | 49 + " { 'il': { 't': [{ 't': 'other text', 'tt': 5 }] } }" |
52 " { 'il': { 't': [{ 't': 'other text', 'tt': 5 }] } }" + | 50 + " { 'il': { 't': [{ 't': 'yet more text', 'tt': 13 }] } }" |
53 " { 'il': { 't': [{ 't': 'yet more text', 'tt': 13 }] } }" + | 51 + "] }"; |
54 "] }"; | |
55 SuggestionAnswer answer = SuggestionAnswer.parseAnswerContents(json); | 52 SuggestionAnswer answer = SuggestionAnswer.parseAnswerContents(json); |
56 assertNull(answer); | 53 assertNull(answer); |
57 } | 54 } |
58 | 55 |
59 @SmallTest | 56 @SmallTest |
60 public void testFiveLinesReturnsNull() { | 57 public void testFiveLinesReturnsNull() { |
61 String json = | 58 String json = "{ 'l': [" |
62 "{ 'l': [" + | 59 + " { 'il': { 't': [{ 't': 'line 1', 'tt': 0 }] } }, " |
63 " { 'il': { 't': [{ 't': 'line 1', 'tt': 0 }] } }, " + | 60 + " { 'il': { 't': [{ 't': 'line 2', 'tt': 5 }] } }" |
64 " { 'il': { 't': [{ 't': 'line 2', 'tt': 5 }] } }" + | 61 + " { 'il': { 't': [{ 't': 'line 3', 'tt': 13 }] } }" |
65 " { 'il': { 't': [{ 't': 'line 3', 'tt': 13 }] } }" + | 62 + " { 'il': { 't': [{ 't': 'line 4', 'tt': 14 }] } }" |
66 " { 'il': { 't': [{ 't': 'line 4', 'tt': 14 }] } }" + | 63 + " { 'il': { 't': [{ 't': 'line 5', 'tt': 5 }] } }" |
67 " { 'il': { 't': [{ 't': 'line 5', 'tt': 5 }] } }" + | 64 + "] }"; |
68 "] }"; | |
69 SuggestionAnswer answer = SuggestionAnswer.parseAnswerContents(json); | 65 SuggestionAnswer answer = SuggestionAnswer.parseAnswerContents(json); |
70 assertNull(answer); | 66 assertNull(answer); |
71 } | 67 } |
72 | 68 |
73 @SmallTest | 69 @SmallTest |
74 public void testPropertyPresence() { | 70 public void testPropertyPresence() { |
75 String json = | 71 String json = "{ 'l': [" |
76 "{ 'l': [" + | 72 + " { 'il': { 't': [{ 't': 'text', 'tt': 8 }, { 't': 'moar', 't
t': 0 }], " |
77 " { 'il': { 't': [{ 't': 'text', 'tt': 8 }, { 't': 'moar', 'tt'
: 0 }], " + | 73 + " 'i': { 'd': 'http://example.com/foo.jpg' } } }, " |
78 " 'i': { 'd': 'http://example.com/foo.jpg' } } }, " + | 74 + " { 'il': { 't': [{ 't': 'other text', 'tt': 5 }], " |
79 " { 'il': { 't': [{ 't': 'other text', 'tt': 5 }], " + | 75 + " 'at': { 't': 'slatfotf', 'tt': 42 }, " |
80 " 'at': { 't': 'slatfotf', 'tt': 42 }, " + | 76 + " 'st': { 't': 'oh hi, Mark', 'tt': 7666 } } } " |
81 " 'st': { 't': 'oh hi, Mark', 'tt': 7666 } } } " + | 77 + "] }"; |
82 "] }"; | |
83 SuggestionAnswer answer = SuggestionAnswer.parseAnswerContents(json); | 78 SuggestionAnswer answer = SuggestionAnswer.parseAnswerContents(json); |
84 | 79 |
85 SuggestionAnswer.ImageLine firstLine = answer.getFirstLine(); | 80 SuggestionAnswer.ImageLine firstLine = answer.getFirstLine(); |
86 assertEquals(2, firstLine.getTextFields().size()); | 81 assertEquals(2, firstLine.getTextFields().size()); |
87 assertFalse(firstLine.hasAdditionalText()); | 82 assertFalse(firstLine.hasAdditionalText()); |
88 assertFalse(firstLine.hasStatusText()); | 83 assertFalse(firstLine.hasStatusText()); |
89 assertTrue(firstLine.hasImage()); | 84 assertTrue(firstLine.hasImage()); |
90 | 85 |
91 SuggestionAnswer.ImageLine secondLine = answer.getSecondLine(); | 86 SuggestionAnswer.ImageLine secondLine = answer.getSecondLine(); |
92 assertEquals(1, secondLine.getTextFields().size()); | 87 assertEquals(1, secondLine.getTextFields().size()); |
93 assertTrue(secondLine.hasAdditionalText()); | 88 assertTrue(secondLine.hasAdditionalText()); |
94 assertTrue(secondLine.hasStatusText()); | 89 assertTrue(secondLine.hasStatusText()); |
95 assertFalse(secondLine.hasImage()); | 90 assertFalse(secondLine.hasImage()); |
96 } | 91 } |
97 | 92 |
98 @SmallTest | 93 @SmallTest |
99 public void testContents() { | 94 public void testContents() { |
100 String json = | 95 String json = "{ 'l': [" |
101 "{ 'l': [" + | 96 + " { 'il': { 't': [{ 't': 'text', 'tt': 8 }, { 't': 'moar', 't
t': 0 }], " |
102 " { 'il': { 't': [{ 't': 'text', 'tt': 8 }, { 't': 'moar', 'tt'
: 0 }], " + | 97 + " 'at': { 't': 'hi there', 'tt': 7 } } }, " |
103 " 'at': { 't': 'hi there', 'tt': 7 } } }, " + | 98 + " { 'il': { 't': [{ 't': 'ftw', 'tt': 6006 }], " |
104 " { 'il': { 't': [{ 't': 'ftw', 'tt': 6006 }], " + | 99 + " 'st': { 't': 'shop S-Mart', 'tt': 666 }, " |
105 " 'st': { 't': 'shop S-Mart', 'tt': 666 }, " + | 100 + " 'i': { 'd': 'Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aG
lj' } } } " |
106 " 'i': { 'd': 'Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGlj
' } } } " + | 101 + "] }"; |
107 "] }"; | |
108 SuggestionAnswer answer = SuggestionAnswer.parseAnswerContents(json); | 102 SuggestionAnswer answer = SuggestionAnswer.parseAnswerContents(json); |
109 | 103 |
110 SuggestionAnswer.ImageLine firstLine = answer.getFirstLine(); | 104 SuggestionAnswer.ImageLine firstLine = answer.getFirstLine(); |
111 assertEquals("text", firstLine.getTextFields().get(0).getText()); | 105 assertEquals("text", firstLine.getTextFields().get(0).getText()); |
112 assertEquals(8, firstLine.getTextFields().get(0).getType()); | 106 assertEquals(8, firstLine.getTextFields().get(0).getType()); |
113 assertEquals("moar", firstLine.getTextFields().get(1).getText()); | 107 assertEquals("moar", firstLine.getTextFields().get(1).getText()); |
114 assertEquals(0, firstLine.getTextFields().get(1).getType()); | 108 assertEquals(0, firstLine.getTextFields().get(1).getType()); |
115 assertEquals("hi there", firstLine.getAdditionalText().getText()); | 109 assertEquals("hi there", firstLine.getAdditionalText().getText()); |
116 assertEquals(7, firstLine.getAdditionalText().getType()); | 110 assertEquals(7, firstLine.getAdditionalText().getType()); |
117 | 111 |
118 SuggestionAnswer.ImageLine secondLine = answer.getSecondLine(); | 112 SuggestionAnswer.ImageLine secondLine = answer.getSecondLine(); |
119 assertEquals("ftw", secondLine.getTextFields().get(0).getText()); | 113 assertEquals("ftw", secondLine.getTextFields().get(0).getText()); |
120 assertEquals(6006, secondLine.getTextFields().get(0).getType()); | 114 assertEquals(6006, secondLine.getTextFields().get(0).getType()); |
121 assertEquals("shop S-Mart", secondLine.getStatusText().getText()); | 115 assertEquals("shop S-Mart", secondLine.getStatusText().getText()); |
122 assertEquals(666, secondLine.getStatusText().getType()); | 116 assertEquals(666, secondLine.getStatusText().getType()); |
123 assertEquals("Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGlj", secondLine.getIma
ge()); | 117 assertEquals("Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGlj", secondLine.getIma
ge()); |
124 } | 118 } |
125 } | 119 } |
OLD | NEW |