coffeescript - Los archivos ''espec'' de Atom no están siendo probados
jasmine atom-editor (1)
Siguiendo mi pregunta anterior, aquí estoy tratando de obtener los archivos ''espec'' registrados por Atom, que he tenido éxito, sin embargo ahora, no importa cuántos describe
y it
que hago, no hace nada cuando Lo pruebo
Uso el comando, apm test
, y todo lo que obtengo es:
[655:0527/083825:WARNING:resource_bundle.cc(305)] locale_file_path.empty() for locale English
[655:0527/083825:ERROR:file_io.cc(30)] read: expected 40, observed 0
[659:0527/083825:WARNING:resource_bundle.cc(305)] locale_file_path.empty() for locale English
[655:0527/083828:INFO:CONSOLE(52)] "Window load time: 2420ms", source: file:///Applications/Atom.app/Contents/Resources/app.asar/static/index.js (52)
Finished in 0.023 seconds
0 tests, 0 assertions, 0 failures, 0 skipped
Tests passed
A juzgar por el archivo de especificaciones (que definitivamente está siendo registrado , ya que se queja cuando no existe), debería ejecutar 3 pruebas.
Mi archivo de especificaciones es el siguiente ... (paquete de resaltado de sintaxis)
describe "Jazz grammar", ->
grammar = null
beforeEach ->
waitsForPromise ->
atom.packages.activatePackage("language-jazz")
runs ->
grammar = atom.grammars.grammarForScopeName("source.jazz")
it "parses the grammar", ->
expect(grammar).toBeDefined()
expect(grammar.scopeName).toBe "source.jazz"
it "tokenises keywords", ->
tokens = grammar.tokenizeLines(''func'')
expect(tokens[0][0].value).toBe ''func''
expect(tokens[0][0].scopes).toEqual [''source.jazz'', ''storage.type.jazz'']
it "tokenizes comments inside function parameters", ->
tokens = grammar.tokenizeLines(''module test(arg1, ;; arg2)'')
expect(tokens[0][0].value).toBe ''module''
expect(tokens[0][0].scopes).toEqual [''source.jazz'', ''storage.type.jazz'']
expect(tokens[0][1].scopes).toEqual [''source.jazz'', ''comment.line.jazz'']
Mi estructura de archivos es la siguiente:
- lenguaje-jazz
- gramáticas
-
jazz.cson
-
- fragmentos
-
language-jazz.cson
-
- especulación
-
jazz-spec.coffee
-
-
package.json
- Otras cosas de GitHub y Travis CI
- gramáticas
El problema es la sangría y la estructura de sus pruebas en su especificación, tenga en cuenta que en CoffeeScript el espacio en blanco es significativo y los bloques de run
se usan para encapsular bloques del código y no para agruparlos.
Entonces la especificación debería ser:
describe "Jazz grammar", ->
grammar = null
beforeEach ->
waitsForPromise ->
atom.packages.activatePackage("language-jazz")
grammar = atom.grammars.grammarForScopeName("source.jazz")
it "parses the grammar", ->
expect(grammar).toBeDefined()
expect(grammar.scopeName).toBe "source.jazz"
it "tokenises keywords", ->
tokens = grammar.tokenizeLines(''func'')
expect(tokens[0][0].value).toBe ''func''
expect(tokens[0][0].scopes).toEqual [''source.jazz'', ''storage.type.jazz'']
it "tokenizes comments inside function parameters", ->
tokens = grammar.tokenizeLines(''module test(arg1, ;; arg2)'')
expect(tokens[0][0].value).toBe ''module''
expect(tokens[0][0].scopes).toEqual [''source.jazz'', ''storage.type.jazz'']
expect(tokens[0][1].scopes).toEqual [''source.jazz'', ''comment.line.jazz'']
He probado esto localmente y aparece como tres pruebas fallidas, ya que he implementado tu gramática.