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 |