| Index: chrome/android/javatests/src/org/chromium/chrome/browser/omnibox/SuggestionAnswerTest.java
|
| diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/omnibox/SuggestionAnswerTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/omnibox/SuggestionAnswerTest.java
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..cdff625fda02c6845fc17e1059e88f46915b4204
|
| --- /dev/null
|
| +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/omnibox/SuggestionAnswerTest.java
|
| @@ -0,0 +1,125 @@
|
| +// Copyright 2014 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +package org.chromium.chrome.browser.omnibox;
|
| +
|
| +import android.test.suitebuilder.annotation.SmallTest;
|
| +
|
| +import junit.framework.TestCase;
|
| +
|
| +public class SuggestionAnswerTest extends TestCase {
|
| + @SmallTest
|
| + public void testMalformedJsonReturnsNull() {
|
| + String json = "} malformed json {";
|
| + SuggestionAnswer answer = SuggestionAnswer.parseAnswerContents(json);
|
| + assertNull(answer);
|
| + }
|
| +
|
| + @SmallTest
|
| + public void testEmpyJsonReturnsNull() {
|
| + String json = "";
|
| + SuggestionAnswer answer = SuggestionAnswer.parseAnswerContents(json);
|
| + assertNull(answer);
|
| + }
|
| +
|
| + @SmallTest
|
| + public void testOneLineReturnsNull() {
|
| + String json =
|
| + "{ 'l': [" +
|
| + " { 'il': { 't': [{ 't': 'text', 'tt': 8 }] } }, " +
|
| + "] }";
|
| + SuggestionAnswer answer = SuggestionAnswer.parseAnswerContents(json);
|
| + assertNull(answer);
|
| + }
|
| +
|
| + @SmallTest
|
| + public void testTwoLinesDoesntReturnNull() {
|
| + String json =
|
| + "{ 'l': [" +
|
| + " { 'il': { 't': [{ 't': 'text', 'tt': 8 }] } }, " +
|
| + " { 'il': { 't': [{ 't': 'other text', 'tt': 5 }] } }" +
|
| + "] }";
|
| + SuggestionAnswer answer = SuggestionAnswer.parseAnswerContents(json);
|
| + assertNotNull(answer);
|
| + }
|
| +
|
| + @SmallTest
|
| + public void testThreeLinesReturnsNull() {
|
| + String json =
|
| + "{ 'l': [" +
|
| + " { 'il': { 't': [{ 't': 'text', 'tt': 8 }] } }, " +
|
| + " { 'il': { 't': [{ 't': 'other text', 'tt': 5 }] } }" +
|
| + " { 'il': { 't': [{ 't': 'yet more text', 'tt': 13 }] } }" +
|
| + "] }";
|
| + SuggestionAnswer answer = SuggestionAnswer.parseAnswerContents(json);
|
| + assertNull(answer);
|
| + }
|
| +
|
| + @SmallTest
|
| + public void testFiveLinesReturnsNull() {
|
| + String json =
|
| + "{ 'l': [" +
|
| + " { 'il': { 't': [{ 't': 'line 1', 'tt': 0 }] } }, " +
|
| + " { 'il': { 't': [{ 't': 'line 2', 'tt': 5 }] } }" +
|
| + " { 'il': { 't': [{ 't': 'line 3', 'tt': 13 }] } }" +
|
| + " { 'il': { 't': [{ 't': 'line 4', 'tt': 14 }] } }" +
|
| + " { 'il': { 't': [{ 't': 'line 5', 'tt': 5 }] } }" +
|
| + "] }";
|
| + SuggestionAnswer answer = SuggestionAnswer.parseAnswerContents(json);
|
| + assertNull(answer);
|
| + }
|
| +
|
| + @SmallTest
|
| + public void testPropertyPresence() {
|
| + String json =
|
| + "{ 'l': [" +
|
| + " { 'il': { 't': [{ 't': 'text', 'tt': 8 }, { 't': 'moar', 'tt': 0 }], " +
|
| + " 'i': { 'd': 'http://example.com/foo.jpg' } } }, " +
|
| + " { 'il': { 't': [{ 't': 'other text', 'tt': 5 }], " +
|
| + " 'at': { 't': 'slatfotf', 'tt': 42 }, " +
|
| + " 'st': { 't': 'oh hi, Mark', 'tt': 7666 } } } " +
|
| + "] }";
|
| + SuggestionAnswer answer = SuggestionAnswer.parseAnswerContents(json);
|
| +
|
| + SuggestionAnswer.ImageLine firstLine = answer.getFirstLine();
|
| + assertEquals(2, firstLine.getTextFields().size());
|
| + assertFalse(firstLine.hasAdditionalText());
|
| + assertFalse(firstLine.hasStatusText());
|
| + assertTrue(firstLine.hasImage());
|
| +
|
| + SuggestionAnswer.ImageLine secondLine = answer.getSecondLine();
|
| + assertEquals(1, secondLine.getTextFields().size());
|
| + assertTrue(secondLine.hasAdditionalText());
|
| + assertTrue(secondLine.hasStatusText());
|
| + assertFalse(secondLine.hasImage());
|
| + }
|
| +
|
| + @SmallTest
|
| + public void testContents() {
|
| + String json =
|
| + "{ 'l': [" +
|
| + " { 'il': { 't': [{ 't': 'text', 'tt': 8 }, { 't': 'moar', 'tt': 0 }], " +
|
| + " 'at': { 't': 'hi there', 'tt': 7 } } }, " +
|
| + " { 'il': { 't': [{ 't': 'ftw', 'tt': 6006 }], " +
|
| + " 'st': { 't': 'shop S-Mart', 'tt': 666 }, " +
|
| + " 'i': { 'd': 'Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGlj' } } } " +
|
| + "] }";
|
| + SuggestionAnswer answer = SuggestionAnswer.parseAnswerContents(json);
|
| +
|
| + SuggestionAnswer.ImageLine firstLine = answer.getFirstLine();
|
| + assertEquals("text", firstLine.getTextFields().get(0).getText());
|
| + assertEquals(8, firstLine.getTextFields().get(0).getType());
|
| + assertEquals("moar", firstLine.getTextFields().get(1).getText());
|
| + assertEquals(0, firstLine.getTextFields().get(1).getType());
|
| + assertEquals("hi there", firstLine.getAdditionalText().getText());
|
| + assertEquals(7, firstLine.getAdditionalText().getType());
|
| +
|
| + SuggestionAnswer.ImageLine secondLine = answer.getSecondLine();
|
| + assertEquals("ftw", secondLine.getTextFields().get(0).getText());
|
| + assertEquals(6006, secondLine.getTextFields().get(0).getType());
|
| + assertEquals("shop S-Mart", secondLine.getStatusText().getText());
|
| + assertEquals(666, secondLine.getStatusText().getType());
|
| + assertEquals("Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGlj", secondLine.getImage());
|
| + }
|
| +}
|
|
|