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