@Test public void testCountParameterWithoutArray() throws ClassNotFoundException { WrongPlaceholderDetector detector = new WrongPlaceholderDetector(null); ThrowableHandler throwableHandler = new ThrowableHandler(); OpcodeStack stack = mock(OpcodeStack.class); Item itemInStack = mock(Item.class); doReturn(itemInStack).when(stack).getStackItem(0); assertThat( detector.countParameter( stack, "(Ljava/lang/String;Ljava/lang/Object;)V", throwableHandler)) .isEqualTo(1); assertThat( detector.countParameter( stack, "(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V", throwableHandler)) .isEqualTo(2); assertThat( detector.countParameter( stack, "(Lorg/slf4j/Marker;Ljava/lang/String;Ljava/lang/Object;)V", throwableHandler)) .isEqualTo(1); assertThat( detector.countParameter( stack, "(Lorg/slf4j/Marker;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V", throwableHandler)) .isEqualTo(2); Item exceptionInStack = mock(Item.class); JavaClass throwable = Repository.lookupClass(Throwable.class); doReturn(throwable).when(exceptionInStack).getJavaClass(); doReturn(exceptionInStack).when(stack).getStackItem(0); assertThat( detector.countParameter( stack, "(Ljava/lang/String;Ljava/lang/Object;)V", throwableHandler)) .isEqualTo(0); assertThat( detector.countParameter( stack, "(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V", throwableHandler)) .isEqualTo(1); assertThat( detector.countParameter( stack, "(Lorg/slf4j/Marker;Ljava/lang/String;Ljava/lang/Object;)V", throwableHandler)) .isEqualTo(0); assertThat( detector.countParameter( stack, "(Lorg/slf4j/Marker;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V", throwableHandler)) .isEqualTo(1); }
@Test public void testCountPlaceholders() { WrongPlaceholderDetector detector = new WrongPlaceholderDetector(null); assertThat(detector.countPlaceholder("")).isEqualTo(0); assertThat(detector.countPlaceholder("{}")).isEqualTo(1); assertThat(detector.countPlaceholder("Hello, world!")).isEqualTo(0); assertThat(detector.countPlaceholder("{}, {}!")).isEqualTo(2); assertThat(detector.countPlaceholder("\\{}")).isEqualTo(0); }