On 16 July 2010 02:14, Thomas Broyer <t.bro...@gmail.com> wrote: > On 16 juil, 06:26, Aditya <007aditya.b...@gmail.com> wrote: >> Can anyone has answer why is onEnsureDebugId() is used...? >> how does it helps while creating custom widgets. > > The whole notion of "debug ID" is only useful if you do run selenium > or webdriver (or similar) tests, and you therefore need widgets to > have an ID, and moreover a *stable* ID. But you generally don't want > that ID to be generated when deploying for production use. > So you'll call ensureDebugId in your code, which in turn will call the > onEnsureDebugId of the widget, but only if you <inherit > name='com.google.gwt.user.Debug' />, otherwise it's a no-op. > Widgets can then override onEnsureDebugId to set an ID not only to > their "root element" but also to child elements. See for instance how > CheckBox overrides onEnsureDebugId to set an ID on the checkbox and > label (remember, CheckBox is a <span> with a <input type=checkbox> and > <label> children). > Calling ensureDebugId("foo") on some CheckBox widget will set an > id="gwt-debug-foo" on the <span>, id="gwt-debug-foo-label" on the > <label> and id="gwt-debug-foo-input" on the <input type=checkbox>. > That way you can write selenium/webdriver/whatever tests that will > generate, say, click events on the document.getElementById("gwt-debug- > foo-input") (i.e. the <input type=checkbox> of your CheckBox widget)
I just found out about ensureDebugId precisely because I want to use Selenium to test our GWT app. I don't clearly understand why this is a debug only thing. What is the reason you don't want this in production? Is it simply because all those ids take up a lot of space? The consequence of only having a debug id is that I need to have two versions of the app, a production version and a test version. I can do that but I'd like to be clear on why the extra effort is worth it. :-) -- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.