Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
new tests using mocha diffs
still need more coverage for include, extend etc
  • Loading branch information
tj committed Mar 10, 2012
1 parent 7063e38 commit cb16e62
Show file tree
Hide file tree
Showing 67 changed files with 533 additions and 11 deletions.
7 changes: 2 additions & 5 deletions Makefile
@@ -1,5 +1,4 @@


TESTS = test/*.js
SRC = $(shell find lib -name "*.js" -type f) SRC = $(shell find lib -name "*.js" -type f)
UGLIFY = $(shell find node_modules -name "uglifyjs" -type f) UGLIFY = $(shell find node_modules -name "uglifyjs" -type f)
UGLIFY_FLAGS = --no-mangle UGLIFY_FLAGS = --no-mangle
Expand All @@ -9,10 +8,8 @@ all: jade.min.js runtime.min.js


test: test:
@./node_modules/.bin/mocha \ @./node_modules/.bin/mocha \
--ui exports \ --reporter $(REPORTER) \
--globals name \ --require should
--reporter $(REPORTER) \
$(TESTS)


test-cov: lib-cov test-cov: lib-cov
JADE_COV=1 $(MAKE) test REPORTER=html-cov > coverage.html JADE_COV=1 $(MAKE) test REPORTER=html-cov > coverage.html
Expand Down
4 changes: 4 additions & 0 deletions Readme.md
Expand Up @@ -1046,6 +1046,10 @@ Examples:
``` ```


## Tutorials

- in [Japanese](http://blog.craftgear.net/4f501e97c1347ec934000001/title/10%E5%88%86%E3%81%A7%E3%82%8F%E3%81%8B%E3%82%8Bjade%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%B3)

## License ## License


(The MIT License) (The MIT License)
Expand Down
2 changes: 1 addition & 1 deletion lib/parser.js
Expand Up @@ -611,7 +611,7 @@ Parser.prototype = {
case ':': case ':':
this.advance(); this.advance();
tag.block = new nodes.Block; tag.block = new nodes.Block;
tag.block.push(this.parseTag()); tag.block.push(this.parseExpr());
break; break;
} }


Expand Down
11 changes: 6 additions & 5 deletions package.json
Expand Up @@ -12,11 +12,12 @@
}, },
"devDependencies": { "devDependencies": {
"mocha": "*", "mocha": "*",
"coffee-script": ">= 0.0.1", "coffee-script": "*",
"markdown": ">= 0.0.1", "markdown": "*",
"stylus": ">= 0.0.1", "stylus": "*",
"uubench": "0.0.1", "uubench": "*",
"uglify-js": ">= 1.0.7" "should": "*",
"uglify-js": "*"
}, },
"scripts" : { "prepublish" : "npm prune" }, "scripts" : { "prepublish" : "npm prune" },
"engines": { "node": ">= 0.1.98" } "engines": { "node": ">= 0.1.98" }
Expand Down
7 changes: 7 additions & 0 deletions test/cases/attrs.html
@@ -0,0 +1,7 @@
<a href="/contact">contact</a><a href="/save" class="button">save</a><a foo="foo" bar="bar" baz="baz"></a><a foo="foo, bar, baz" bar="1"></a><a foo="((foo))" bar="1"></a>
<select>
<option value="foo" selected="selected">Foo
</option>
<option selected="selected" value="bar">Bar
</option>
</select>
1 change: 1 addition & 0 deletions test/cases/attrs.interpolation.html
@@ -0,0 +1 @@
<a href="/user/5"></a>
2 changes: 2 additions & 0 deletions test/cases/attrs.interpolation.jade
@@ -0,0 +1,2 @@
- var id = 5
a(href='/user/#{id}')
8 changes: 8 additions & 0 deletions test/cases/attrs.jade
@@ -0,0 +1,8 @@
a(href='/contact') contact
a(href='/save').button save
a(foo, bar, baz)
a(foo='foo, bar, baz', bar=1)
a(foo='((foo))', bar= (1) ? 1 : 0 )
select
option(value='foo', selected) Foo
option(selected, value='bar') Bar
1 change: 1 addition & 0 deletions test/cases/attrs.js.html
@@ -0,0 +1 @@
<a href="/user/5" class="button"></a><a href="/user/5" class="button"></a>
3 changes: 3 additions & 0 deletions test/cases/attrs.js.jade
@@ -0,0 +1,3 @@
- var id = 5
a(href='/user/' + id, class='button')
a(href = '/user/' + id, class = 'button')
3 changes: 3 additions & 0 deletions test/cases/aux/mixins.jade
@@ -0,0 +1,3 @@

mixin foo()
p bar
1 change: 1 addition & 0 deletions test/cases/aux/smile.html
@@ -0,0 +1 @@
<p>:)</p>
6 changes: 6 additions & 0 deletions test/cases/basic.html
@@ -0,0 +1,6 @@
<html>
<body>
<h1>Title
</h1>
</body>
</html>
3 changes: 3 additions & 0 deletions test/cases/basic.jade
@@ -0,0 +1,3 @@
html
body
h1 Title
8 changes: 8 additions & 0 deletions test/cases/blanks.html
@@ -0,0 +1,8 @@
<ul>
<li>foo
</li>
<li>bar
</li>
<li>baz
</li>
</ul>
8 changes: 8 additions & 0 deletions test/cases/blanks.jade
@@ -0,0 +1,8 @@


ul
li foo

li bar

li baz
8 changes: 8 additions & 0 deletions test/cases/block-expansion.html
@@ -0,0 +1,8 @@
<ul>
<li><a href="#">foo</a>
</li>
<li><a href="#">bar</a>
</li>
</ul>
<p>baz
</p>
5 changes: 5 additions & 0 deletions test/cases/block-expansion.jade
@@ -0,0 +1,5 @@
ul
li: a(href='#') foo
li: a(href='#') bar

p baz
8 changes: 8 additions & 0 deletions test/cases/block-expansion.shorthands.html
@@ -0,0 +1,8 @@
<ul>
<li class="list-item">
<div class="foo">
<div id="bar">baz
</div>
</div>
</li>
</ul>
2 changes: 2 additions & 0 deletions test/cases/block-expansion.shorthands.jade
@@ -0,0 +1,2 @@
ul
li.list-item: .foo: #bar baz
1 change: 1 addition & 0 deletions test/cases/classes.html
@@ -0,0 +1 @@
<a class="foo bar baz"></a><a class="foo bar baz"></a><a class="foo-bar_baz"></a>
3 changes: 3 additions & 0 deletions test/cases/classes.jade
@@ -0,0 +1,3 @@
a(class=['foo', 'bar', 'baz'])
a.foo(class='bar').baz
a.foo-bar_baz
14 changes: 14 additions & 0 deletions test/cases/code.conditionals.html
@@ -0,0 +1,14 @@
<p>foo
</p>
<p>foo
</p>
<p>foo
</p>
<p>bar
</p>
<p>baz
</p>
<p>bar
</p>
<p>yay
</p>
27 changes: 27 additions & 0 deletions test/cases/code.conditionals.jade
@@ -0,0 +1,27 @@

- if (true)
p foo
- else
p bar

- if (true) {
p foo
- } else {
p bar
- }

if true
p foo
p bar
p baz
else
p bar

unless true
p foo
else
p bar

if 'nested'
if 'works'
p yay
4 changes: 4 additions & 0 deletions test/cases/code.escape.html
@@ -0,0 +1,4 @@
<p>&lt;script&gt;
</p>
<p><script>
</p>
2 changes: 2 additions & 0 deletions test/cases/code.escape.jade
@@ -0,0 +1,2 @@
p= '<script>'
p!= '<script>'
20 changes: 20 additions & 0 deletions test/cases/code.html
@@ -0,0 +1,20 @@
<p>
</p>
<p>
</p>
<p>
</p>
<p>0
</p>
<p>false
</p>
<p>
</p>
<p>
</p>
<p foo="">
</p>
<p foo="0">
</p>
<p>
</p>
44 changes: 44 additions & 0 deletions test/cases/code.iteration.html
@@ -0,0 +1,44 @@
<ul>
<li>1
</li>
<li>2
</li>
<li>3
</li>
</ul>
<ul>
<li class="item-0">1
</li>
<li class="item-1">2
</li>
<li class="item-2">3
</li>
</ul>
<ul>
<li>1
</li>
<li>2
</li>
<li>3
</li>
</ul>
<ul>
<li>1: a
</li>
<li>2: a
</li>
<li>3: a
</li>
<li>1: b
</li>
<li>2: b
</li>
<li>3: b
</li>
<li>1: c
</li>
<li>2: c
</li>
<li>3: c
</li>
</ul>
25 changes: 25 additions & 0 deletions test/cases/code.iteration.jade
@@ -0,0 +1,25 @@

- var items = [1,2,3]

ul
- items.forEach(function(item){
li= item
- })

items = [1,2,3]

ul
for item, i in items
li(class='item-#{i}')= item

ul
each item, i in items
li= item

nums = [1, 2, 3]
letters = ['a', 'b', 'c']

ul
for l in letters
for n in nums
li #{n}: #{l}
10 changes: 10 additions & 0 deletions test/cases/code.jade
@@ -0,0 +1,10 @@
p= null
p= undefined
p= ''
p= 0
p= false
p(foo=null)
p(foo=undefined)
p(foo='')
p(foo=0)
p(foo=false)
2 changes: 2 additions & 0 deletions test/cases/comments.conditional.html
@@ -0,0 +1,2 @@
<!--[if IE lt 9]>
<script src="/lame.js"></script><![endif]-->
3 changes: 3 additions & 0 deletions test/cases/comments.conditional.jade
@@ -0,0 +1,3 @@

//if IE lt 9
script(src='/lame.js')
13 changes: 13 additions & 0 deletions test/cases/comments.html
@@ -0,0 +1,13 @@
<!-- foo-->
<ul>
<!-- bar-->
<li>one
</li>
</ul><!-- asdf
<!-- baz-->
<li>two
</li>--><!--
<ul>
<li>foo
</li>
</ul>-->
12 changes: 12 additions & 0 deletions test/cases/comments.jade
@@ -0,0 +1,12 @@

// foo
ul
// bar
li one
// asdf
// baz
li two
//
ul
li foo
1 change: 1 addition & 0 deletions test/cases/doctype.custom.html
@@ -0,0 +1 @@
<!DOCTYPE custom stuff>
1 change: 1 addition & 0 deletions test/cases/doctype.custom.jade
@@ -0,0 +1 @@
doctype custom stuff
7 changes: 7 additions & 0 deletions test/cases/doctype.default.html
@@ -0,0 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<body>
<h1>Title
</h1>
</body>
</html>
4 changes: 4 additions & 0 deletions test/cases/doctype.default.jade
@@ -0,0 +1,4 @@
!!!
html
body
h1 Title
1 change: 1 addition & 0 deletions test/cases/doctype.keyword.html
@@ -0,0 +1 @@
<!DOCTYPE html>
1 change: 1 addition & 0 deletions test/cases/doctype.keyword.jade
@@ -0,0 +1 @@
doctype html

0 comments on commit cb16e62

Please sign in to comment.