entire generator test file is now ignored if generators are not available

This commit is contained in:
Andreas Lubbe
2013-11-30 12:26:32 -08:00
parent 74a92db173
commit 9d29a830df
2 changed files with 27 additions and 28 deletions

View File

@@ -221,6 +221,13 @@ runTests = (CoffeeScript) ->
# Run every test in the `test` folder, recording failures.
files = fs.readdirSync 'test'
# Ignore generators test file if generators are not available
generatorsAreNotAvailable = true
for execArg in process.execArgv when execArg in ['--harmony', '--harmony-generators']
generatorsAreNotAvailable = false
files.splice files.indexOf('generators.coffee'), 1 if generatorsAreNotAvailable
for file in files when helpers.isCoffee file
literate = helpers.isLiterate file
currentFile = filename = path.join 'test', file

View File

@@ -3,32 +3,24 @@
# * Generator Definition
# ensure that these tests are only run if generators are available
generatorsAreAvailable = ->
for execArg in process.execArgv when execArg in ['--harmony', '--harmony-generators']
return yes
no
# Using the keyword yield should not cause a syntax error.
-> yield 0
if generatorsAreAvailable()
# Using the keyword yield should not cause a syntax error.
-> yield 0
test "Generator Definition", ->
x = ->
yield 0
yield 1
yield 2
y = x()
z = y.next()
eq z.value, 0
eq z.done, false
z = y.next()
eq z.value, 1
eq z.done, false
z = y.next()
eq z.value, 2
eq z.done, false
z = y.next()
eq z.value, undefined
eq z.done, true
test "Generator Definition", ->
x = ->
yield 0
yield 1
yield 2
y = x()
z = y.next()
eq z.value, 0
eq z.done, false
z = y.next()
eq z.value, 1
eq z.done, false
z = y.next()
eq z.value, 2
eq z.done, false
z = y.next()
eq z.value, undefined
eq z.done, true