ExperimentalStateTracker: make suffix gracefully handle negative length

When requested to produce a suffix of a string of a string
of a given length, gracefully handle the case where the requested
length is negative---simply return the empty string in
this case. While there, mark this static method as such; also
increase visibility to default as it is generally useful and
should be tested as an interface of this class.

--
Change-Id: I821966f7ba3828809bc6d000358803c131740ec9
Reviewed-on: https://bazel-review.googlesource.com/#/c/4223
MOS_MIGRATED_REVID=129080284
diff --git a/src/test/java/com/google/devtools/build/lib/runtime/ExperimentalStateTrackerTest.java b/src/test/java/com/google/devtools/build/lib/runtime/ExperimentalStateTrackerTest.java
index a416abf..a0f41d5 100644
--- a/src/test/java/com/google/devtools/build/lib/runtime/ExperimentalStateTrackerTest.java
+++ b/src/test/java/com/google/devtools/build/lib/runtime/ExperimentalStateTrackerTest.java
@@ -13,6 +13,7 @@
 // limitations under the License.
 package com.google.devtools.build.lib.runtime;
 
+import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.when;
@@ -38,15 +39,13 @@
 import com.google.devtools.build.lib.vfs.Path;
 import com.google.devtools.build.lib.vfs.PathFragment;
 import com.google.devtools.build.lib.view.test.TestStatus.BlazeTestStatus;
-
+import java.io.IOException;
+import java.util.concurrent.TimeUnit;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.JUnit4;
 import org.mockito.Mockito;
 
-import java.io.IOException;
-import java.util.concurrent.TimeUnit;
-
 /**
  * Tests {@link ExperimentalStateTracker}.
  */
@@ -562,4 +561,12 @@
         "Progress bar should contain 'Other action', but was:\n" + output,
         output.contains("Other action"));
   }
+
+
+  @Test
+  public void testSuffix() throws Exception {
+    assertEquals("bar", ExperimentalStateTracker.suffix("foobar", 3));
+    assertEquals("", ExperimentalStateTracker.suffix("foo", -2));
+    assertEquals("foobar", ExperimentalStateTracker.suffix("foobar", 200));
+  }
 }