123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- // 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]()'
- )
- })()
|