| // Copyright (c) 2017, the R8 project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| package com.android.tools.r8.utils; |
| |
| import static org.junit.Assert.assertEquals; |
| |
| import com.android.tools.r8.utils.StringUtils.BraceType; |
| import com.google.common.collect.ImmutableList; |
| import java.util.List; |
| import org.junit.Test; |
| |
| public class StringUtilsTest { |
| |
| @Test |
| public void splitLines() { |
| assertListEquals(ImmutableList.of(), StringUtils.splitLines("")); |
| assertListEquals(ImmutableList.of(""), StringUtils.splitLines("\n")); |
| assertListEquals(ImmutableList.of("", "", ""), StringUtils.splitLines("\n\n\n")); |
| assertListEquals(ImmutableList.of(" "," "), StringUtils.splitLines(" \n ")); |
| assertListEquals(ImmutableList.of("a","b"), StringUtils.splitLines("a\nb")); |
| |
| assertListEquals(ImmutableList.of("\r\r\r"), StringUtils.splitLines("\r\r\r")); |
| assertListEquals(ImmutableList.of("", "\r"), StringUtils.splitLines("\r\n\r")); |
| assertListEquals(ImmutableList.of("", "", "", "\r"), StringUtils.splitLines("\r\n\r\n\r\n\r")); |
| assertListEquals(ImmutableList.of("\r ", "\r \r"), StringUtils.splitLines("\r \r\n\r \r")); |
| assertListEquals(ImmutableList.of("\ra", "\rb\r"), StringUtils.splitLines("\ra\r\n\rb\r")); |
| |
| assertListEquals(ImmutableList.of("\ra\r\rb\r"), StringUtils.splitLines("\ra\r\rb\r")); |
| } |
| |
| private void assertListEquals(List<String> xs, List<String> ys) { |
| assertEquals( |
| StringUtils.join(xs, ", ", BraceType.SQUARE, s -> '"' + StringUtils.toASCIIString(s) + '"'), |
| StringUtils.join(ys, ", ", BraceType.SQUARE, s -> '"' + StringUtils.toASCIIString(s) + '"') |
| ); |
| } |
| } |