aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authors-ol <s-ol@users.noreply.github.com>2018-11-01 10:34:57 +0000
committers-ol <s-ol@users.noreply.github.com>2018-11-01 10:34:57 +0000
commite585237ad42a34f0c187fb94dd6e46aa7479914a (patch)
tree1747182b7844a565649cb1db544145e502a4e4e5
parentmove mmm code from lib to mmm etc (diff)
downloadmmm-e585237ad42a34f0c187fb94dd6e46aa7479914a.tar.gz
mmm-e585237ad42a34f0c187fb94dd6e46aa7479914a.zip
fix component tests
-rw-r--r--mmm/mmmfs/browser.moon10
-rw-r--r--root/meta/test_component.moon33
2 files changed, 26 insertions, 17 deletions
diff --git a/mmm/mmmfs/browser.moon b/mmm/mmmfs/browser.moon
index b057573..839438a 100644
--- a/mmm/mmmfs/browser.moon
+++ b/mmm/mmmfs/browser.moon
@@ -33,10 +33,11 @@ class Browser
-- prepend the navbar
if MODE == 'SERVER'
- @dom\append div id: 'browser-navbar'
+ @dom\append div 'please stand by... interactivity loading :)', id: 'browser-navbar'
else
- @dom\prepend get_or_create 'div', 'browser-navbar', {
- span 'path: ', @path\map (path) -> with div style: { display: 'inline-block' }
+ @dom\prepend with get_or_create 'div', 'browser-navbar'
+ .node.innerHTML = ''
+ \append span 'path: ', @path\map (path) -> with div style: { display: 'inline-block' }
path_segment = (name, href) ->
a name, :href, onclick: (_, e) ->
e\preventDefault!
@@ -58,7 +59,7 @@ class Browser
\append '/'
\append path_segment name, href
- span 'view property: ', @active\map (fileder) ->
+ \append span 'view property: ', @active\map (fileder) ->
onchange = (_, e) ->
@prop\set Key e.target.value
@@ -69,7 +70,6 @@ class Browser
for key, _ in pairs fileder.props
value = key\tostring!
\append option value, :value, selected: value == current
- }
-- append or patch #browser-content
@dom\append with get_or_create 'div', 'browser-content'
diff --git a/root/meta/test_component.moon b/root/meta/test_component.moon
index c1c766e..2c6c983 100644
--- a/root/meta/test_component.moon
+++ b/root/meta/test_component.moon
@@ -13,9 +13,9 @@ Fileder {
last = nil
test_group = (name) ->
if last
- append div (h1 name), ul last
+ append div (h1 last.name), ul last
- last = {}
+ last = { :name }
(name, test) ->
ok, err = pcall test
table.insert last, li if ok
@@ -25,7 +25,6 @@ Fileder {
expect = (expected, note, ...) ->
ok, msg = pcall ...
- print ok, msg\find expected
if ok or not msg\find expected
error note
@@ -48,14 +47,22 @@ Fileder {
assert 'function' == (type text), "text not exported"
node = text 'a test string'
- assert (js.instanceof node, js.global.Node), "expected text to generate a Node"
- assert node.data == 'a test string', "expected text to store the string"
+
+ data = if MODE == 'CLIENT'
+ assert (js.instanceof node, js.global.Node), "expected text to generate a Node"
+ node.data
+ else
+ node
+
+ assert data == 'a test string', "expected text to store the string"
run_test "text joins multiple arguments", ->
import text from require 'mmm.component'
node = text 'a', 'test', 'string'
- assert node.data == 'a test string', "expected text to join arguments with spaces"
+
+ data = if MODE == 'CLIENT' then node.data else node
+ assert data == 'a test string', "expected text to join arguments with spaces"
run_test "exports elements table", ->
import elements from require 'mmm.component'
@@ -83,7 +90,7 @@ Fileder {
reactive\set 'cheese'
assert done, "expected to reach the end"
- run_test "passed old value as well", ->
+ run_test "passes old value as well", ->
local done
reactive = ReactiveVar 1
@@ -166,7 +173,7 @@ Fileder {
run_test "sets attributes from a table arg", ->
elem = ReactiveElement 'span', class: 'never'
- assert elem.node.class == 'never', "expected class to be 'never'"
+ assert elem.node.className == 'never', "expected class to be 'never'"
run_test "appends Nodes from arguments", ->
e_div, e_pre = div!, pre!
@@ -184,21 +191,21 @@ Fileder {
e_div = div!
elem = ReactiveElement 'div', e_div, class: 'test'
assert elem.node.firstElementChild == e_div, "expected div to be the first child of elem"
- assert elem.node.class == 'test', "expected class to be 'test'"
+ assert elem.node.className == 'test', "expected class to be 'test'"
run_test "allows mixing attributes and children in a single table", ->
e_div, e_pre = div!, pre!
elem = ReactiveElement 'div', { class: 'test', e_div, e_pre }
assert elem.node.firstElementChild == e_div, "expected div to be the first child of elem"
assert elem.node.lastElementChild == e_pre, "expected pre to be the last child of elem"
- assert elem.node.class == 'test', "expected class to be 'test'"
+ assert elem.node.className == 'test', "expected class to be 'test'"
run_test "can unwrap and track attributes from ReactiveVars", ->
klass = ReactiveVar 'test'
elem = ReactiveElement 'div', class: klass
- assert elem.node.class == 'test', "expected class to be 'test'"
+ assert elem.node.className == 'test', "expected class to be 'test'"
klass\set 'toast'
- assert elem.node.class == 'toast', "expected class to be 'toast'"
+ assert elem.node.className == 'toast', "expected class to be 'toast'"
run_test "can unwrap and track children from ReactiveVars", ->
child = ReactiveVar h1 'test'
@@ -220,5 +227,7 @@ Fileder {
elem = ReactiveElement 'div', str\map text
str\set 'this is text'
+ test_group!
+
article _content
}