Set grammar manually in tokenized buffer specs

Signed-off-by: Nathan Sobo <nathan@github.com>
This commit is contained in:
Max Brunsfeld
2016-07-26 15:08:59 -07:00
committed by Nathan Sobo
parent a44d5833a8
commit d203610986
2 changed files with 11 additions and 1 deletions

View File

@@ -116,6 +116,7 @@ describe "TokenizedBuffer", ->
buffer, grammarRegistry: atom.grammars, packageManager: atom.packages,
assert: atom.assert, tabLength: 2,
})
tokenizedBuffer.setGrammar(atom.grammars.grammarForScopeName('source.js'))
startTokenizing(tokenizedBuffer)
it "stops tokenization", ->
@@ -131,6 +132,7 @@ describe "TokenizedBuffer", ->
buffer, grammarRegistry: atom.grammars, packageManager: atom.packages,
assert: atom.assert, tabLength: 2,
})
tokenizedBuffer.setGrammar(atom.grammars.grammarForScopeName('source.js'))
startTokenizing(tokenizedBuffer)
tokenizedBuffer.onDidChange changeHandler = jasmine.createSpy('changeHandler')
@@ -408,6 +410,7 @@ describe "TokenizedBuffer", ->
buffer, grammarRegistry: atom.grammars, packageManager: atom.packages,
assert: atom.assert, tabLength: 2,
})
tokenizedBuffer.setGrammar(atom.grammars.grammarForScopeName('source.coffee'))
startTokenizing(tokenizedBuffer)
afterEach ->
@@ -510,6 +513,7 @@ describe "TokenizedBuffer", ->
buffer, grammarRegistry: atom.grammars, packageManager: atom.packages,
assert: atom.assert, tabLength: 2,
})
tokenizedBuffer.setGrammar(atom.grammars.grammarForScopeName('source.js'))
fullyTokenize(tokenizedBuffer)
expect(tokenizedBuffer.tokenForPosition([1, 0]).scopes).toEqual ["source.js"]
expect(tokenizedBuffer.tokenForPosition([1, 1]).scopes).toEqual ["source.js"]
@@ -522,6 +526,7 @@ describe "TokenizedBuffer", ->
buffer, grammarRegistry: atom.grammars, packageManager: atom.packages,
assert: atom.assert, tabLength: 2,
})
tokenizedBuffer.setGrammar(atom.grammars.grammarForScopeName('source.js'))
fullyTokenize(tokenizedBuffer)
describe "when the selector does not match the token at the position", ->
@@ -544,6 +549,7 @@ describe "TokenizedBuffer", ->
buffer, grammarRegistry: atom.grammars, packageManager: atom.packages,
assert: atom.assert, tabLength: 2,
})
tokenizedBuffer.setGrammar(atom.grammars.grammarForScopeName('source.js'))
fullyTokenize(tokenizedBuffer)
describe "when the line is non-empty", ->
@@ -642,6 +648,7 @@ describe "TokenizedBuffer", ->
buffer, grammarRegistry: atom.grammars, packageManager: atom.packages,
assert: atom.assert, tabLength: 2,
})
tokenizedBuffer.setGrammar(atom.grammars.grammarForScopeName('source.js'))
fullyTokenize(tokenizedBuffer)
it "includes the first line of multi-line comments", ->

View File

@@ -293,7 +293,10 @@ class TokenizedBuffer extends Model
@buildPlaceholderTokenizedLineForRow(row) for row in [startRow..endRow] by 1
buildPlaceholderTokenizedLineForRow: (row) ->
openScopes = []
if @grammar?
openScopes = [@grammar.startIdForScope(@grammar.scopeName)]
else
openScopes = []
text = @buffer.lineForRow(row)
tags = [text.length]
lineEnding = @buffer.lineEndingForRow(row)