You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
74 lines
2.8 KiB
74 lines
2.8 KiB
// CodeMirror, copyright (c) by Marijn Haverbeke and others |
|
// Distributed under an MIT license: https://codemirror.net/LICENSE |
|
|
|
(function() { |
|
var mode = CodeMirror.getMode({indentUnit: 4}, |
|
{name: "python", |
|
version: 3, |
|
singleLineStringErrors: false}); |
|
function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); } |
|
|
|
// Error, because "foobarhello" is neither a known type or property, but |
|
// property was expected (after "and"), and it should be in parentheses. |
|
MT("decoratorStartOfLine", |
|
"[meta @dec]", |
|
"[keyword def] [def function]():", |
|
" [keyword pass]"); |
|
|
|
MT("decoratorIndented", |
|
"[keyword class] [def Foo]:", |
|
" [meta @dec]", |
|
" [keyword def] [def function]():", |
|
" [keyword pass]"); |
|
|
|
MT("matmulWithSpace:", "[variable a] [operator @] [variable b]"); |
|
MT("matmulWithoutSpace:", "[variable a][operator @][variable b]"); |
|
MT("matmulSpaceBefore:", "[variable a] [operator @][variable b]"); |
|
var before_equal_sign = ["+", "-", "*", "/", "=", "!", ">", "<"]; |
|
for (var i = 0; i < before_equal_sign.length; ++i) { |
|
var c = before_equal_sign[i] |
|
MT("before_equal_sign_" + c, "[variable a] [operator " + c + "=] [variable b]"); |
|
} |
|
|
|
MT("fValidStringPrefix", "[string f'this is a]{[variable formatted]}[string string']"); |
|
MT("fValidExpressionInFString", "[string f'expression ]{[number 100][operator *][number 5]}[string string']"); |
|
MT("fInvalidFString", "[error f'this is wrong}]"); |
|
MT("fNestedFString", "[string f'expression ]{[number 100] [operator +] [string f'inner]{[number 5]}[string ']}[string string']"); |
|
MT("uValidStringPrefix", "[string u'this is an unicode string']"); |
|
|
|
MT("nestedString", "[string f']{[variable b][[ [string \"c\"] ]]}[string f'] [comment # oops]") |
|
|
|
MT("bracesInFString", "[string f']{[variable x] [operator +] {}}[string !']") |
|
|
|
MT("nestedFString", "[string f']{[variable b][[ [string f\"c\"] ]]}[string f'] [comment # oops]") |
|
|
|
MT("dontIndentTypeDecl", |
|
"[variable i]: [builtin int] [operator =] [number 32]", |
|
"[builtin print]([variable i])") |
|
|
|
MT("dedentElse", |
|
"[keyword if] [variable x]:", |
|
" [variable foo]()", |
|
"[keyword elif] [variable y]:", |
|
" [variable bar]()", |
|
"[keyword else]:", |
|
" [variable baz]()") |
|
|
|
MT("dedentElsePass", |
|
"[keyword if] [variable x]:", |
|
" [keyword pass]", |
|
"[keyword elif] [variable y]:", |
|
" [keyword pass]", |
|
"[keyword else]:", |
|
" [keyword pass]") |
|
|
|
MT("dedentElseInFunction", |
|
"[keyword def] [def foo]():", |
|
" [keyword if] [variable x]:", |
|
" [variable foo]()", |
|
" [keyword elif] [variable y]:", |
|
" [variable bar]()", |
|
" [keyword pass]", |
|
" [keyword else]:", |
|
" [variable baz]()") |
|
})();
|
|
|