coffeescript jasmine atom-editor

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

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.