File modules/editor/codemirror/mode/jsx/test.min.js

Last commit: Tue May 22 22:39:49 2018 +0200	Jan Dankert	Fix für PHP 7.2: 'Object' darf nun nicht mehr als Klassennamen verwendet werden. AUCH NICHT IN EINEM NAMESPACE! WTF, wozu habe ich das in einen verfickten Namespace gepackt? Wozu soll der sonst da sein??? Amateure. Daher nun notgedrungen unbenannt in 'BaseObject'.
1 // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 // Distributed under an MIT license: http://codemirror.net/LICENSE 3 4 (function() { 5 var mode = CodeMirror.getMode({indentUnit: 2}, "jsx") 6 function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)) } 7 8 MT("selfclose", 9 "[keyword var] [def x] [operator =] [bracket&tag <] [tag foo] [bracket&tag />] [operator +] [number 1];") 10 11 MT("openclose", 12 "([bracket&tag <][tag foo][bracket&tag >]hello [atom &amp;][bracket&tag </][tag foo][bracket&tag >][operator ++])") 13 14 MT("attr", 15 "([bracket&tag <][tag foo] [attribute abc]=[string 'value'][bracket&tag >]hello [atom &amp;][bracket&tag </][tag foo][bracket&tag >][operator ++])") 16 17 MT("braced_attr", 18 "([bracket&tag <][tag foo] [attribute abc]={[number 10]}[bracket&tag >]hello [atom &amp;][bracket&tag </][tag foo][bracket&tag >][operator ++])") 19 20 MT("braced_text", 21 "([bracket&tag <][tag foo][bracket&tag >]hello {[number 10]} [atom &amp;][bracket&tag </][tag foo][bracket&tag >][operator ++])") 22 23 MT("nested_tag", 24 "([bracket&tag <][tag foo][bracket&tag ><][tag bar][bracket&tag ></][tag bar][bracket&tag ></][tag foo][bracket&tag >][operator ++])") 25 26 MT("nested_jsx", 27 "[keyword return] (", 28 " [bracket&tag <][tag foo][bracket&tag >]", 29 " say {[number 1] [operator +] [bracket&tag <][tag bar] [attribute attr]={[number 10]}[bracket&tag />]}!", 30 " [bracket&tag </][tag foo][bracket&tag >][operator ++]", 31 ")") 32 33 MT("preserve_js_context", 34 "[variable x] [operator =] [string-2 `quasi${][bracket&tag <][tag foo][bracket&tag />][string-2 }quoted`]") 35 36 MT("string_interpolation", 37 "[variable x] [operator =] [string-2 `quasi<code>${] [number 10] [string-2 }</code>`]") 38 39 MT("line_comment", 40 "([bracket&tag <][tag foo] [comment // hello]", 41 " [bracket&tag ></][tag foo][bracket&tag >][operator ++])") 42 43 MT("line_comment_not_in_tag", 44 "([bracket&tag <][tag foo][bracket&tag >] // hello", 45 " [bracket&tag </][tag foo][bracket&tag >][operator ++])") 46 47 MT("block_comment", 48 "([bracket&tag <][tag foo] [comment /* hello]", 49 "[comment line 2]", 50 "[comment line 3 */] [bracket&tag ></][tag foo][bracket&tag >][operator ++])") 51 52 MT("block_comment_not_in_tag", 53 "([bracket&tag <][tag foo][bracket&tag >]/* hello", 54 " line 2", 55 " line 3 */ [bracket&tag </][tag foo][bracket&tag >][operator ++])") 56 57 MT("missing_attr", 58 "([bracket&tag <][tag foo] [attribute selected][bracket&tag />][operator ++])") 59 60 MT("indent_js", 61 "([bracket&tag <][tag foo][bracket&tag >]", 62 " [bracket&tag <][tag bar] [attribute baz]={[keyword function]() {", 63 " [keyword return] [number 10]", 64 " }}[bracket&tag />]", 65 " [bracket&tag </][tag foo][bracket&tag >])") 66 67 MT("spread", 68 "([bracket&tag <][tag foo] [attribute bar]={[meta ...][variable baz] [operator /][number 2]}[bracket&tag />])") 69 70 MT("tag_attribute", 71 "([bracket&tag <][tag foo] [attribute bar]=[bracket&tag <][tag foo][bracket&tag />/>][operator ++])") 72 73 var ts_mode = CodeMirror.getMode({indentUnit: 2}, "text/typescript-jsx") 74 function TS(name) { test.mode(name, ts_mode, Array.prototype.slice.call(arguments, 1)) } 75 76 TS("tsx_react_integration", 77 "[keyword interface] [def Props] {", 78 " [property foo]: [type string];", 79 "}", 80 "[keyword class] [def MyComponent] [keyword extends] [type React].[type Component] [operator <] [type Props], [type any] [operator >] {", 81 " [property render]() {", 82 " [keyword return] [bracket&tag <][tag span][bracket&tag >]{[keyword this].[property props].[property foo]}[bracket&tag </][tag span][bracket&tag >]", 83 " }", 84 "}", 85 "[bracket&tag <][tag MyComponent] [attribute foo]=[string \"bar\"] [bracket&tag />]; [comment //ok]", 86 "[bracket&tag <][tag MyComponent] [attribute foo]={[number 0]} [bracket&tag />]; [comment //error]") 87 88 })()
Download modules/editor/codemirror/mode/jsx/test.min.js
History Tue, 22 May 2018 22:39:49 +0200 Jan Dankert Fix für PHP 7.2: 'Object' darf nun nicht mehr als Klassennamen verwendet werden. AUCH NICHT IN EINEM NAMESPACE! WTF, wozu habe ich das in einen verfickten Namespace gepackt? Wozu soll der sonst da sein??? Amateure. Daher nun notgedrungen unbenannt in 'BaseObject'.