| 00:05 | <gsnedders> | jgraham: Um, tests don't run anymore. |
| 00:05 | <gsnedders> | Why do you always break tests? ;_; |
| 08:47 | <zcorpan> | should structured clone support Stream? |
| 08:53 | <jgraham> | gsnedders: Why do you think I broke anything? |
| 08:55 | <jgraham> | Also, tries aren't exactly famous for being particularly low-memory usage |
| 09:15 | <jgraham> | AryehGregor: I fear the number of asserts bound up in assert_interface |
| 11:36 | <annevk> | okay so roc argued for nested fullscreen |
| 11:36 | <annevk> | and nobody else said anything |
| 11:37 | <annevk> | I think that means I'll go with roc and see what happens next |
| 11:37 | <annevk> | people are also complaining (not on list) about the style rules |
| 11:37 | <annevk> | e.g. background:black is problematic |
| 11:37 | <annevk> | and either padding/border need to be cleared or we need to set box-sizing |
| 11:37 | <annevk> | the latter is prolly better |
| 11:44 | <jgraham> | FWIW I think roc's argument is pretty convincing so I changed my mind |
| 11:45 | <annevk> | I presented the same argument |
| 11:45 | <jgraham> | Yeah, but roc is more convincing than you :p |
| 11:46 | <jgraham> | (I think I had actually underestimated the difficulty of working around the problem) |
| 11:48 | <annevk> | So argument by authority works on you? hah |
| 11:48 | <annevk> | In any event, roc's stack description does not seem to work |
| 11:48 | jgraham | wonders what sounded like "argument from authority" |
| 11:50 | <jgraham> | What's wrong with the stack? |
| 11:50 | <Ms2ger> | It's just doctors together, I guess |
| 11:52 | <annevk> | jgraham: the stack is per document, but then you still need a check if the element on the stack is in the document |
| 12:00 | <annevk> | jgraham: basically, the exitFullscreen steps make it seem the stack is global |
| 12:29 | <gsnedders> | jgraham: Because you tried to get the tests running with nose without updating the documentation or any of the other tests |
| 12:30 | <gsnedders> | Like runtests.py and runparsertests.py just throw errors now |
| 12:32 | <zcorpan> | now you're just being picky |
| 12:43 | <jgraham> | Oh, did I commit that? |
| 12:44 | <jgraham> | Well, having the tests running in nose is a huge win for sanity |
| 12:46 | <jgraham> | So think of it an an impetus to make the other tests work properly (i.e. in nose) |
| 13:06 | <gsnedders> | jgraham: See, I'm still not sure it's much of a win, and breaking it is just annoying. |
| 13:06 | <jgraham> | gsnedders: I am entirely sure it is 100% win |
| 13:07 | gsnedders | wants a receieve hook that rejects anything that regresses any testcase |
| 13:07 | <jgraham> | No |
| 13:08 | <jgraham> | Apart from anything else it would quickly get complicated |
| 13:08 | <jgraham> | Imagine someone adding a TC that we fail. Why would one reject other pushes for failing to address that? |
| 13:09 | <jgraham> | So you would either need to make people add annotations like "expected fail" that the commit hook would ignore |
| 13:09 | <jgraham> | (+ to indicate TC fails) |
| 13:09 | <jgraham> | Or keep a list of known passes/fails |
| 13:10 | <zcorpan> | you could reimplement spartan for html5lib |
| 13:10 | <jgraham> | Doing that once is enough I think :p |
| 13:16 | <Philip`> | Have a receive hook that sends a warning message to IRC on test failures, so people can apply their own judgement and decide whether to tell off the committer |
| 13:17 | jgraham | suggests lack of infrastructure is not the main problem |
| 13:18 | <Ms2ger> | jgraham, but the tools will save us! |
| 13:20 | <jgraham> | If by "tools" you mean "street corner preachers" and "save us" you mean "convert us to Jesus" then I still have my doubts |
| 13:21 | <zcorpan> | well you kinda look like Jesus anyway :) |
| 13:21 | <annevk> | dr Jesus |
| 13:22 | <jgraham> | Rumbled |
| 13:23 | jgraham | notes that if Jesus looked like him, he would have stuck out like a sore thumb in the middle east |
| 13:24 | <Ms2ger> | Like you with a tan, perhaps? |
| 13:27 | <jgraham> | I'm not sure I get tans, just more pronounced freckles |
| 13:28 | <annevk> | http://i.imgur.com/JVI4V.jpg and even so, within half an hour you're in the mountains |
| 13:29 | <annevk> | one of the reasons Tokyo is pretty awesome |
| 13:33 | <myakura> | Is that a view from Takaosan? |
| 13:36 | <hsivonen> | I *think* I've seen Zeldman show a CSS example that included an unprefixed CSS property in anticipation of the property getting standardized in the future |
| 13:36 | <hsivonen> | now I can't find such an example on this blog |
| 13:36 | <hsivonen> | am I imagining things? |
| 13:36 | <annevk> | myakura: helicopter |
| 13:37 | <myakura> | annevk: yeah... Takaosan's never been that close to the city. |
| 13:39 | <annevk> | I meant that Tokyo is so vast, and even so it's pretty easy to get to the mountains |
| 13:41 | <annevk> | Ms2ger: btw, for DOM4, we need to make sure insert DocumentFragment is atomic |
| 13:41 | <Ms2ger> | Yep |
| 13:41 | <annevk> | Ms2ger: and we need to have some kind of innerHTML handle, replace all children with DocumentFragment |
| 13:42 | <annevk> | whenever such an insert happens a "MutationRecord" is created if there are appropriate listeners |
| 13:42 | <annevk> | MutationRecord are not really created in a smart way otherwise |
| 13:43 | <annevk> | if you change an attribute several times in a row, you get multiple of them |
| 17:09 | <gsnedders> | Ms2ger: Do you have tests for TreeWalker? |
| 17:17 | <Ms2ger> | No |
| 17:17 | <Ms2ger> | I can probably point you at the ones Mozilla has |
| 17:18 | <gsnedders> | Okay, apparently it's fairly trivial to crash IE9 with. And apparently in Opera previousNode and parentNode are identical. |
| 17:18 | <Ms2ger> | Nice |
| 17:18 | <gsnedders> | But yeah, pointing at a testsuite would be nice. |
| 17:21 | <Ms2ger> | http://mxr.mozilla.org/mozilla-central/source/content/events/test/test_bug650493.html is one... |
| 17:25 | <Ms2ger> | I was thinking about http://mxr.mozilla.org/mozilla-central/source/content/base/test/test_NodeIterator_basics_filters.xhtml?force=1, apparently |
| 17:26 | <Ms2ger> | Which points at http://hixie.ch/tests/adhoc/dom/traversal/node-iterator/... |
| 17:26 | <dglazkov> | good morning, Whatwg! |
| 17:26 | <Ms2ger> | And http://hixie.ch/tests/adhoc/dom/traversal/tree-walker/ is.. Bah, empty |
| 17:27 | <annevk> | reminds me of one of my unfinished projects, http://testsuite.org/ |
| 17:30 | <Ms2ger> | http://mxr.mozilla.org/mozilla-central/source/content/base/test/test_treewalker_nextsibling.xml |
| 17:32 | <Ms2ger> | http://mxr.mozilla.org/mozilla-central/source/content/base/test/test_bug628938.html |
| 17:34 | <Ms2ger> | http://mxr.mozilla.org/mozilla-central/source/content/base/test/test_bug338541.xhtml |
| 17:34 | <Ms2ger> | That's about it, I think |
| 17:35 | <annevk> | should prolly import those tests too |
| 17:35 | <annevk> | one test suite to rule them all |
| 17:35 | <Ms2ger> | Yeah, I need to look at that |
| 17:35 | <Ms2ger> | Put that list somewhere, will you? :) |
| 17:40 | <annevk> | krijn already did for me |
| 18:00 | <AryehGregor> | jgraham, do you have a better idea than lots and lots of asserts in one? I think it's essential that we have all that logic packaged up in one place, because exact same things should be tested for every single interface declared in any spec . . . |
| 18:01 | <AryehGregor> | s/exact/the exact/ |
| 18:07 | <zcorpan> | AryehGregor: how about a helper function that generates a bunch of tests? |
| 18:08 | <zcorpan> | testWebIdlStuff(interfaceObject, instance, {settings:'maybe'}) |
| 18:11 | <krijn> | annevk: with pleasure! |
| 18:13 | <Ms2ger> | krijn, thanks! :) |
| 18:14 | <krijn> | is it still fast enough? |
| 18:17 | <Ms2ger> | I noticed the front page sometimes is a day out of date |
| 18:17 | <krijn> | Probably because of time zones |
| 18:18 | <krijn> | I think a cache builder is running every night or something |
| 19:29 | <JonathanNeal> | Using HTML5, how would you mark up the "to" and "from" in a letter? |
| 20:16 | <roc> | annevk: can you explain in more detail why the stack doesn't work? |
| 20:16 | <roc> | and why background:black doesn't work? |
| 20:25 | <zewt> | roc: one comment I made about background: black (don't think anyone responded to it) was http://permalink.gmane.org/gmane.org.w3c.whatwg.discuss/32958 |
| 20:26 | <roc> | oh, you're Glenn Maynard? |
| 20:26 | <roc> | interesting |
| 20:26 | <zewt> | in a good way or a bad way? heh :P |
| 20:26 | <roc> | unfortunately I have trouble keeping my Glenn's straight |
| 20:26 | <zewt> | i've only seen one other posting on whatwg/webapps |
| 20:26 | <zewt> | (and infrequently) |
| 20:26 | <roc> | right |
| 20:27 | <roc> | I frequently find myself disagreeing with that Glenn |
| 20:27 | <zewt> | i vaguely remember disagreeing with him, but no recollection of about what |
| 20:27 | <zewt> | (actually, my recollection is "i wish this guy didn't have my name" ...) |
| 20:28 | <roc> | better change your name to something more unique :-) |
| 20:29 | <zewt> | i'd expect that the ancestor elements of the fullscreen element would not be rendered, even without blackground being set, but I don't know how that works in detail |
| 20:29 | <zewt> | glenn-99295c95-4fbc-4c23-96d3-8fd0666e2f60 |
| 20:30 | <roc> | that kind of change requires invasive changes to the layout engine |
| 20:30 | <roc> | which don't really serve any useful purpose |
| 21:03 | <jgraham> | AryehGregor: I didn't have a better idea but zcorpan's idea is interesting |
| 21:04 | <jgraham> | Only seems worth it if there are other cases where it could be used though |
| 21:27 | <gsnedders> | I think we want something that goes further than that: something that autogenerates tests for things such as [TreatNullAs=] as well as the property descriptor. |
| 21:32 | <jgraham> | Well the logical conclusion is something where you paste a whole idl block in as text and do test_idl() and it runs all the tests for you |
| 21:32 | <jgraham> | The question is whether it is useful to have a bit less magic than that and make people write test for different parts of the idl by hand |
| 21:33 | <jgraham> | I'm not sure what the sweet spot is between ease of writing tests and ease of understanding the output |
| 21:33 | <jgraham> | I guess sone can have both |
| 21:36 | <gsnedders> | I think we just want to take a whole IDL block |
| 21:37 | <gsnedders> | Optionally with a function that returns an instance of the interface if it doesn't have a zero-argument constructor |
| 21:40 | <jgraham> | Why a function? |
| 21:40 | <jgraham> | Just pass in an instance |
| 21:40 | <jgraham> | Well I gues you might need many instances |
| 21:45 | <gsnedders> | jgraham: What does nose actually buy us in the html5lib case? |
| 21:46 | <jgraham> | Me not wanted to kill people? |
| 21:46 | <jgraham> | Also, more seriously, test generators are ideal for us |
| 21:47 | <jgraham> | Since we generate a bunch of tests from a data file it is totally natural to represent that as a single test function being called multiple times from a generator |
| 21:47 | <gsnedders> | Eh, they make the tests harder to run (we appear to have almost a thousand errors currently…), and that's only relevant for people changing the test harness code, which is almost nobody. |
| 21:47 | <gsnedders> | Optimizing for people editing that code is the wrong optimization. |
| 21:48 | <jgraham> | Rather than the crazy thing we did with unittest where we built a class wih test_* methods at runtime |
| 21:48 | <jgraham> | I have hated that code more than any other code in the project for some time |
| 21:49 | <jgraham> | I agree that if there is a committed partial conversion that's bad and we should finish the conversion |
| 21:49 | <gsnedders> | I believe that the default unittest in Ython nowadays can do everythign you need to get rid of that ugliness |
| 21:54 | <jgraham> | Show me where. I don't see it |
| 21:54 | <jgraham> | It adds test discovery but afaict not generators |
| 21:54 | <gsnedders> | "Tests grouped by a TestSuite are always accessed by iteration. Subclasses can lazily provide tests by overriding __iter__()." |
| 21:56 | <jgraham> | That will still be ugly |
| 21:56 | <jgraham> | We will sill have to create a TestCase for each test at runtime |
| 21:57 | <gsnedders> | And creating an object is so much worse than creating a tuple? |
| 21:57 | <jgraham> | Basically my problem with UnitTest is that it is a bout an order of magnitude more complex than needed, mostly for the benefit of looking like java |
| 21:57 | <paul_irish> | there is clearly a difference between how http://livedom.validator.nu/ and http://software.hixie.ch/utilities/js/live-dom-viewer/ are acting. is one considered more maintained? |
| 21:57 | <jgraham> | Which is not something I aspire to |
| 21:58 | <Ms2ger`> | paul_irish, they have different purposes |
| 21:58 | <jgraham> | paul_irish: I don't think either are particularly maintained. But the validator.nu one I expect has not been updated recently (it uses a javascript implementation of the parsing algorithm) |
| 21:58 | <Ms2ger`> | paul_irish, the former is based on the validator.nu parser, the latter uses your browser |
| 21:59 | <jgraham> | gsnedders: The errors that I see have no particular relationship to the test harness I don't think |
| 21:59 | <paul_irish> | ah uses a GWT compilation of the parser. cool. |
| 21:59 | <gsnedders> | jgraham: Regardless, the output from parser tests of unittest was a lot more usable than what we get now from nose, and that's far more important |
| 22:00 | <jgraham> | I disagree. nose's output is better |
| 22:01 | <gsnedders> | jgraham: With unittest we got far more readable identifiers for testse. |
| 22:04 | <gsnedders> | Also I can't get nose usefully working with pdb at all :\ |
| 22:05 | <gsnedders> | It puts me into pdb in a totally different place to the stack it gives me at the end, useful. |
| 22:07 | <gsnedders> | Ergh, we're breaking relying upon non-documented behaviour. |
| 22:08 | <annevk> | roc: hey, I want to go to bed, but the background works poorly because there's no color, and if you have a background set already it gets thrown away because of the current style rules; we could make background:black apply at the normal UA style sheet level of course |
| 22:09 | <annevk> | roc: your description of stacking I didn't get because all the elements on a stack would be in the document |
| 22:09 | <annevk> | roc: because the stack is document bound |
| 22:15 | <gsnedders> | jgraham: Bloody hell html5lib is broken from a testsuite POV… |
| 22:15 | <gsnedders> | And yes, I am bitchy about this. |
| 22:16 | <gsnedders> | Because every time I want to hack on html5lib I invariably spend the vast majority of my time fixing regressions that others ahve introduced and would ahve found if they had run the testseuite. |
| 22:16 | <gsnedders> | s/ahve/have/g |
| 22:20 | <jgraham> | gsnedders: Just as well it is as easy as typing nosetests now then |
| 22:20 | <jgraham> | I just fixed most of the error |
| 22:20 | <gsnedders> | jgraham: No, it's as easy as installing nosetests and running it compared with just running runtests.py |
| 22:22 | <gsnedders> | jgraham: And you did it a lot quicker than I did. |
| 22:22 | <jgraham> | If you aren't already using pip + virtualenv you have bigger problems |
| 22:23 | <gsnedders> | jgraham: It's still an extra step. |
| 22:24 | Philip` | has never used either pip or virtualenv, and wouldn't know where to start |
| 22:24 | <gsnedders> | Philip`: Obviously you have bigger problems then |
| 22:24 | <Philip`> | I have many problems |
| 22:26 | <jgraham> | I bet in practice you would start with google |
| 22:26 | <Ms2ger`> | And bugs you need to get to |
| 22:26 | <jgraham> | 10 errors/8 fails |
| 22:27 | <gsnedders> | jgraham: Le sigh, now I have a merge conflict from both of us fixing one bug. |
| 22:28 | gsnedders | wonders how to get his repo back to the correct state |
| 22:29 | <jgraham> | Given the size of the bugs it can't have been more than one line |
| 22:29 | <jgraham> | Unless it was in test_sanitizer |
| 22:29 | <jgraham> | In which case you want my copy |
| 22:29 | <gsnedders> | It was etree, because I wrote a far longer commit message :P |
| 22:29 | <gsnedders> | And now I have two additional merges, and an extra fix. |
| 22:30 | <gsnedders> | Why does hg have to be so hard to use!? |
| 22:31 | <jgraham> | It's not, it's just git brain damage |
| 22:31 | <jgraham> | I get the same |
| 22:31 | <gsnedders> | Oh, no, now you've fixed the one issue I fixed while I was fighting merges… |
| 22:31 | <gsnedders> | jgraham: How do I find out what a push would push with hg? |
| 22:31 | <gsnedders> | How do I revert to the remote head? |
| 22:31 | <gsnedders> | I can't find any easy way to do either. |
| 22:32 | <jgraham> | hg outgoing shows what you would push |
| 22:32 | <gsnedders> | jgraham: Nice of them to mention that in the hg push documentation. |
| 22:32 | <jgraham> | and hg update -r {revision} for the other thing |
| 22:33 | <jgraham> | Dunno if there is an equivalent of origin/master |
| 22:33 | <gsnedders> | jgraham: That doesn't work. |
| 22:33 | <gsnedders> | Because it's a parent of the revision I'm currently on. |
| 22:34 | <gsnedders> | I can't actually get it back. WTF? |
| 22:34 | <jgraham> | I don't understand what you mean, but maybe --clean |
| 22:34 | <gsnedders> | hg up -r e46af3a0f549 is a no-op. |
| 22:34 | <gsnedders> | --clean doesn't help |
| 22:35 | <jgraham> | And help |
| 22:35 | <jgraham> | That's not what I was aiming for |
| 22:36 | <jgraham> | And e46af3a0f549 isn't your local HEAD? |
| 22:36 | <gsnedders> | No, that's the merge of my fix for your last two commits and your last two commits. |
| 22:37 | <gsnedders> | And I don't really want to push four commits that in total change zero lines of code. |
| 22:37 | <gsnedders> | Because that's just fucking stupid. |
| 22:38 | <jgraham> | Enable the mq extension and hg strip them away? |
| 22:38 | <jgraham> | (note: may be dangerous) |
| 22:38 | <gsnedders> | Bloody hell, how can this be so hard in hg? |
| 22:38 | <jgraham> | Well I don't really understand what you have done so it is hard to help |
| 22:40 | <gsnedders> | my head is a commit which merges two heads — one is the current remote in the remote repo, one is an identical fix for the same bug which is local. |
| 22:42 | <jgraham> | The documentation claims that hg update -C -r works |
| 22:42 | <gsnedders> | Bullshit. |
| 22:42 | <gsnedders> | gsnedders@vanveen:~/Documents/my-projects/OSS/html5lib/python/html5lib/tests$ hg up -C -r e46af3a0f549 |
| 22:42 | <gsnedders> | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
| 22:43 | <gsnedders> | gsnedders@vanveen:~/Documents/my-projects/OSS/html5lib/python/html5lib/tests$ hg log --limit 1 |
| 22:43 | <gsnedders> | changeset: 1738:82a5ce2a85a4 |
| 22:44 | <gsnedders> | http://www.markhneedham.com/blog/2010/04/15/hg-reverting-committed-changes/ claims I have to clone the whole repo to do it. |
| 22:44 | <gsnedders> | Wow. |
| 22:45 | <gsnedders> | Okay, so now I've spent the past twenty minutes trying to push fixes that you managed to push because I was fighting hg, onwards! |
| 22:45 | <jgraham> | You really don't *need* to |
| 22:47 | <jgraham> | Rule 1 of the internet is "don't believe blogs that are written by people who don't understand what they are doing and mainly sourced from 'facts' cobbled together on twitter" |
| 22:48 | <gsnedders> | Well, it was the best documentation I could find! |
| 22:48 | <jgraham> | Even the first comment is better documentation than the post! |
| 22:50 | <jgraham> | http://stackoverflow.com/questions/5833616/mercurial-getting-out-of-a-bad-merge |
| 22:50 | <gsnedders> | And how do I run nose under Python 3? |
| 22:50 | <gsnedders> | Unless I have two separate html5lib clones running in different virtualenvs… |
| 22:52 | <gsnedders> | Just, wow. nose is *really* simplifying stuff. |
| 22:53 | <jgraham> | Huh? |
| 22:54 | <AryehGregor> | jgraham, gsnedders, zcorpan: yeah, what we ideally want is something that parses a WebIDL block and generates a whole bunch of tests. But some things will still need to be tested manually, e.g., argument type conversion -- there's no way in general to figure out whether the arguments were converted correctly, or whether it's even safe to call the function with those arguments in the first place. |
| 22:54 | <jgraham> | Well yeah I guess any use of python 3 will require a different interpreter + set of libs |
| 22:54 | <AryehGregor> | Still, we could do a whole lot based on the IDL block. |
| 22:54 | <JonathanNeal> | What do you think if i use data-* attributes in places where I used to use class=. These data- attribute names have more semantic meaning to the document than just presentation. eg <table data-meta> for tabular data that serves as the meta or abstract of the document. |
| 22:55 | <jgraham> | AryehGregor: Sounds like I have a project :) |
| 22:55 | jgraham | will now sleep |
| 22:56 | <gsnedders> | jgraham: There's no simple way to get tests running under Python 3 and Python 2 without a lot of work using Nose. |
| 22:56 | <gsnedders> | Without nose it was trivial. |
| 23:10 | <gsnedders> | I'm confused as to what has happened to history as a result of that merge. |
| 23:10 | <gsnedders> | Like, it looked fine locally, but now I'm just confused. |
| 23:12 | <Philip`> | Try "hg view" to visualise the repository, maybe? |
| 23:14 | timeless | isn't familiar w/ hg view |
| 23:15 | <Philip`> | If you're familiar with gitk, it's that |
| 23:15 | <gsnedders> | That makes it look a heckuva lot cleaner than Google Code does. |
| 23:16 | timeless | tends to use hg glog |