Add unit-tests for attributes in mardown elements.
authorVonC <vonc@laposte.net>
Sun, 27 Oct 2013 18:57:12 +0000 (19:57 +0100)
committerVonC <vonc@laposte.net>
Sun, 27 Oct 2013 21:49:44 +0000 (22:49 +0100)
Test paragraphs, list items and img attributes.

test/red-curtain-50x50.jpg [new file with mode: 0644]
test/test-element-attributes-markdown.html [new file with mode: 0644]
test/test-element-attributes-markdown.js [new file with mode: 0644]

diff --git a/test/red-curtain-50x50.jpg b/test/red-curtain-50x50.jpg
new file mode 100644 (file)
index 0000000..ddfe7a6
Binary files /dev/null and b/test/red-curtain-50x50.jpg differ
diff --git a/test/test-element-attributes-markdown.html b/test/test-element-attributes-markdown.html
new file mode 100644 (file)
index 0000000..e547d16
--- /dev/null
@@ -0,0 +1,84 @@
+<!doctype html>
+<html lang="en">
+
+       <head>
+               <meta charset="utf-8">
+
+               <title>reveal.js - Test Markdown</title>
+
+               <link rel="stylesheet" href="../css/reveal.min.css">
+               <link rel="stylesheet" href="qunit-1.12.0.css">
+       </head>
+
+       <body style="overflow: auto;">
+
+               <div id="qunit"></div>
+               <div id="qunit-fixture"></div>
+
+               <div class="reveal" style="display: none;">
+
+                       <div class="slides">
+
+                               <!-- <section data-markdown="example.md" data-separator="^\n\n\n" data-vertical="^\n\n"></section> -->
+
+                               <!-- Slides are separated by newline + three dashes + newline, vertical slides identical but two dashes -->
+                               <section        data-markdown data-separator="^\n---\n$" 
+                                               data-vertical="^\n--\n$"
+                                               data-element-attributes="{_\s*?([^}]+?)}">
+                                       <script type="text/template">
+                                               ## Slide 1.1 {_class="fragment fade-out" data-fragment-index="1"}
+
+                                               --
+
+                                               ## Slide 1.2 {_class="fragment shrink"}
+
+                                               Paragraph 1 {_class="fragment grow"}
+
+                                               Paragraph 2 {_class="fragment grow"}
+
+                                               - list item 1  {_class="fragment roll-in"}
+                                               - list item 2  {_class="fragment roll-in"}
+                                               - list item 3  {_class="fragment roll-in"}
+
+
+                                               ---
+
+                                               ## Slide 2
+
+
+                                               Paragraph 1.2  
+                                               multi-line {_class="fragment highlight-red"}
+
+                                               Paragraph 2.2 {_class="fragment highlight-red"}
+
+                                               Paragraph 2.3 {_class="fragment highlight-red"}
+
+                                               Paragraph 2.4 {_class="fragment highlight-red"}
+
+                                               - list item 1  {_class="fragment highlight-green"}
+                                               - list item 2  {_class="fragment highlight-green"}
+                                               - list item 3  {_class="fragment highlight-green"}
+                                               - list item 4  {_class="fragment highlight-green"}
+                                               - list item 5  {_class="fragment highlight-green"}
+            
+Test
+            
+![Example Picture{_class="reveal stretch"}](red-curtain-50x50.jpg)
+
+                                       </script>
+                               </section>
+
+                       </div>
+
+               </div>
+
+               <script src="../lib/js/head.min.js"></script>
+               <script src="../js/reveal.min.js"></script>
+               <script src="../plugin/markdown/marked.js"></script>
+               <script src="../plugin/markdown/markdown.js"></script>
+               <script src="qunit-1.12.0.js"></script>
+
+               <script src="test-element-attributes-markdown.js"></script>
+
+       </body>
+</html>
diff --git a/test/test-element-attributes-markdown.js b/test/test-element-attributes-markdown.js
new file mode 100644 (file)
index 0000000..e79806c
--- /dev/null
@@ -0,0 +1,38 @@
+
+
+Reveal.addEventListener( 'ready', function() {
+
+       QUnit.module( 'Markdown' );
+
+       test( 'Vertical separator', function() {
+               strictEqual( document.querySelectorAll( '.reveal .slides>section>section' ).length, 2, 'found two slides' );
+       });
+
+
+       test( 'Attributes on vertical slides header', function() {
+               strictEqual( document.querySelectorAll( '.reveal .slides section>section h2.fragment.fade-out' ).length, 1, 'found one vertical slide with class fragment.fade-out on header' );
+               strictEqual( document.querySelectorAll( '.reveal .slides section>section h2.fragment.shrink' ).length, 1, 'found one vertical slide with class fragment.shrink on header' );
+       });
+
+       test( 'Attributes on vertical slides paragraphs', function() {
+               strictEqual( document.querySelectorAll( '.reveal .slides section>section p.fragment.grow' ).length, 2, 'found a vertical slide with two paragraphs with class fragment.grow' );
+       });
+
+       test( 'Attributes on vertical slides list items', function() {
+               strictEqual( document.querySelectorAll( '.reveal .slides section>section li.fragment.roll-in' ).length, 3, 'found a vertical slide with three list items with class fragment.roll-in' );
+       });
+
+       test( 'Attributes on horizontal slides paragraphs', function() {
+               strictEqual( document.querySelectorAll( '.reveal .slides section p.fragment.highlight-red' ).length, 4, 'found a horizontal slide with four paragraphs with class fragment.grow' );
+       });
+       test( 'Attributes on horizontal slides list items', function() {
+               strictEqual( document.querySelectorAll( '.reveal .slides section li.fragment.highlight-green' ).length, 5, 'found a horizontal slide with five list items with class fragment.roll-in' );
+       });
+       test( 'Attributes on horizontal slides list items', function() {
+               strictEqual( document.querySelectorAll( '.reveal .slides section img.reveal.stretch' ).length, 1, 'found a horizontal slide with stretched image, class img.reveal.stretch' );
+       });
+
+} );
+
+Reveal.initialize();
+