From b7df08cbdd87a6bdb2221decd751a70adb0d412e Mon Sep 17 00:00:00 2001 From: probablycorey Date: Wed, 28 May 2014 16:09:42 -0700 Subject: [PATCH] Add spec to re-emit the tokenized event when the grammar is changed --- spec/tokenized-buffer-spec.coffee | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/spec/tokenized-buffer-spec.coffee b/spec/tokenized-buffer-spec.coffee index 413bf4802..c7ae73bcf 100644 --- a/spec/tokenized-buffer-spec.coffee +++ b/spec/tokenized-buffer-spec.coffee @@ -414,19 +414,29 @@ describe "TokenizedBuffer", -> editor.getBuffer().insert([0, 0], "'") fullyTokenize(tokenizedBuffer) expect(tokenizedHandler).not.toHaveBeenCalled() - buffer = null + + describe "when the grammar is updated because a grammar it includes is activated", -> + it "re-emits the `tokenized` event", -> + editor = null tokenizedBuffer = null tokenizedHandler = jasmine.createSpy("tokenized handler") waitsForPromise -> - atom.project.open('sample.js').then (editor) -> buffer = editor.getBuffer() + atom.project.open('coffee.coffee').then (o) -> editor = o runs -> - tokenizedBuffer = new TokenizedBuffer({buffer}) + tokenizedBuffer = editor.displayBuffer.tokenizedBuffer tokenizedBuffer.on 'tokenized', tokenizedHandler + fullyTokenize(tokenizedBuffer) + tokenizedHandler.reset() + + waitsForPromise -> + atom.packages.activatePackage('language-coffee-script') + + runs -> fullyTokenize(tokenizedBuffer) expect(tokenizedHandler.callCount).toBe(1) - describe "when the grammar is updated because a grammar it includes is activated", -> + it "retokenizes the buffer", -> waitsForPromise ->