/* * Copyright (C) 2011 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.sdklib.util; import junit.framework.TestCase; public class LineUtilTest extends TestCase { public void testReflowLine() { boolean gotNpe = false; try { LineUtil.reflowLine(null); } catch(NullPointerException e) { gotNpe = true; } finally { assertTrue(gotNpe); } assertEquals("", LineUtil.reflowLine("")); assertEquals("1234567", LineUtil.reflowLine("1234567")); assertEquals( "-- verbose, -v: This description for this flag fits in exactly 78 characters.", LineUtil.reflowLine("-- verbose, -v: This description for this flag fits in exactly 78 characters.")); assertEquals( "--verbose, -v : This description for this flag fits in more than 78\n" + " characters and needs to wrap up at the colon.", LineUtil.reflowLine("--verbose, -v : This description for this flag fits in more than 78 characters and needs to wrap up at the colon.")); assertEquals( "If the line needs to wrap but there's no colon marker, the line will just wrap\n" + " with 4 spaces.", LineUtil.reflowLine("If the line needs to wrap but there's no colon marker, the line will just wrap with 4 spaces.")); assertEquals( "--blah: More than 78 characters and lots of\n" + " spaces. ", LineUtil.reflowLine("--blah: More than 78 characters and lots of spaces. ")); assertEquals( "In this case the colon is at the very end of the string and it's not going to\n" + " wrap as expected:", LineUtil.reflowLine("In this case the colon is at the very end of the string and it's not going to wrap as expected:")); assertEquals( "--flag:In-this-case-there-is-no-whitespace-and-wrapping-will-cut-just-at-the-7\n" + " 8-mark.", LineUtil.reflowLine("--flag:In-this-case-there-is-no-whitespace-and-wrapping-will-cut-just-at-the-78-mark.")); assertEquals( "Desc: This line is split in 2.\n" + " The second line must align at the colon and yet still wrap as expected\n" + " if it doesn't fit properly.\n" + " The end.", LineUtil.reflowLine("Desc: This line is split in 2.\nThe second line must align at the colon and yet still wrap as expected if it doesn't fit properly.\nThe end.")); assertEquals( "Desc: This line is split in 2\n" + " even though it doesn't need to wrap.", LineUtil.reflowLine("Desc: This line is split in 2\n\n\n\n\n\neven though it doesn't need to wrap.")); } }