From f08e80ffd6bdee21db1e30123dfb5c071fc775f5 Mon Sep 17 00:00:00 2001 From: Derek Lewis Date: Mon, 14 Jan 2019 23:33:29 -0800 Subject: [PATCH] Remove unnecessary loop variable from `AsciiString`. (#8711) Motivation: Incrementing two variables in sync is not necessary when only one will do. Modifications: - Remove `j` from `for` loop and replace with `i`. - Add more unit testing scenarios to cover changed code. Results: Unnecessary variable removed. --- common/src/main/java/io/netty/util/AsciiString.java | 4 ++-- .../src/test/java/io/netty/util/AsciiStringCharacterTest.java | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/common/src/main/java/io/netty/util/AsciiString.java b/common/src/main/java/io/netty/util/AsciiString.java index 3d3e1fbc21..f53746960a 100644 --- a/common/src/main/java/io/netty/util/AsciiString.java +++ b/common/src/main/java/io/netty/util/AsciiString.java @@ -1452,8 +1452,8 @@ public final class AsciiString implements CharSequence, Comparable if (a.length() != b.length()) { return false; } - for (int i = 0, j = 0; i < a.length(); ++i, ++j) { - if (!equalsIgnoreCase(a.charAt(i), b.charAt(j))) { + for (int i = 0; i < a.length(); ++i) { + if (!equalsIgnoreCase(a.charAt(i), b.charAt(i))) { return false; } } diff --git a/common/src/test/java/io/netty/util/AsciiStringCharacterTest.java b/common/src/test/java/io/netty/util/AsciiStringCharacterTest.java index cdd962d354..c2a835df66 100644 --- a/common/src/test/java/io/netty/util/AsciiStringCharacterTest.java +++ b/common/src/test/java/io/netty/util/AsciiStringCharacterTest.java @@ -240,6 +240,9 @@ public class AsciiStringCharacterTest { assertThat(AsciiString.contentEqualsIgnoreCase(null, "foo"), is(false)); assertThat(AsciiString.contentEqualsIgnoreCase("bar", null), is(false)); assertThat(AsciiString.contentEqualsIgnoreCase("FoO", "fOo"), is(true)); + assertThat(AsciiString.contentEqualsIgnoreCase("FoO", "bar"), is(false)); + assertThat(AsciiString.contentEqualsIgnoreCase("Foo", "foobar"), is(false)); + assertThat(AsciiString.contentEqualsIgnoreCase("foobar", "Foo"), is(false)); // Test variations (Ascii + String, Ascii + Ascii, String + Ascii) assertThat(AsciiString.contentEqualsIgnoreCase(new AsciiString("FoO"), "fOo"), is(true));