mirror of
				https://github.com/vim/vim.git
				synced 2025-10-30 09:47:20 -04:00 
			
		
		
		
	And anticipate occasional multibyte line wrapping owing to:
> A poorly rendered line may otherwise become wrapped when enough of
> spurious U+FFFD (0xEF 0xBF 0xBD) characters claim more columns than
> are available (75) and then invalidate line correspondence under test.
Observe that for "vim_ex_command.vim" another workaround is
chosen: the long line containing an only multibyte character
near its EOL is conversely made longer by padding and moving
the character to a separate _tail_ part of the wrapped line.
That is, the _head_ part of the line is all ASCII characters
and the wrapped _tail_ part is a mix of various characters
whose total byte count is within bounds.
Other unmodified tracked files of interest:
  java_lambda_expressions.java,
  java_lambda_expressions_signature.java,
  java_numbers.java,
  markdown_conceal.markdown,
  vim9_generic_function_example_set.vim
Also, remove stray U+FFFC (0xEF 0xBF 0xBC) characters.
Related to #16559 and #17704.
Reference:
0fde6aebdd/runtime/syntax/testdir/README.txt (L120-L123)
closes: #17868
Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
		
	
		
			
				
	
	
		
			113 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			113 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| // VIM_TEST_SETUP let g:java_highlight_functions = 'indent4'
 | ||
| // VIM_TEST_SETUP let g:java_highlight_generics = 1
 | ||
| // VIM_TEST_SETUP set encoding=utf-8 termencoding=utf-8
 | ||
| import java.lang.annotation.ElementType;
 | ||
| import java.lang.annotation.Target;
 | ||
| 
 | ||
| abstract class Indent4MethodsTests
 | ||
| { // DO NOT retab! THIS FILE; REMEMBER ABOUT testdir/ftplugin.
 | ||
|     // TYPES.
 | ||
|     record Τʬ<α>(α a) { }
 | ||
| 
 | ||
|     enum E
 | ||
|     {
 | ||
|         A("a"), B("b"), C("c"), D("d"),
 | ||
|         E("e"), F("f"), G("g"), H("h");
 | ||
|         final String s;
 | ||
|         private E(String s) { this.s = s; }
 | ||
|     }
 | ||
| 
 | ||
|     @Target({ElementType.METHOD, ElementType.CONSTRUCTOR})
 | ||
|     @java.lang.annotation.Repeatable(Tɐggablɘs.class)
 | ||
|     @interface Tɐggablɘ
 | ||
|     {
 | ||
|         String[] value() default "";
 | ||
|     }
 | ||
| 
 | ||
|     @Target({ElementType.METHOD, ElementType.CONSTRUCTOR})
 | ||
|     @interface Tɐggablɘs
 | ||
|     {
 | ||
|         Tɐggablɘ[] value();
 | ||
|     }
 | ||
| 
 | ||
|     interface Stylable<Α>
 | ||
|     {
 | ||
|         default void ascii$0_() { }
 | ||
|         default Α μʭʭ$0_() { return null; }
 | ||
|     }
 | ||
| 
 | ||
|     // FIELDS.
 | ||
|     private static final Class<?> CLASS_LOCK = classLock();
 | ||
| 
 | ||
|     private final Object instanceLock = new Object();
 | ||
| 
 | ||
|     // CONSTRUCTORS.
 | ||
|     @Tɐggablɘ @Tɐggablɘ protected Indent4MethodsTests() { }
 | ||
|     <T extends Comparable<T>> Indent4MethodsTests(T t, Void v) { }
 | ||
|     private <T extends Comparable<T>> Indent4MethodsTests(T t) { }
 | ||
| 
 | ||
|     // METHODS.
 | ||
|     @Tɐggablɘ @Tɐggablɘ abstract void ascii$0_(////////////////
 | ||
|                                                                 );
 | ||
|     @Tɐggablɘ @Tɐggablɘ abstract <α, β> Τʬ<α> μʭʭ$0_(
 | ||
|                                 @SuppressWarnings("bespoke") β b);
 | ||
| 
 | ||
|     @Tɐggablɘ private native void ascii$1_(/*////////////*/);
 | ||
|     @Tɐggablɘ private native <α, β> Τʬ<α>[] μʭʭ$1_(
 | ||
|                         java.util.function.Function<β, Τʬ<α>[]> ƒ);
 | ||
| 
 | ||
|     void Ascii$2_() { }
 | ||
|     <T, U extends Stylable<T>> void Μʭʭ$2_(U u) { }
 | ||
| 
 | ||
|     static final native synchronized void ascii$98_();
 | ||
|     static final native synchronized <α, β> Τʬ<α>[][] μʭʭ$98_(
 | ||
|                         java.util.function.Function<β, Τʬ<α>[][]> ƒ);
 | ||
| 
 | ||
|     @SuppressWarnings("strictfp")
 | ||
|     protected static final synchronized strictfp void ascii$99_()
 | ||
|     { ascii$98_(); }
 | ||
| 
 | ||
|     @SuppressWarnings("strictfp") protected
 | ||
|     static final synchronized strictfp <α, β> Τʬ<α>[] μʭʭ$99_(
 | ||
|                         java.util.function.Function<β, Τʬ<α>[][]> ƒ)
 | ||
|     {
 | ||
|         return
 | ||
|     Indent4MethodsTests.<α, β>μʭʭ$98_(ƒ)[0];
 | ||
|     }
 | ||
| 
 | ||
|     public static Class<?> classLock() { return Indent4MethodsTests.class; }
 | ||
| 
 | ||
|     public <E extends Comparable<? super E>> java.util.List<E> filter(
 | ||
|                         java.util.function.Predicate<? super E> filter,
 | ||
|                         java.util.List<? extends E> cs)
 | ||
|     {
 | ||
|         return cs.stream().filter(filter)
 | ||
|             .collect(java.util.stream.Collectors.toUnmodifiableList());
 | ||
|     }
 | ||
| 
 | ||
|     @Override @SuppressWarnings("cast")
 | ||
|     public String toString() { return (String) "Indent4MethodsTests"; }
 | ||
| }
 | ||
| 
 | ||
| enum E4
 | ||
| {
 | ||
|     @SuppressWarnings("bespoke") A("a"),
 | ||
|     B("b"
 | ||
|         /*\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\*/),
 | ||
|     C("c", new Thread(
 | ||
| 
 | ||
|         () -> {
 | ||
|     })), D("d", (java.util.function.BooleanSupplier) () -> true),
 | ||
|     E("e", new char[] { 'a', 'b', 'c', 'd' }), F("f", new Object() {
 | ||
|         transient String name = "";
 | ||
|         @Override public String toString() { return this.name; }
 | ||
|     }), //\//\//\//\//\//\//\//\//\//\//\//\//\//\//\//\//\//\//\//\//
 | ||
|     G("g"), @Deprecated H("h");
 | ||
| 
 | ||
|     final String s;
 | ||
|     private E4(String s) { this.s = s; }
 | ||
|     private <δ> E4(String s, δ dummy) { this(s); }
 | ||
| 
 | ||
|     @Override public String toString() { return name().toUpperCase(); }
 | ||
| }
 |