151 Commits

Author SHA1 Message Date
Nick Martin
2b521b72be Use new package API 2012-01-30 16:04:43 -08:00
Nick Martin
93ff43bb78 Remove stray console.log. 2012-01-30 12:42:23 -08:00
matt debergalis
0fa1d39cf7 simplify Collection API.
drops get(), fetch(n), and Collection.STOP
2012-01-30 12:03:06 -08:00
matt debergalis
fbf143a7e6 drop LiveResultsSet#indexOf 2012-01-28 18:38:44 -08:00
David Greenspan
f2e6838691 fixes to minimongo, test driver, and tests 2012-01-28 00:10:35 -08:00
Nick Martin
b367f4a6e1 Add logging package and make call sites use it. This should clear up any lingering IE console issues. 2012-01-27 23:19:48 -08:00
matt debergalis
fc738af5d0 spacing 2012-01-27 20:59:08 -08:00
matt debergalis
5e7daaaff3 New Collection API
The new Collection API separates query handles from result sets.  It
allows template iterators to only redraw changed objects instead of
entire result sets.  This implementation also sets the stage for
minimongo indexes and better invalidation performance.

collection.find() now returns a Collection.Query handle.  To retrieve
results we provide these methods on Collection.Query:

Iterators (encouraged way to access results):

 * query.forEach(function (obj) { ... });
 * results = query.map(function (obj) { ... });

Cursor-based retrieval (iterators are built on fetch):

 * docs = query.fetch(maxlen); // return next [maxlen] (all) docs.
 * doc = query.get(skip);      // return next doc, skipping [skip] (0) docs.

Counter:

 * length = query.count(); // number of results in query.

Live queries (replaces findLive):

 * live_handle = query.observe({added: function (obj, idx) { ... },
                                removed: function (id, idx) { ... },
                                changed: function (obj, idx) { ... },
                                moved: function (obj, old_idx, new_idx) { ... }});

Convenience finders:

 * doc = collection.findOne({color: 'red'});
 * doc = collection.findOne(id_val);

On the client, calling forEach(), map(), fetch(), get(), or findOne()
inside an invalidation context will register a dependency on the entire
query result.  Any change to any objects invalidates the context.

Calling count() inside an invalidation context will register a
dependency that only triggers if objects enter or leave the result set.

