| This test checks gopls behavior when hovering over basic literals. | |
| Skipped on ppc64 as there appears to be a bug on aix-ppc64: golang/go#67526. | |
| -- flags -- | |
| -skip_goarch=ppc64 | |
| -- basiclit.go -- | |
| package basiclit | |
| func _() { | |
| _ = 'a' //@hover("'a'", "'a'", latinA) | |
| _ = 0x61 //@hover("0x61", "0x61", latinAHex) | |
| _ = '\u2211' //@hover("'\\u2211'", "'\\u2211'", summation) | |
| _ = '\u2211' //@hover(re"u22()11", "'\\u2211'", summation) | |
| _ = 0x2211 //@hover("0x2211", "0x2211", summationHex) | |
| _ = "foo \u2211 bar" //@hover("\\u2211", "\\u2211", summation) | |
| _ = '\a' //@hover("'\\a'", "'\\a'", control) | |
| _ = "foo \a bar" //@hover("\\a", "\\a", control) | |
| _ = '\U0001F30A' //@hover("'\\U0001F30A'", "'\\U0001F30A'", waterWave) | |
| _ = 0x0001F30A //@hover("0x0001F30A", "0x0001F30A", waterWaveHex) | |
| _ = 0X0001F30A //@hover("0X0001F30A", "0X0001F30A", waterWaveHex) | |
| _ = "foo \U0001F30A bar" //@hover("\\U0001F30A", "\\U0001F30A", waterWave) | |
| _ = '\x7E' //@hover("'\\x7E'", "'\\x7E'", tilde) | |
| _ = "foo \x7E bar" //@hover("\\x7E", "\\x7E", tilde) | |
| _ = "foo \a bar" //@hover("\\a", "\\a", control) | |
| _ = '\173' //@hover("'\\173'", "'\\173'", leftCurly) | |
| _ = "foo \173 bar" //@hover("\\173","\\173", leftCurly) | |
| _ = "foo \173 bar \u2211 baz" //@hover("\\173","\\173", leftCurly) | |
| _ = "foo \173 bar \u2211 baz" //@hover("\\u2211","\\u2211", summation) | |
| _ = "foo\173bar\u2211baz" //@hover("\\173","\\173", leftCurly) | |
| _ = "foo\173bar\u2211baz" //@hover("\\u2211","\\u2211", summation) | |
| // incorrect position | |
| _ = "foo\173bar\u2211baz" //@hover("az",_,_) | |
| // search for runes in string only if there is an escaped sequence | |
| _ = "hello" //@hover(`"hello"`, _, _) | |
| // incorrect escaped rune sequences | |
| _ = '\0' //@hover("'\\0'", _, _),diag(re`\\0()'`, re"illegal character") | |
| _ = '\u22111' //@hover("'\\u22111'", _, _) | |
| _ = '\U00110000' //@hover("'\\U00110000'", _, _) | |
| _ = '\u12e45'//@hover("'\\u12e45'", _, _) | |
| _ = '\xa' //@hover("'\\xa'", _, _) | |
| _ = 'aa' //@hover("'aa'", _, _) | |
| // other basic lits | |
| _ = 1 //@hover("1", _, _) | |
| _ = 1.2 //@hover("1.2", _, _) | |
| _ = 1.2i //@hover("1.2i", _, _) | |
| _ = 0123 //@hover("0123", _, _) | |
| _ = 0b1001 //@hover("0b", "0b1001", binaryNumber) | |
| _ = 0B1001 //@hover("0B", "0B1001", binaryNumber) | |
| _ = 0o77 //@hover("0o", "0o77", octalNumber) | |
| _ = 0O77 //@hover("0O", "0O77", octalNumber) | |
| _ = 0x1234567890 //@hover("0x1234567890", "0x1234567890", hexNumber) | |
| _ = 0X1234567890 //@hover("0X1234567890", "0X1234567890", hexNumber) | |
| _ = 0x1000000000000000000 //@hover("0x1", "0x1000000000000000000", bigHex) | |
| } | |
| -- @bigHex -- | |
| 4722366482869645213696 | |
| -- @binaryNumber -- | |
| 9 | |
| -- @control -- | |
| U+0007, control | |
| -- @hexNumber -- | |
| 78187493520 | |
| -- @latinA -- | |
| 'a', U+0061, LATIN SMALL LETTER A | |
| -- @latinAHex -- | |
| 97, 'a', U+0061, LATIN SMALL LETTER A | |
| -- @leftCurly -- | |
| '{', U+007B, LEFT CURLY BRACKET | |
| -- @octalNumber -- | |
| 63 | |
| -- @summation -- | |
| '∑', U+2211, N-ARY SUMMATION | |
| -- @summationHex -- | |
| 8721, '∑', U+2211, N-ARY SUMMATION | |
| -- @tilde -- | |
| '~', U+007E, TILDE | |
| -- @waterWave -- | |
| '🌊', U+1F30A, WATER WAVE | |
| -- @waterWaveHex -- | |
| 127754, '🌊', U+1F30A, WATER WAVE |