@@ -12,9 +12,11 @@ var user = require("./test/user");
12
12
var Range = require ( "./range" ) . Range ;
13
13
require ( "./ext/language_tools" ) ;
14
14
var Autocomplete = require ( "./autocomplete" ) . Autocomplete ;
15
+ var textCompleter = require ( "./autocomplete/text_completer" ) ;
16
+ var JavaScriptMode = require ( "./mode/javascript" ) . Mode ;
15
17
16
18
var editor ;
17
- function initEditor ( value ) {
19
+ function initEditor ( value , mode ) {
18
20
if ( editor ) {
19
21
editor . destroy ( ) ;
20
22
editor . container . remove ( ) ;
@@ -24,7 +26,8 @@ function initEditor(value) {
24
26
value : value ,
25
27
maxLines : 10 ,
26
28
enableBasicAutocompletion : true ,
27
- enableLiveAutocompletion : true
29
+ enableLiveAutocompletion : true ,
30
+ mode : mode
28
31
} ) ;
29
32
document . body . appendChild ( editor . container ) ;
30
33
editor . focus ( ) ;
@@ -162,6 +165,26 @@ module.exports = {
162
165
done ( ) ;
163
166
} ) ;
164
167
} ,
168
+ "test: filter strings and comments from local completions list" : function ( done ) {
169
+ var editor = initEditor ( "//comment here\n /**\n * doc comment\n**/'string'\nsomeIdentifier\n" , new JavaScriptMode ( ) ) ;
170
+ editor . completers = [ textCompleter ] ;
171
+ editor . moveCursorTo ( 3 , 0 ) ;
172
+ editor . renderer . $loop . _flush ( ) ;
173
+
174
+ sendKey ( "o" ) ;
175
+ var popup = editor . completer . popup ;
176
+ afterRenderCheck ( popup , function ( ) {
177
+ assert . equal ( popup . data . length , 3 ) ;
178
+ editor . setOption ( "filterStringsCompletions" , true ) ;
179
+ editor . onCommandKey ( null , 0 , 13 ) ;
180
+ sendKey ( " " ) ;
181
+ sendKey ( "o" ) ;
182
+ afterRenderCheck ( popup , function ( ) {
183
+ assert . equal ( popup . data . length , 1 ) ; //only identifier left
184
+ done ( ) ;
185
+ } ) ;
186
+ } ) ;
187
+ } ,
165
188
"test: different completers tooltips" : function ( done ) {
166
189
var editor = initEditor ( "" ) ;
167
190
var firstDoc = "<b>First</b>" ;
0 commit comments