Calling observe() does not register a dependency.
2012-01-27 20:59:08 -08:00
Nick Martin
a028b9d9de Merge branch 'refs/heads/tests-cleanup' 2012-01-27 20:51:56 -08:00
Geoff Schmidt
334885c18e tests run in root packages directory 2012-01-27 20:03:59 -08:00
Nick Martin
7f133d37b5 Move htmljs test. This was missed as it happened at the same time as the test migration. 2012-01-27 20:03:59 -08:00
Geoff Schmidt
31cf1d8ab4 bugfixes in new bundler 2012-01-27 20:03:03 -08:00
Geoff Schmidt
d1d5604976 Refactor bundler; new package API 2012-01-27 20:02:26 -08:00
Nick Martin
d56773277b Remove 'startup' state from connection state machine. 2012-01-27 20:02:25 -08:00
David Greenspan
f68c30136e show test short names 2012-01-27 20:02:25 -08:00
David Greenspan
ecb82782eb show test run times in results 2012-01-27 20:02:25 -08:00
David Greenspan
6108c56dfd fix test CSS 2012-01-27 20:02:25 -08:00
David Greenspan
ef4a7b91af new, nice-looking test driver; pretty much full-featured except lacks stop_on_failure 2012-01-27 20:02:24 -08:00
Geoff Schmidt
ab7f8a379d enforce 'environments'. comments cleanup 2012-01-27 20:02:24 -08:00
Geoff Schmidt
c44f9c3680 refactor Package/PackageLibrary out to be reusable 2012-01-27 20:02:24 -08:00
Geoff Schmidt
e5eb42e55c Refactor package API/bundler 2012-01-27 20:02:24 -08:00
David Greenspan
ad55fc8cb9 fix html.js for IE (support "style"); change template_test to use Meteor._fragmentToHtml 2012-01-27 20:02:24 -08:00
David Greenspan
2116a9c239 fixed my empty frag logic, changed liveui tests back to original 2012-01-27 20:02:24 -08:00
David Greenspan
c2c903f3ef fix a couple tests 2012-01-27 20:01:59 -08:00
David Greenspan
140b809c90 safer tbody fix 2012-01-20 16:58:06 -08:00
Nick Martin
95ba0bac0b Safety belt a couple of debug statements. console can break old IE. 2012-01-20 16:32:01 -08:00
David Greenspan
ad801a61ac add a TBODY in IE 2012-01-20 16:00:05 -08:00
David Greenspan
db3f8b3ebc jquery-like fragment creation, placeholder comments; still broken in IE 2012-01-20 16:00:05 -08:00
Geoff Schmidt
c3a5e2cafc merge rename from master, with fixups. unit tests pass. take two (this should be an actual merge commit) 2012-01-20 15:25:31 -08:00
Geoff Schmidt
4bed3a6e62 add link to vowsjs 2012-01-19 15:26:04 -08:00
Geoff Schmidt
b5836456db add a header with test counts :) :)
a bit slow.. new collections API should help!
2012-01-19 01:20:33 -08:00
Geoff Schmidt
c8cf066dbc port minimongo tests to new system. rename directory to 'unit'.
5 minimongo tests are failing; mark as expected.
2012-01-19 00:49:30 -08:00
Geoff Schmidt
3dbf45641f liverange/liveui tests pass 2012-01-18 22:01:23 -08:00
Geoff Schmidt
32410dbb36 driver cleanups 2012-01-18 21:43:54 -08:00
Geoff Schmidt
3e1fbe0577 fix partial patching bug 2012-01-18 21:43:42 -08:00
Geoff Schmidt
7a0c0d2217 test that partial patching uses liverange correctly (hint: it doesn't) 2012-01-18 21:27:26 -08:00
Geoff Schmidt
618d6f71bc fix bug that happened when a template contained another template as its first child 2012-01-18 20:10:50 -08:00
Nick Martin
0e39cbe5be Replace new occurances of Skybreak with Meteor. 2012-01-18 17:53:21 -08:00
Nick Martin
0d413ac1db Take new master version of these files. Didn't happen quite right in the merge. 2012-01-18 17:45:07 -08:00
Nick Martin
459dac9cac Merge branch 'master' into meteor
conflicts hand resolved. deftemplate and liveui reverted to master, will re-do later.

Conflicts:
	admin/generate-dev-bundle.sh
	admin/install-s3.sh
	admin/manifest.json
	app/meteor/deploy.js
	app/meteor/meteor.js
	examples/leaderboard/leaderboard.js
	examples/unfinished/azrael/client/azrael.js
	examples/unfinished/azrael/model.js
	packages/liveui/liveui.js
	packages/templating/deftemplate.js
	packages/templating/html_scanner.js
	tests/minimongo/test.html
2012-01-18 16:14:54 -08:00
Geoff Schmidt
a5d650e7ce new test framework WIP 2012-01-18 01:19:55 -08:00
Geoff Schmidt
dc2e377695 comment cleanups, remove unused function 2012-01-17 18:49:35 -08:00
Geoff Schmidt
8cc4bc3aeb Package JSON cleanly. minimongo test passes on IE7 2012-01-16 23:03:07 -08:00
Geoff Schmidt
f0ff237168 LiveRange tests pass on IE7!
When your app ships your own JSON.stringify, anyway.
2012-01-16 22:50:27 -08:00
Geoff Schmidt
8653639a2d fix some IE7 issues 2012-01-16 22:12:49 -08:00
Geoff Schmidt
ee8f1c1e9b Make liveui tests pass on IE8! 2012-01-16 20:44:32 -08:00
Geoff Schmidt
b1f06d68ed full Sky.ui.render tests 2012-01-16 19:36:57 -08:00
Nick Martin
b4d7fb0617 Merge branch 'refs/heads/master' into performance 2012-01-13 18:37:36 -08:00
Geoff Schmidt
5479af11fe fix bug that would give a blank screen on Safari 2012-01-13 21:33:20 -05:00
Geoff Schmidt
e16e0abaf3 more renderList tests
- reactivity/GC of renderlist item body
- items that render to multiple DOM nodes
2012-01-13 19:31:14 -05:00