545 lines
11 KiB
Go
545 lines
11 KiB
Go
// Code generated by convertFourslash; DO NOT EDIT.
|
|
// To modify this test, run "npm run makemanual quickInfoCanBeTruncated"
|
|
|
|
package fourslash_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/microsoft/typescript-go/internal/fourslash"
|
|
"github.com/microsoft/typescript-go/internal/testutil"
|
|
)
|
|
|
|
func TestQuickInfoCanBeTruncated(t *testing.T) {
|
|
fourslash.SkipIfFailing(t)
|
|
t.Parallel()
|
|
defer testutil.RecoverAndFail(t, "Panic on fourslash test")
|
|
const content = `// @stableTypeOrdering: true
|
|
// @noLib: true
|
|
interface Foo {
|
|
_0: 0;
|
|
_1: 1;
|
|
_2: 2;
|
|
_3: 3;
|
|
_4: 4;
|
|
_5: 5;
|
|
_6: 6;
|
|
_7: 7;
|
|
_8: 8;
|
|
_9: 9;
|
|
_10: 10;
|
|
_11: 11;
|
|
_12: 12;
|
|
_13: 13;
|
|
_14: 14;
|
|
_15: 15;
|
|
_16: 16;
|
|
_17: 17;
|
|
_18: 18;
|
|
_19: 19;
|
|
_20: 20;
|
|
_21: 21;
|
|
_22: 22;
|
|
_23: 23;
|
|
_24: 24;
|
|
_25: 25;
|
|
_26: 26;
|
|
_27: 27;
|
|
_28: 28;
|
|
_29: 29;
|
|
_30: 30;
|
|
_31: 31;
|
|
_32: 32;
|
|
_33: 33;
|
|
_34: 34;
|
|
_35: 35;
|
|
_36: 36;
|
|
_37: 37;
|
|
_38: 38;
|
|
_39: 39;
|
|
_40: 40;
|
|
_41: 41;
|
|
_42: 42;
|
|
_43: 43;
|
|
_44: 44;
|
|
_45: 45;
|
|
_46: 46;
|
|
_47: 47;
|
|
_48: 48;
|
|
_49: 49;
|
|
_50: 50;
|
|
_51: 51;
|
|
_52: 52;
|
|
_53: 53;
|
|
_54: 54;
|
|
_55: 55;
|
|
_56: 56;
|
|
_57: 57;
|
|
_58: 58;
|
|
_59: 59;
|
|
_60: 60;
|
|
_61: 61;
|
|
_62: 62;
|
|
_63: 63;
|
|
_64: 64;
|
|
_65: 65;
|
|
_66: 66;
|
|
_67: 67;
|
|
_68: 68;
|
|
_69: 69;
|
|
_70: 70;
|
|
_71: 71;
|
|
_72: 72;
|
|
_73: 73;
|
|
_74: 74;
|
|
_75: 75;
|
|
_76: 76;
|
|
_77: 77;
|
|
_78: 78;
|
|
_79: 79;
|
|
_80: 80;
|
|
_81: 81;
|
|
_82: 82;
|
|
_83: 83;
|
|
_84: 84;
|
|
_85: 85;
|
|
_86: 86;
|
|
_87: 87;
|
|
_88: 88;
|
|
_89: 89;
|
|
_90: 90;
|
|
_91: 91;
|
|
_92: 92;
|
|
_93: 93;
|
|
_94: 94;
|
|
_95: 95;
|
|
_96: 96;
|
|
_97: 97;
|
|
_98: 98;
|
|
_99: 99;
|
|
_100: 100;
|
|
_101: 101;
|
|
_102: 102;
|
|
_103: 103;
|
|
_104: 104;
|
|
_105: 105;
|
|
_106: 106;
|
|
_107: 107;
|
|
_108: 108;
|
|
_109: 109;
|
|
_110: 110;
|
|
_111: 111;
|
|
_112: 112;
|
|
_113: 113;
|
|
_114: 114;
|
|
_115: 115;
|
|
_116: 116;
|
|
_117: 117;
|
|
_118: 118;
|
|
_119: 119;
|
|
_120: 120;
|
|
_121: 121;
|
|
_122: 122;
|
|
_123: 123;
|
|
_124: 124;
|
|
_125: 125;
|
|
_126: 126;
|
|
_127: 127;
|
|
_128: 128;
|
|
_129: 129;
|
|
_130: 130;
|
|
_131: 131;
|
|
_132: 132;
|
|
_133: 133;
|
|
_134: 134;
|
|
_135: 135;
|
|
_136: 136;
|
|
_137: 137;
|
|
_138: 138;
|
|
_139: 139;
|
|
_140: 140;
|
|
_141: 141;
|
|
_142: 142;
|
|
_143: 143;
|
|
_144: 144;
|
|
_145: 145;
|
|
_146: 146;
|
|
_147: 147;
|
|
_148: 148;
|
|
_149: 149;
|
|
_150: 150;
|
|
_151: 151;
|
|
_152: 152;
|
|
_153: 153;
|
|
_154: 154;
|
|
_155: 155;
|
|
_156: 156;
|
|
_157: 157;
|
|
_158: 158;
|
|
_159: 159;
|
|
_160: 160;
|
|
_161: 161;
|
|
_162: 162;
|
|
_163: 163;
|
|
_164: 164;
|
|
_165: 165;
|
|
_166: 166;
|
|
_167: 167;
|
|
_168: 168;
|
|
_169: 169;
|
|
_170: 170;
|
|
_171: 171;
|
|
_172: 172;
|
|
_173: 173;
|
|
_174: 174;
|
|
_175: 175;
|
|
_176: 176;
|
|
_177: 177;
|
|
_178: 178;
|
|
_179: 179;
|
|
_180: 180;
|
|
_181: 181;
|
|
_182: 182;
|
|
_183: 183;
|
|
_184: 184;
|
|
_185: 185;
|
|
_186: 186;
|
|
_187: 187;
|
|
_188: 188;
|
|
_189: 189;
|
|
_190: 190;
|
|
_191: 191;
|
|
_192: 192;
|
|
_193: 193;
|
|
_194: 194;
|
|
_195: 195;
|
|
_196: 196;
|
|
_197: 197;
|
|
_198: 198;
|
|
_199: 199;
|
|
_200: 200;
|
|
_201: 201;
|
|
_202: 202;
|
|
_203: 203;
|
|
_204: 204;
|
|
_205: 205;
|
|
_206: 206;
|
|
_207: 207;
|
|
_208: 208;
|
|
_209: 209;
|
|
_210: 210;
|
|
_211: 211;
|
|
_212: 212;
|
|
_213: 213;
|
|
_214: 214;
|
|
_215: 215;
|
|
_216: 216;
|
|
_217: 217;
|
|
_218: 218;
|
|
_219: 219;
|
|
_220: 220;
|
|
_221: 221;
|
|
_222: 222;
|
|
_223: 223;
|
|
_224: 224;
|
|
_225: 225;
|
|
_226: 226;
|
|
_227: 227;
|
|
_228: 228;
|
|
_229: 229;
|
|
_230: 230;
|
|
_231: 231;
|
|
_232: 232;
|
|
_233: 233;
|
|
_234: 234;
|
|
_235: 235;
|
|
_236: 236;
|
|
_237: 237;
|
|
_238: 238;
|
|
_239: 239;
|
|
_240: 240;
|
|
_241: 241;
|
|
_242: 242;
|
|
_243: 243;
|
|
_244: 244;
|
|
_245: 245;
|
|
_246: 246;
|
|
_247: 247;
|
|
_248: 248;
|
|
_249: 249;
|
|
_250: 250;
|
|
_251: 251;
|
|
_252: 252;
|
|
_253: 253;
|
|
_254: 254;
|
|
_255: 255;
|
|
_256: 256;
|
|
_257: 257;
|
|
_258: 258;
|
|
_259: 259;
|
|
_260: 260;
|
|
_261: 261;
|
|
_262: 262;
|
|
_263: 263;
|
|
_264: 264;
|
|
_265: 265;
|
|
_266: 266;
|
|
_267: 267;
|
|
_268: 268;
|
|
_269: 269;
|
|
_270: 270;
|
|
_271: 271;
|
|
_272: 272;
|
|
_273: 273;
|
|
_274: 274;
|
|
_275: 275;
|
|
_276: 276;
|
|
_277: 277;
|
|
_278: 278;
|
|
_279: 279;
|
|
_280: 280;
|
|
_281: 281;
|
|
_282: 282;
|
|
_283: 283;
|
|
_284: 284;
|
|
_285: 285;
|
|
_286: 286;
|
|
_287: 287;
|
|
_288: 288;
|
|
_289: 289;
|
|
_290: 290;
|
|
_291: 291;
|
|
_292: 292;
|
|
_293: 293;
|
|
_294: 294;
|
|
_295: 295;
|
|
_296: 296;
|
|
_297: 297;
|
|
_298: 298;
|
|
_299: 299;
|
|
_300: 300;
|
|
_301: 301;
|
|
_302: 302;
|
|
_303: 303;
|
|
_304: 304;
|
|
_305: 305;
|
|
_306: 306;
|
|
_307: 307;
|
|
_308: 308;
|
|
_309: 309;
|
|
_310: 310;
|
|
_311: 311;
|
|
_312: 312;
|
|
_313: 313;
|
|
_314: 314;
|
|
_315: 315;
|
|
_316: 316;
|
|
_317: 317;
|
|
_318: 318;
|
|
_319: 319;
|
|
_320: 320;
|
|
_321: 321;
|
|
_322: 322;
|
|
_323: 323;
|
|
_324: 324;
|
|
_325: 325;
|
|
_326: 326;
|
|
_327: 327;
|
|
_328: 328;
|
|
_329: 329;
|
|
_330: 330;
|
|
_331: 331;
|
|
_332: 332;
|
|
_333: 333;
|
|
_334: 334;
|
|
_335: 335;
|
|
_336: 336;
|
|
_337: 337;
|
|
_338: 338;
|
|
_339: 339;
|
|
_340: 340;
|
|
_341: 341;
|
|
_342: 342;
|
|
_343: 343;
|
|
_344: 344;
|
|
_345: 345;
|
|
_346: 346;
|
|
_347: 347;
|
|
_348: 348;
|
|
_349: 349;
|
|
_350: 350;
|
|
_351: 351;
|
|
_352: 352;
|
|
_353: 353;
|
|
_354: 354;
|
|
_355: 355;
|
|
_356: 356;
|
|
_357: 357;
|
|
_358: 358;
|
|
_359: 359;
|
|
_360: 360;
|
|
_361: 361;
|
|
_362: 362;
|
|
_363: 363;
|
|
_364: 364;
|
|
_365: 365;
|
|
_366: 366;
|
|
_367: 367;
|
|
_368: 368;
|
|
_369: 369;
|
|
_370: 370;
|
|
_371: 371;
|
|
_372: 372;
|
|
_373: 373;
|
|
_374: 374;
|
|
_375: 375;
|
|
_376: 376;
|
|
_377: 377;
|
|
_378: 378;
|
|
_379: 379;
|
|
_380: 380;
|
|
_381: 381;
|
|
_382: 382;
|
|
_383: 383;
|
|
_384: 384;
|
|
_385: 385;
|
|
_386: 386;
|
|
_387: 387;
|
|
_388: 388;
|
|
_389: 389;
|
|
_390: 390;
|
|
_391: 391;
|
|
_392: 392;
|
|
_393: 393;
|
|
_394: 394;
|
|
_395: 395;
|
|
_396: 396;
|
|
_397: 397;
|
|
_398: 398;
|
|
_399: 399;
|
|
_400: 400;
|
|
_401: 401;
|
|
_402: 402;
|
|
_403: 403;
|
|
_404: 404;
|
|
_405: 405;
|
|
_406: 406;
|
|
_407: 407;
|
|
_408: 408;
|
|
_409: 409;
|
|
_410: 410;
|
|
_411: 411;
|
|
_412: 412;
|
|
_413: 413;
|
|
_414: 414;
|
|
_415: 415;
|
|
_416: 416;
|
|
_417: 417;
|
|
_418: 418;
|
|
_419: 419;
|
|
_420: 420;
|
|
_421: 421;
|
|
_422: 422;
|
|
_423: 423;
|
|
_424: 424;
|
|
_425: 425;
|
|
_426: 426;
|
|
_427: 427;
|
|
_428: 428;
|
|
_429: 429;
|
|
_430: 430;
|
|
_431: 431;
|
|
_432: 432;
|
|
_433: 433;
|
|
_434: 434;
|
|
_435: 435;
|
|
_436: 436;
|
|
_437: 437;
|
|
_438: 438;
|
|
_439: 439;
|
|
_440: 440;
|
|
_441: 441;
|
|
_442: 442;
|
|
_443: 443;
|
|
_444: 444;
|
|
_445: 445;
|
|
_446: 446;
|
|
_447: 447;
|
|
_448: 448;
|
|
_449: 449;
|
|
_450: 450;
|
|
_451: 451;
|
|
_452: 452;
|
|
_453: 453;
|
|
_454: 454;
|
|
_455: 455;
|
|
_456: 456;
|
|
_457: 457;
|
|
_458: 458;
|
|
_459: 459;
|
|
_460: 460;
|
|
_461: 461;
|
|
_462: 462;
|
|
_463: 463;
|
|
_464: 464;
|
|
_465: 465;
|
|
_466: 466;
|
|
_467: 467;
|
|
_468: 468;
|
|
_469: 469;
|
|
_470: 470;
|
|
_471: 471;
|
|
_472: 472;
|
|
_473: 473;
|
|
_474: 474;
|
|
_475: 475;
|
|
_476: 476;
|
|
_477: 477;
|
|
_478: 478;
|
|
_479: 479;
|
|
_480: 480;
|
|
_481: 481;
|
|
_482: 482;
|
|
_483: 483;
|
|
_484: 484;
|
|
_485: 485;
|
|
_486: 486;
|
|
_487: 487;
|
|
_488: 488;
|
|
_489: 489;
|
|
_490: 490;
|
|
_491: 491;
|
|
_492: 492;
|
|
_493: 493;
|
|
_494: 494;
|
|
_495: 495;
|
|
_496: 496;
|
|
_497: 497;
|
|
_498: 498;
|
|
_499: 499;
|
|
}
|
|
type A/*1*/ = keyof Foo;
|
|
type Exclude<T, U> = T extends U ? never : T;
|
|
type Less/*2*/ = Exclude<A, "_0">;
|
|
function f<T extends A>(s: T, x: Exclude<A, T>, y: string) {}
|
|
f("_499", /*3*/);
|
|
type Decomposed/*4*/ = {[K in A]: Foo[K]}
|
|
type LongTuple/*5*/ = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17.18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70];
|
|
type DeeplyMapped/*6*/ = {[K in keyof Foo]: {[K2 in keyof Foo]: [K, K2, Foo[K], Foo[K2]]}}`
|
|
f, done := fourslash.NewFourslash(t, nil /*capabilities*/, content)
|
|
defer done()
|
|
f.GoToMarker(t, "1")
|
|
f.VerifyQuickInfoIs(t, "type A = keyof Foo", "")
|
|
f.GoToMarker(t, "2")
|
|
f.VerifyQuickInfoIs(t, "type Less = \"_1\" | \"_10\" | \"_100\" | \"_101\" | \"_102\" | \"_103\" | \"_104\" | \"_105\" | \"_106\" | \"_107\" | \"_108\" | \"_109\" | \"_11\" | \"_110\" | \"_111\" | \"_112\" | \"_113\" | \"_114\" | \"_115\" | \"_116\" | \"_117\" | \"_118\" | \"_119\" | \"_12\" | \"_120\" | \"_121\" | \"_122\" | \"_123\" | \"_124\" | \"_125\" | \"_126\" | \"_127\" | \"_128\" | \"_129\" | \"_13\" | \"_130\" | \"_131\" | \"_132\" | \"_133\" | \"_134\" | \"_135\" | \"_136\" | \"_137\" | \"_138\" | \"_139\" | \"_14\" | \"_140\" | \"_141\" | \"_142\" | \"_143\" | \"_144\" | \"_145\" | \"_146\" | \"_147\" | \"_148\" | \"_149\" | \"_15\" | \"_150\" | \"_151\" | \"_152\" | \"_153\" | \"_154\" | \"_155\" | \"_156\" | ... 434 more ... | \"_99\"", "")
|
|
f.GoToMarker(t, "3")
|
|
f.GoToMarker(t, "3")
|
|
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{Text: "f(s: \"_499\", x: \"_0\" | \"_1\" | \"_10\" | \"_100\" | \"_101\" | \"_102\" | \"_103\" | \"_104\" | \"_105\" | \"_106\" | \"_107\" | \"_108\" | \"_109\" | \"_11\" | \"_110\" | \"_111\" | \"_112\" | \"_113\" | \"_114\" | \"_115\" | \"_116\" | ... 477 more ... | \"_99\", y: string): void"})
|
|
f.GoToMarker(t, "4")
|
|
f.VerifyQuickInfoIs(t, "type Decomposed = {\n _0: 0;\n _1: 1;\n _10: 10;\n _100: 100;\n _101: 101;\n _102: 102;\n _103: 103;\n _104: 104;\n _105: 105;\n _106: 106;\n _107: 107;\n _108: 108;\n _109: 109;\n _11: 11;\n _110: 110;\n _111: 111;\n _112: 112;\n _113: 113;\n _114: 114;\n _115: 115;\n _116: 116;\n _117: 117;\n _118: 118;\n _119: 119;\n _12: 12;\n _120: 120;\n _121: 121;\n _122: 122;\n _123: 123;\n _124: 124;\n _125: 125;\n _126: 126;\n _127: 127;\n _128: 128;\n _129: 129;\n _13: 13;\n _130: 130;\n _131: 131;\n _132: 132;\n _133: 133;\n _134: 134;\n _135: 135;\n _136: 136;\n _137: 137;\n _138: 138;\n _139: 139;\n _14: 14;\n _140: 140;\n _141: 141;\n _142: 142;\n _143: 143;\n _144: 144;\n _145: 145;\n _146: 146;\n _147: 147;\n _148: 148;\n _149: 149;\n _15: 15;\n _150: 150;\n _151: 151;\n _152: 152;\n _153: 153;\n _154: 154;\n _155: 155;\n _156: 156;\n _157: 157;\n ... 433 more ...;\n _99: 99;\n}", "")
|
|
f.GoToMarker(t, "5")
|
|
f.VerifyQuickInfoIs(t, "type LongTuple = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17.18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70]", "")
|
|
f.GoToMarker(t, "6")
|
|
f.VerifyQuickInfoIs(t, "type DeeplyMapped = {\n _0: {\n _0: [\"_0\", \"_0\", 0, 0];\n _1: [\"_0\", \"_1\", 0, 1];\n _2: [\"_0\", \"_2\", 0, 2];\n _3: [\"_0\", \"_3\", 0, 3];\n _4: [\"_0\", \"_4\", 0, 4];\n _5: [\"_0\", \"_5\", 0, 5];\n _6: [\"_0\", \"_6\", 0, 6];\n _7: [\"_0\", \"_7\", 0, 7];\n _8: [\"_0\", \"_8\", 0, 8];\n _9: [\"_0\", \"_9\", 0, 9];\n _10: [\"_0\", \"_10\", 0, 10];\n _11: [\"_0\", \"_11\", 0, 11];\n _12: [\"_0\", \"_12\", 0, 12];\n _13: [\"_0\", \"_13\", 0, 13];\n _14: [\"_0\", \"_14\", 0, 14];\n _15: [\"_0\", \"_15\", 0, 15];\n _16: [\"_0\", \"_16\", 0, 16];\n _17: [\"_0\", \"_17\", 0, 17];\n _18: [\"_0\", \"_18\", 0, 18];\n _19: [\"_0\", \"_19\", 0, 19];\n _20: [\"_0\", \"_20\", 0, 20];\n _21: [\"_0\", \"_21\", 0, 21];\n ... 477 more ...;\n _499: [...];\n };\n ... 498 more ...;\n _499: {\n ...;\n };\n}", "")
|
|
}
|