diff options
author | Richard Worth <rdworth@gmail.com> | 2009-01-09 11:47:42 +0000 |
---|---|---|
committer | Richard Worth <rdworth@gmail.com> | 2009-01-09 11:47:42 +0000 |
commit | 3bec130f7bbcd97311bb7dd8c78dbc14c8987b19 (patch) | |
tree | 353f7c7fa6da35a073c4c7d6bd874a782be6c4fe /tests | |
parent | 3df7e99cb46c56d1e813c4d6b8137dcad8ff3a76 (diff) | |
download | jquery-ui-3bec130f7bbcd97311bb7dd8c78dbc14c8987b19.tar.gz jquery-ui-3bec130f7bbcd97311bb7dd8c78dbc14c8987b19.zip |
set eol-style to native
Diffstat (limited to 'tests')
-rw-r--r-- | tests/unit/all/all.html | 450 | ||||
-rw-r--r-- | tests/unit/all/all_2.html | 162 | ||||
-rw-r--r-- | tests/unit/dialog/dialog.html | 52 | ||||
-rw-r--r-- | tests/unit/dialog/dialog.js | 1446 |
4 files changed, 1055 insertions, 1055 deletions
diff --git a/tests/unit/all/all.html b/tests/unit/all/all.html index 358cc3e52..7265597bf 100644 --- a/tests/unit/all/all.html +++ b/tests/unit/all/all.html @@ -1,226 +1,226 @@ -<!doctype html>
-<html lang="en">
-<head>
- <title>jQuery UI All Tests</title>
- <link rel="stylesheet" href="../testsuite.css" type="text/css">
-
- <script type="text/javascript" src="../../../jquery-1.3pre.js"></script>
- <script type="text/javascript" src="../../../ui/ui.core.js"></script>
- <script type="text/javascript" src="../../../ui/ui.accordion.js"></script>
- <script type="text/javascript" src="../../../ui/ui.datepicker.js"></script>
- <script type="text/javascript" src="../../../ui/ui.dialog.js"></script>
- <script type="text/javascript" src="../../../ui/ui.draggable.js"></script>
- <script type="text/javascript" src="../../../ui/ui.droppable.js"></script>
- <script type="text/javascript" src="../../../ui/ui.progressbar.js"></script>
- <script type="text/javascript" src="../../../ui/ui.resizable.js"></script>
- <script type="text/javascript" src="../../../ui/ui.selectable.js"></script>
- <script type="text/javascript" src="../../../ui/ui.slider.js"></script>
- <script type="text/javascript" src="../../../ui/ui.sortable.js"></script>
- <script type="text/javascript" src="../../../ui/ui.tabs.js"></script>
-
- <script type="text/javascript" src="../../../external/qunit/testrunner.js"></script>
- <script type="text/javascript" src="../../../external/simulate/jquery.simulate.js"></script>
- <script type="text/javascript" src="../../../external/cookie/jquery.cookie.js"></script>
-
- <script type="text/javascript" src="../accordion/accordion.js"></script>
- <script type="text/javascript" src="../datepicker/datepicker.js"></script>
- <script type="text/javascript" src="../dialog/dialog.js"></script>
- <script type="text/javascript" src="../draggable/draggable.js"></script>
- <script type="text/javascript" src="../droppable/droppable.js"></script>
- <script type="text/javascript" src="../progressbar/progressbar.js"></script>
- <script type="text/javascript" src="../resizable/resizable.js"></script>
- <script type="text/javascript" src="../selectable/selectable.js"></script>
- <script type="text/javascript" src="../slider/slider.js"></script>
- <script type="text/javascript" src="../sortable/sortable.js"></script>
- <script type="text/javascript" src="../tabs/tabs.js"></script>
-
- <style type="text/css">
- @import "../../../themes/base/ui.datepicker.css";
- .xerror, .error, .ui-tabs-hide {
- display: none;
- }
- </style>
-
-</head>
-<body>
- <h1>jQuery UI All Tests</h1>
- <h2 id="banner"></h2>
- <h2 id="userAgent"></h2>
-
- <h4>Run individual testsuites or doubleclick a test below</h4>
- <ul>
- <li><a href="accordion.html">Accordion</a></li>
- <li><a href="datepicker.html">Datepicker</a></li>
- <li><a href="dialog.html">Dialog</a></li>
- <li><a href="draggable.html">Draggable</a></li>
- <li><a href="resizable.html">Resizable</a></li>
- <li><a href="selectable.html">Selectable</a></li>
- <li><a href="slider.html">Slider</a></li>
- <li><a href="sortable.html">Sortable</a></li>
- <li><a href="tabs.html">Tabs</a></li>
- </ul>
-
- <ol id="tests"></ol>
-
- <div id="main" style="position:absolute;top:-2000000px;">
-
- <p><input type="text" id="dp1"/><input type="text" id="rem"/></p>
-
- <div id="draggable1" style="background: green; width: 200px; height: 100px;">Relative</div>
- <div id="draggable2" style="background: green; width: 200px; height: 100px; position: absolute; top: 10px; left: 10px;"><span>Absolute</span></div>
-
- <div id="slider1"></div>
- <div id="slider3" style="position: relative; margin: 40px; width: 217px; height: 28px;">
- <div class="ui-slider-handle" style="position: absolute; height: 21px; left: 0px; bottom: 0px; width: 17px;"></div>
- </div>
-
- <div id="list1">
- <a>There is one obvious advantage:</a>
- <div>
- <p>
- You've seen it coming!<br/>
- Buy now and get nothing for free!<br/>
- Well, at least no free beer. Perhaps a bear, if you can afford it.
- </p>
- </div>
- <a>Now that you've got...</a>
- <div>
- <p>
- your bear, you have to admit it!<br/>
- No, we aren't selling bears.
- </p>
- <p>
- We could talk about renting one.
- </p>
- </div>
- <a>Rent one bear, ...</a>
- <div>
- <p>
- get two for three beer.
- </p>
- <p>
- And now, for something completely different.
- </p>
- </div>
- </div>
-
- <ul id="navigation">
- <li>
- <a class="head" href="?p=1.1.1">Guitar</a>
- <ul>
- <li><a href="?p=1.1.1.1">Electric</a></li>
- <li><a href="?p=1.1.1.2">Acoustic</a></li>
- <li><a href="?p=1.1.1.3">Amps</a></li>
- <li><a href="?p=1.1.1.4">Effects</a></li>
- <li><a href="?p=1.1.1.5">Accessories</a></li>
- </ul>
- </li>
- <li>
- <a class="head" href="?p=1.1.2"><span>Bass</span></a>
- <ul>
- <li><a href="?p=1.1.2.1">Electric</a></li>
- <li><a href="?p=1.1.2.2">Acoustic</a></li>
- <li><a href="?p=1.1.2.3">Amps</a></li>
- <li><a href="?p=1.1.2.4">Effects</a></li>
- <li><a href="?p=1.1.2.5">Accessories</a></li>
- <li><a href="?p=1.1.2.5">Accessories</a></li>
- <li><a href="?p=1.1.2.5">Accessories</a></li>
- </ul>
- </li>
- <li>
- <a class="head" href="?p=1.1.3">Drums</a>
- <ul>
- <li><a href="?p=1.1.3.2">Acoustic Drums</a></li>
- <li><a href="?p=1.1.3.3">Electronic Drums</a></li>
- <li><a href="?p=1.1.3.6">Accessories</a></li>
- </ul>
- </li>
- </ul>
- <dl id="list2">
- <dt class="red">Red</dt>
- <dd>
- Fancy stuff about red thingies.
- </dd>
- <dt class="green selected">Green</dt>
- <dd>
- Green! Green! Green!
- </dd>
- <dt class="blue">Blue</dt>
- <dd>
- Cool kids are blue.
- </dd>
- </dl>
-
- <div id="list3">
- <div>
- <div class="title">Tennis</div>
- <div>
- One ball, two players. Lots of fun.
- </div>
- </div>
- <div>
- <div class="title">Soccer</div>
- <div>
- One ball, 22 players. Lots of fun.
- </div>
- </div>
- <div>
- <div class="title">Baseball</div>
- <div>
- Well, one ball, some guys running around, some guys hitting others with a stick.<br/>
- Sounds like fun, doesn't it?
- </div>
- <div>
- Well, apart from the running part.
- </div>
- </div>
- </div>
-
- <div id="resizable1" style="background: green; width: 100px; height: 100px;">I'm a resizable.</div>
- <img src="images/test.jpg" id="resizable2" style="width: 100px; height: 100px;"/>
-
-
- <ul id="selectable1">
- <li>Item 1</li>
- <li>Item 2</li>
- <li class="special">Item 3</li>
- <li>Item 4</li>
- <li>Item 5</li>
- </ul>
-
- <ul id="sortable">
- <li>Item 1</li>
- <li>Item 2</li>
- <li>Item 3</li>
- <li>Item 4</li>
- <li>Item 5</li>
- </ul>
-
- <p><input type="text" id="inp"/><input type="text" id="alt"/><div id="inl"></div></p>
-
- <input type="text" id="spin" />
-
- <div id="progressbar"></div>
-
- <div id="tabs1">
- <ul>
- <li><a href="#fragment-1">1</a></li>
- <li><a href="#fragment-2">2</a></li>
- <li><a href="#fragment-3">3</a></li>
- </ul>
- <div id="fragment-1"></div>
- <div id="fragment-2"></div>
- <div id="fragment-3"></div>
- </div>
- <div id="tabs2">
- <ul>
- <li><a href="#colon:test">1</a></li>
- <li><a href="#inline-style">2</a></li>
- </ul>
- <div id="colon:test"></div>
- <div style="height: 300px;" id="inline-style"></div>
- </div>
-
-</div>
- </body>
+<!doctype html> +<html lang="en"> +<head> + <title>jQuery UI All Tests</title> + <link rel="stylesheet" href="../testsuite.css" type="text/css"> + + <script type="text/javascript" src="../../../jquery-1.3pre.js"></script> + <script type="text/javascript" src="../../../ui/ui.core.js"></script> + <script type="text/javascript" src="../../../ui/ui.accordion.js"></script> + <script type="text/javascript" src="../../../ui/ui.datepicker.js"></script> + <script type="text/javascript" src="../../../ui/ui.dialog.js"></script> + <script type="text/javascript" src="../../../ui/ui.draggable.js"></script> + <script type="text/javascript" src="../../../ui/ui.droppable.js"></script> + <script type="text/javascript" src="../../../ui/ui.progressbar.js"></script> + <script type="text/javascript" src="../../../ui/ui.resizable.js"></script> + <script type="text/javascript" src="../../../ui/ui.selectable.js"></script> + <script type="text/javascript" src="../../../ui/ui.slider.js"></script> + <script type="text/javascript" src="../../../ui/ui.sortable.js"></script> + <script type="text/javascript" src="../../../ui/ui.tabs.js"></script> + + <script type="text/javascript" src="../../../external/qunit/testrunner.js"></script> + <script type="text/javascript" src="../../../external/simulate/jquery.simulate.js"></script> + <script type="text/javascript" src="../../../external/cookie/jquery.cookie.js"></script> + + <script type="text/javascript" src="../accordion/accordion.js"></script> + <script type="text/javascript" src="../datepicker/datepicker.js"></script> + <script type="text/javascript" src="../dialog/dialog.js"></script> + <script type="text/javascript" src="../draggable/draggable.js"></script> + <script type="text/javascript" src="../droppable/droppable.js"></script> + <script type="text/javascript" src="../progressbar/progressbar.js"></script> + <script type="text/javascript" src="../resizable/resizable.js"></script> + <script type="text/javascript" src="../selectable/selectable.js"></script> + <script type="text/javascript" src="../slider/slider.js"></script> + <script type="text/javascript" src="../sortable/sortable.js"></script> + <script type="text/javascript" src="../tabs/tabs.js"></script> + + <style type="text/css"> + @import "../../../themes/base/ui.datepicker.css"; + .xerror, .error, .ui-tabs-hide { + display: none; + } + </style> + +</head> +<body> + <h1>jQuery UI All Tests</h1> + <h2 id="banner"></h2> + <h2 id="userAgent"></h2> + + <h4>Run individual testsuites or doubleclick a test below</h4> + <ul> + <li><a href="accordion.html">Accordion</a></li> + <li><a href="datepicker.html">Datepicker</a></li> + <li><a href="dialog.html">Dialog</a></li> + <li><a href="draggable.html">Draggable</a></li> + <li><a href="resizable.html">Resizable</a></li> + <li><a href="selectable.html">Selectable</a></li> + <li><a href="slider.html">Slider</a></li> + <li><a href="sortable.html">Sortable</a></li> + <li><a href="tabs.html">Tabs</a></li> + </ul> + + <ol id="tests"></ol> + + <div id="main" style="position:absolute;top:-2000000px;"> + + <p><input type="text" id="dp1"/><input type="text" id="rem"/></p> + + <div id="draggable1" style="background: green; width: 200px; height: 100px;">Relative</div> + <div id="draggable2" style="background: green; width: 200px; height: 100px; position: absolute; top: 10px; left: 10px;"><span>Absolute</span></div> + + <div id="slider1"></div> + <div id="slider3" style="position: relative; margin: 40px; width: 217px; height: 28px;"> + <div class="ui-slider-handle" style="position: absolute; height: 21px; left: 0px; bottom: 0px; width: 17px;"></div> + </div> + + <div id="list1"> + <a>There is one obvious advantage:</a> + <div> + <p> + You've seen it coming!<br/> + Buy now and get nothing for free!<br/> + Well, at least no free beer. Perhaps a bear, if you can afford it. + </p> + </div> + <a>Now that you've got...</a> + <div> + <p> + your bear, you have to admit it!<br/> + No, we aren't selling bears. + </p> + <p> + We could talk about renting one. + </p> + </div> + <a>Rent one bear, ...</a> + <div> + <p> + get two for three beer. + </p> + <p> + And now, for something completely different. + </p> + </div> + </div> + + <ul id="navigation"> + <li> + <a class="head" href="?p=1.1.1">Guitar</a> + <ul> + <li><a href="?p=1.1.1.1">Electric</a></li> + <li><a href="?p=1.1.1.2">Acoustic</a></li> + <li><a href="?p=1.1.1.3">Amps</a></li> + <li><a href="?p=1.1.1.4">Effects</a></li> + <li><a href="?p=1.1.1.5">Accessories</a></li> + </ul> + </li> + <li> + <a class="head" href="?p=1.1.2"><span>Bass</span></a> + <ul> + <li><a href="?p=1.1.2.1">Electric</a></li> + <li><a href="?p=1.1.2.2">Acoustic</a></li> + <li><a href="?p=1.1.2.3">Amps</a></li> + <li><a href="?p=1.1.2.4">Effects</a></li> + <li><a href="?p=1.1.2.5">Accessories</a></li> + <li><a href="?p=1.1.2.5">Accessories</a></li> + <li><a href="?p=1.1.2.5">Accessories</a></li> + </ul> + </li> + <li> + <a class="head" href="?p=1.1.3">Drums</a> + <ul> + <li><a href="?p=1.1.3.2">Acoustic Drums</a></li> + <li><a href="?p=1.1.3.3">Electronic Drums</a></li> + <li><a href="?p=1.1.3.6">Accessories</a></li> + </ul> + </li> + </ul> + <dl id="list2"> + <dt class="red">Red</dt> + <dd> + Fancy stuff about red thingies. + </dd> + <dt class="green selected">Green</dt> + <dd> + Green! Green! Green! + </dd> + <dt class="blue">Blue</dt> + <dd> + Cool kids are blue. + </dd> + </dl> + + <div id="list3"> + <div> + <div class="title">Tennis</div> + <div> + One ball, two players. Lots of fun. + </div> + </div> + <div> + <div class="title">Soccer</div> + <div> + One ball, 22 players. Lots of fun. + </div> + </div> + <div> + <div class="title">Baseball</div> + <div> + Well, one ball, some guys running around, some guys hitting others with a stick.<br/> + Sounds like fun, doesn't it? + </div> + <div> + Well, apart from the running part. + </div> + </div> + </div> + + <div id="resizable1" style="background: green; width: 100px; height: 100px;">I'm a resizable.</div> + <img src="images/test.jpg" id="resizable2" style="width: 100px; height: 100px;"/> + + + <ul id="selectable1"> + <li>Item 1</li> + <li>Item 2</li> + <li class="special">Item 3</li> + <li>Item 4</li> + <li>Item 5</li> + </ul> + + <ul id="sortable"> + <li>Item 1</li> + <li>Item 2</li> + <li>Item 3</li> + <li>Item 4</li> + <li>Item 5</li> + </ul> + + <p><input type="text" id="inp"/><input type="text" id="alt"/><div id="inl"></div></p> + + <input type="text" id="spin" /> + + <div id="progressbar"></div> + + <div id="tabs1"> + <ul> + <li><a href="#fragment-1">1</a></li> + <li><a href="#fragment-2">2</a></li> + <li><a href="#fragment-3">3</a></li> + </ul> + <div id="fragment-1"></div> + <div id="fragment-2"></div> + <div id="fragment-3"></div> + </div> + <div id="tabs2"> + <ul> + <li><a href="#colon:test">1</a></li> + <li><a href="#inline-style">2</a></li> + </ul> + <div id="colon:test"></div> + <div style="height: 300px;" id="inline-style"></div> + </div> + +</div> + </body> </html>
\ No newline at end of file diff --git a/tests/unit/all/all_2.html b/tests/unit/all/all_2.html index 0645acb83..0dd70fd34 100644 --- a/tests/unit/all/all_2.html +++ b/tests/unit/all/all_2.html @@ -1,82 +1,82 @@ -<!doctype html>
-<html lang="en">
-<head>
- <title>jQuery UI All Tests</title>
- <link rel="stylesheet" href="../testsuite.css" type="text/css">
-
- <script type="text/javascript" src="../../../jquery-1.3pre.js"></script>
- <script type="text/javascript" src="../../../ui/ui.core.js"></script>
-
- <script type="text/javascript">
- var components = ["accordion","datepicker","dialog","draggable","progressbar","resizable","selectable","slider","sortable","tabs"];
-
- $(function() {
-
- var $list = $("#individual_list"),
- $main = $("#main");
-
- $.each(components, function(i, val){
- $list.append('<li><a href="../' + val + '/' + val + '.html">' + val + '</a></li>');
- $('<div class="component_panel" id="' + val + '">').appendTo($main);
- $('#' + val).load(val + '.html #main *');
- });
-
- loadScripts();
-
- function loadScripts() {
- if ( $("div.component_panel").length == components.length ) {
- $.each(components, function(i, val){
- $('head').append('<script type="text/javascript" src="' + val + '.js"></scr'+'ipt>');
- });
- } else {
- setTimeout(loadScripts, 10);
- }
- }
-
-
- });
-
-
- </script>
-
- <script type="text/javascript" src="../../../ui/ui.accordion.js"></script>
- <script type="text/javascript" src="../../../ui/ui.datepicker.js"></script>
- <script type="text/javascript" src="../../../ui/ui.dialog.js"></script>
- <script type="text/javascript" src="../../../ui/ui.draggable.js"></script>
- <script type="text/javascript" src="../../../ui/ui.droppable.js"></script>
- <script type="text/javascript" src="../../../ui/ui.progressbar.js"></script>
- <script type="text/javascript" src="../../../ui/ui.resizable.js"></script>
- <script type="text/javascript" src="../../../ui/ui.selectable.js"></script>
- <script type="text/javascript" src="../../../ui/ui.slider.js"></script>
- <script type="text/javascript" src="../../../ui/ui.sortable.js"></script>
- <script type="text/javascript" src="../../../ui/ui.tabs.js"></script>
-
- <script type="text/javascript" src="../../../external/qunit/testrunner.js"></script>
- <script type="text/javascript" src="../../../external/simulate/jquery.simulate.js"></script>
- <script type="text/javascript" src="../../../cookie/jquery.cookie.js"></script>
-
- <style type="text/css">
- @import "../../../themes/base/ui.datepicker.css";
- .xerror, .error, .ui-tabs-hide {
- display: none;
- }
- </style>
-
-</head>
-<body>
- <h1>jQuery UI All Tests</h1>
- <h2 id="banner"></h2>
- <h2 id="userAgent"></h2>
-
- <h4>Run individual testsuites or doubleclick a test below</h4>
- <ul id="individual_list">
- </ul>
-
- <ol id="tests"></ol>
-
- <div id="main" style="position:absolute; top:-2000000px;">
-
- </div>
-
- </body>
+<!doctype html> +<html lang="en"> +<head> + <title>jQuery UI All Tests</title> + <link rel="stylesheet" href="../testsuite.css" type="text/css"> + + <script type="text/javascript" src="../../../jquery-1.3pre.js"></script> + <script type="text/javascript" src="../../../ui/ui.core.js"></script> + + <script type="text/javascript"> + var components = ["accordion","datepicker","dialog","draggable","progressbar","resizable","selectable","slider","sortable","tabs"]; + + $(function() { + + var $list = $("#individual_list"), + $main = $("#main"); + + $.each(components, function(i, val){ + $list.append('<li><a href="../' + val + '/' + val + '.html">' + val + '</a></li>'); + $('<div class="component_panel" id="' + val + '">').appendTo($main); + $('#' + val).load(val + '.html #main *'); + }); + + loadScripts(); + + function loadScripts() { + if ( $("div.component_panel").length == components.length ) { + $.each(components, function(i, val){ + $('head').append('<script type="text/javascript" src="' + val + '.js"></scr'+'ipt>'); + }); + } else { + setTimeout(loadScripts, 10); + } + } + + + }); + + + </script> + + <script type="text/javascript" src="../../../ui/ui.accordion.js"></script> + <script type="text/javascript" src="../../../ui/ui.datepicker.js"></script> + <script type="text/javascript" src="../../../ui/ui.dialog.js"></script> + <script type="text/javascript" src="../../../ui/ui.draggable.js"></script> + <script type="text/javascript" src="../../../ui/ui.droppable.js"></script> + <script type="text/javascript" src="../../../ui/ui.progressbar.js"></script> + <script type="text/javascript" src="../../../ui/ui.resizable.js"></script> + <script type="text/javascript" src="../../../ui/ui.selectable.js"></script> + <script type="text/javascript" src="../../../ui/ui.slider.js"></script> + <script type="text/javascript" src="../../../ui/ui.sortable.js"></script> + <script type="text/javascript" src="../../../ui/ui.tabs.js"></script> + + <script type="text/javascript" src="../../../external/qunit/testrunner.js"></script> + <script type="text/javascript" src="../../../external/simulate/jquery.simulate.js"></script> + <script type="text/javascript" src="../../../cookie/jquery.cookie.js"></script> + + <style type="text/css"> + @import "../../../themes/base/ui.datepicker.css"; + .xerror, .error, .ui-tabs-hide { + display: none; + } + </style> + +</head> +<body> + <h1>jQuery UI All Tests</h1> + <h2 id="banner"></h2> + <h2 id="userAgent"></h2> + + <h4>Run individual testsuites or doubleclick a test below</h4> + <ul id="individual_list"> + </ul> + + <ol id="tests"></ol> + + <div id="main" style="position:absolute; top:-2000000px;"> + + </div> + + </body> </html>
\ No newline at end of file diff --git a/tests/unit/dialog/dialog.html b/tests/unit/dialog/dialog.html index 184430ec7..322221aa1 100644 --- a/tests/unit/dialog/dialog.html +++ b/tests/unit/dialog/dialog.html @@ -1,26 +1,26 @@ -<!doctype html>
-<html lang="en">
-<head>
- <title>jQuery UI Dialog Test Suite</title>
-
- <script type="text/javascript" src="../../../jquery-1.3pre.js"></script>
- <script type="text/javascript" src="../../../ui/ui.core.js"></script>
- <script type="text/javascript" src="../../../ui/ui.dialog.js"></script>
- <script type="text/javascript" src="../../../ui/ui.draggable.js"></script>
- <script type="text/javascript" src="../../../ui/ui.resizable.js"></script>
-
- <link type="text/css" href="../testsuite.css" rel="stylesheet" />
- <script type="text/javascript" src="../testsuite.js"></script>
- <script type="text/javascript" src="../../../external/qunit/testrunner.js"></script>
- <script type="text/javascript" src="../../../external/simulate/jquery.simulate.js"></script>
-
- <script type="text/javascript" src="dialog.js"></script>
-</head>
-<body>
-
-<div id="main">
- <div id="dialog1">Dialog Content</div>
-</div>
-
-</body>
-</html>
+<!doctype html> +<html lang="en"> +<head> + <title>jQuery UI Dialog Test Suite</title> + + <script type="text/javascript" src="../../../jquery-1.3pre.js"></script> + <script type="text/javascript" src="../../../ui/ui.core.js"></script> + <script type="text/javascript" src="../../../ui/ui.dialog.js"></script> + <script type="text/javascript" src="../../../ui/ui.draggable.js"></script> + <script type="text/javascript" src="../../../ui/ui.resizable.js"></script> + + <link type="text/css" href="../testsuite.css" rel="stylesheet" /> + <script type="text/javascript" src="../testsuite.js"></script> + <script type="text/javascript" src="../../../external/qunit/testrunner.js"></script> + <script type="text/javascript" src="../../../external/simulate/jquery.simulate.js"></script> + + <script type="text/javascript" src="dialog.js"></script> +</head> +<body> + +<div id="main"> + <div id="dialog1">Dialog Content</div> +</div> + +</body> +</html> diff --git a/tests/unit/dialog/dialog.js b/tests/unit/dialog/dialog.js index ff537174b..25f8b63e9 100644 --- a/tests/unit/dialog/dialog.js +++ b/tests/unit/dialog/dialog.js @@ -1,723 +1,723 @@ -/*
- * dialog unit tests
- */
-(function($) {
-//
-// Dialog Test Helper Functions
-//
-
-var defaults = {
- autoOpen: true,
- buttons: {},
- closeOnEscape: true,
- closeText: 'close',
- disabled: false,
- dialogClass: undefined,
- draggable: true,
- height: 'auto',
- maxHeight: undefined,
- maxWidth: undefined,
- minHeight: 150,
- minWidth: 150,
- modal: false,
- overlay: {},
- position: 'center',
- resizable: true,
- stack: true,
- title: '',
- width: 300
-};
-
-var el,
- offsetBefore, offsetAfter,
- heightBefore, heightAfter,
- widthBefore, widthAfter,
- dragged;
-
-function dlg() {
- return el.data("dialog").element.parents(".ui-dialog:first");
-}
-
-function isOpen(why) {
- ok(dlg().is(":visible"), why);
-}
-
-function isNotOpen(why) {
- ok(!dlg().is(":visible"), why);
-}
-
-function drag(handle, dx, dy) {
- var d = dlg();
- offsetBefore = d.offset();
- heightBefore = d.height();
- widthBefore = d.width();
- //this mouseover is to work around a limitation in resizable
- //TODO: fix resizable so handle doesn't require mouseover in order to be used
- $(handle, d).simulate("mouseover");
- $(handle, d).simulate("drag", {
- dx: dx || 0,
- dy: dy || 0
- });
- dragged = { dx: dx, dy: dy };
- offsetAfter = d.offset();
- heightAfter = d.height();
- widthAfter = d.width();
-}
-
-function moved(dx, dy, msg) {
- msg = msg ? msg + "." : "";
- var actual = { left: offsetAfter.left, top: offsetAfter.top };
- var expected = { left: offsetBefore.left + dx, top: offsetBefore.top + dy };
- same(actual, expected, 'dragged[' + dragged.dx + ', ' + dragged.dy + '] ' + msg);
-}
-
-function shouldmove(why) {
- var handle = $(".ui-dialog-titlebar", dlg());
- drag(handle, 50, 50);
- moved(50, 50, why);
-}
-
-function shouldnotmove(why) {
- var handle = $(".ui-dialog-titlebar", dlg());
- drag(handle, 50, 50);
- moved(0, 0, why);
-}
-
-function resized(dw, dh, msg) {
- msg = msg ? msg + "." : "";
- var actual = { width: widthAfter, height: heightAfter };
- var expected = { width: widthBefore + dw, height: heightBefore + dh };
- same(actual, expected, 'resized[' + dragged.dx + ', ' + dragged.dy + '] ' + msg);
-}
-
-function shouldresize(why) {
- var handle = $(".ui-resizable-se", dlg());
- drag(handle, 50, 50);
- resized(50, 50, why);
-}
-
-function shouldnotresize(why) {
- var handle = $(".ui-resizable-se", dlg());
- drag(handle, 50, 50);
- resized(0, 0, why);
-}
-
-function broder(el, side){
- return parseInt(el.css('border-' + side + '-width'), 10);
-}
-
-function margin(el, side) {
- return parseInt(el.css('margin-' + side), 10);
-}
-
-// Dialog Tests
-module("dialog");
-
-test("init", function() {
- expect(7);
-
- $("<div></div>").appendTo('body').dialog().remove();
- ok(true, '.dialog() called on element');
-
- $([]).dialog().remove();
- ok(true, '.dialog() called on empty collection');
-
- $('<div></div>').dialog().remove();
- ok(true, '.dialog() called on disconnected DOMElement - never connected');
-
- $('<div></div>').appendTo('body').remove().dialog().remove();
- ok(true, '.dialog() called on disconnected DOMElement - removed');
-
- $('<div></div>').dialog().dialog("foo").remove();
- ok(true, 'arbitrary method called after init');
-
- el = $('<div></div>').dialog();
- var foo = el.data("foo.dialog");
- el.remove();
- ok(true, 'arbitrary option getter after init');
-
- $('<div></div>').dialog().data("foo.dialog", "bar").remove();
- ok(true, 'arbitrary option setter after init');
-});
-
-test("destroy", function() {
- expect(6);
-
- $("<div></div>").appendTo('body').dialog().dialog("destroy").remove();
- ok(true, '.dialog("destroy") called on element');
-
- $([]).dialog().dialog("destroy").remove();
- ok(true, '.dialog("destroy") called on empty collection');
-
- $('<div></div>').dialog().dialog("destroy").remove();
- ok(true, '.dialog("destroy") called on disconnected DOMElement');
-
- $('<div></div>').dialog().dialog("destroy").dialog("foo").remove();
- ok(true, 'arbitrary method called after destroy');
-
- el = $('<div></div>').dialog();
- var foo = el.dialog("destroy").data("foo.dialog");
- el.remove();
- ok(true, 'arbitrary option getter after destroy');
-
- $('<div></div>').dialog().dialog("destroy").data("foo.dialog", "bar").remove();
- ok(true, 'arbitrary option setter after destroy');
-});
-
-/*
-//This one takes a while to run
-
-test("element types", function() {
- var typeNames = ('p,h1,h2,h3,h4,h5,h6,blockquote,ol,ul,dl,div,form'
- + ',table,fieldset,address,ins,del,em,strong,q,cite,dfn,abbr'
- + ',acronym,code,samp,kbd,var,img,object,hr'
- + ',input,button,label,select,iframe').split(',');
-
- $.each(typeNames, function(i) {
- var typeName = typeNames[i];
- el = $(document.createElement(typeName)).appendTo('body');
- (typeName == 'table' && el.append("<tr><td>content</td></tr>"));
- el.dialog();
- ok(true, '$("<' + typeName + '/>").dialog()');
- el.dialog("destroy");
- el.remove();
- });
-});
-
-*/
-
-test("defaults", function() {
- el = $('<div></div>').dialog();
- $.each(defaults, function(key, val) {
- var actual = el.data(key + ".dialog"), expected = val;
- same(actual, expected, key);
- });
- el.remove();
-});
-
-test("title id", function() {
- expect(3);
-
- var titleId;
-
- // reset the uuid so we know what values to expect
- $.ui.dialog.uuid = 0;
-
- el = $('<div></div>').dialog();
- titleId = dlg().find('.ui-dialog-title').attr('id');
- equals(titleId, 'ui-dialog-title-1', 'auto-numbered title id');
- el.remove();
-
- el = $('<div></div>').dialog();
- titleId = dlg().find('.ui-dialog-title').attr('id');
- equals(titleId, 'ui-dialog-title-2', 'auto-numbered title id');
- el.remove();
-
- el = $('<div id="foo"/>').dialog();
- titleId = dlg().find('.ui-dialog-title').attr('id');
- equals(titleId, 'ui-dialog-title-foo', 'carried over title id');
- el.remove();
-});
-
-test("ARIA", function() {
- expect(4);
-
- el = $('<div></div>').dialog();
-
- equals(dlg().attr('role'), 'dialog', 'dialog role');
-
- var labelledBy = dlg().attr('aria-labelledby');
- ok(labelledBy.length > 0, 'has aria-labelledby attribute');
- equals(dlg().find('.ui-dialog-title').attr('id'), labelledBy,
- 'proper aria-labelledby attribute');
-
- equals(dlg().find('.ui-dialog-titlebar-close').attr('role'), 'button',
- 'close link role');
-
- el.remove();
-});
-
-module("dialog: Options");
-
-test("autoOpen", function() {
- expect(2);
-
- el = $('<div></div>').dialog({ autoOpen: false });
- isNotOpen('.dialog({ autoOpen: false })');
- el.remove();
-
- el = $('<div></div>').dialog({ autoOpen: true });
- isOpen('.dialog({ autoOpen: true })');
- el.remove();
-});
-
-test("buttons", function() {
- expect(17);
-
- var buttons = {
- "Ok": function(ev, ui) {
- ok(true, "button click fires callback");
- equals(this, el[0], "context of callback");
- equals(ev.target, btn[0], "event target");
- },
- "Cancel": function(ev, ui) {
- ok(true, "button click fires callback");
- equals(this, el[0], "context of callback");
- equals(ev.target, btn[1], "event target");
- }
- };
-
- el = $('<div></div>').dialog({ buttons: buttons });
- var btn = $("button", dlg());
- equals(btn.length, 2, "number of buttons");
-
- var i = 0;
- $.each(buttons, function(key, val) {
- equals(btn.eq(i).text(), key, "text of button " + (i+1));
- i++;
- });
-
- ok(btn.parent().hasClass('ui-dialog-buttonpane'), "buttons in container");
- btn.trigger("click");
-
- var newButtons = {
- "Close": function(ev, ui) {
- ok(true, "button click fires callback");
- equals(this, el[0], "context of callback");
- equals(ev.target, btn[0], "event target");
- }
- };
-
- equals(el.data("buttons.dialog"), buttons, '.data("buttons.dialog") getter');
- el.data("buttons.dialog", newButtons);
- equals(el.data("buttons.dialog"), newButtons, '.data("buttons.dialog", ...) setter');
-
- btn = $("button", dlg());
- equals(btn.length, 1, "number of buttons after setter");
- btn.trigger('click');
-
- i = 0;
- $.each(newButtons, function(key, val) {
- equals(btn.eq(i).text(), key, "text of button " + (i+1));
- i += 1;
- });
-
- el.remove();
-});
-
-test("closeOnEscape", function() {
- ok(false, 'missing test');
-});
-
-test("closeText", function() {
- expect(3);
-
- el = $('<div></div>').dialog();
- equals(dlg().find('.ui-dialog-titlebar-close span').text(), 'close',
- 'default close text');
- el.remove();
-
- el = $('<div></div>').dialog({ closeText: "foo" });
- equals(dlg().find('.ui-dialog-titlebar-close span').text(), 'foo',
- 'closeText on init');
- el.remove();
-
- el = $('<div></div>').dialog().dialog('option', 'closeText', 'bar');
- equals(dlg().find('.ui-dialog-titlebar-close span').text(), 'bar',
- 'closeText via option method');
- el.remove();
-});
-
-test("dialogClass", function() {
- expect(4);
-
- el = $('<div></div>').dialog();
- equals(dlg().is(".foo"), false, 'dialogClass not specified. foo class added');
- el.remove();
-
- el = $('<div></div>').dialog({ dialogClass: "foo" });
- equals(dlg().is(".foo"), true, 'dialogClass in init. foo class added');
- el.remove();
-
- el = $('<div></div>').dialog({ dialogClass: "foo bar" });
- equals(dlg().is(".foo"), true, 'dialogClass in init, two classes. foo class added');
- equals(dlg().is(".bar"), true, 'dialogClass in init, two classes. bar class added');
- el.remove();
-});
-
-test("draggable", function() {
- expect(4);
-
- el = $('<div></div>').dialog({ draggable: false });
- shouldnotmove();
- el.data('draggable.dialog', true);
- shouldmove();
- el.remove();
-
- el = $('<div></div>').dialog({ draggable: true });
- shouldmove();
- el.data('draggable.dialog', false);
- shouldnotmove();
- el.remove();
-});
-
-test("height", function() {
- expect(3);
-
- el = $('<div></div>').dialog();
- equals(dlg().height(), defaults.minHeight, "default height");
- el.remove();
-
- el = $('<div></div>').dialog({ height: 437 });
- equals(dlg().height(), 437, "explicit height");
- el.remove();
-
- el = $('<div></div>').dialog();
- el.data('height.dialog', 438);
- equals(dlg().height(), 438, "explicit height set after init");
- el.remove();
-});
-
-test("maxHeight", function() {
- expect(3);
-
- el = $('<div></div>').dialog({ maxHeight: 400 });
- drag('.ui-resizable-s', 1000, 1000);
- equals(heightAfter, 400, "maxHeight");
- el.remove();
-
- el = $('<div></div>').dialog({ maxHeight: 400 });
- drag('.ui-resizable-n', -1000, -1000);
- equals(heightAfter, 400, "maxHeight");
- el.remove();
-
- el = $('<div></div>').dialog({ maxHeight: 400 }).data('maxHeight.dialog', 600);
- drag('.ui-resizable-n', -1000, -1000);
- equals(heightAfter, 600, "maxHeight");
- el.remove();
-});
-
-test("maxWidth", function() {
- expect(3);
-
- el = $('<div></div>').dialog({ maxWidth: 400 });
- drag('.ui-resizable-e', 1000, 1000);
- equals(widthAfter, 400, "maxWidth");
- el.remove();
-
- el = $('<div></div>').dialog({ maxWidth: 400 });
- drag('.ui-resizable-w', -1000, -1000);
- equals(widthAfter, 400, "maxWidth");
- el.remove();
-
- el = $('<div></div>').dialog({ maxWidth: 400 }).data('maxWidth.dialog', 600);
- drag('.ui-resizable-w', -1000, -1000);
- equals(widthAfter, 600, "maxWidth");
- el.remove();
-});
-
-test("minHeight", function() {
- expect(3);
-
- el = $('<div></div>').dialog({ minHeight: 10 });
- drag('.ui-resizable-s', -1000, -1000);
- equals(heightAfter, 10, "minHeight");
- el.remove();
-
- el = $('<div></div>').dialog({ minHeight: 10 });
- drag('.ui-resizable-n', 1000, 1000);
- equals(heightAfter, 10, "minHeight");
- el.remove();
-
- el = $('<div></div>').dialog({ minHeight: 10 }).data('minHeight.dialog', 30);
- drag('.ui-resizable-n', 1000, 1000);
- equals(heightAfter, 30, "minHeight");
- el.remove();
-});
-
-test("minWidth", function() {
- expect(3);
-
- el = $('<div></div>').dialog({ minWidth: 10 });
- drag('.ui-resizable-e', -1000, -1000);
- equals(widthAfter, 10, "minWidth");
- el.remove();
-
- el = $('<div></div>').dialog({ minWidth: 10 });
- drag('.ui-resizable-w', 1000, 1000);
- equals(widthAfter, 10, "minWidth");
- el.remove();
-
- el = $('<div></div>').dialog({ minWidth: 30 }).data('minWidth.dialog', 30);
- drag('.ui-resizable-w', 1000, 1000);
- equals(widthAfter, 30, "minWidth");
- el.remove();
-});
-
-test("modal", function() {
- ok(false, "missing test");
-});
-
-test("overlay", function() {
- ok(false, "missing test");
-});
-
-test("position", function() {
- ok(false, "missing test");
-});
-
-test("resizable", function() {
- expect(4);
-
- el = $('<div></div>').dialog();
- shouldresize("[default]");
- el.data('resizable.dialog', false);
- shouldnotresize('disabled after init');
- el.remove();
-
- el = $('<div></div>').dialog({ resizable: false });
- shouldnotresize("disabled in init options");
- el.data('resizable.dialog', true);
- shouldresize('enabled after init');
- el.remove();
-});
-
-test("stack", function() {
- ok(false, "missing test");
-});
-
-test("title", function() {
- expect(5);
-
- function titleText() {
- return dlg().find(".ui-dialog-title").html();
- }
-
- el = $('<div></div>').dialog();
- equals(titleText(), " ", "[default]");
- el.remove();
-
- el = $('<div title="foo"/>').dialog();
- equals(titleText(), "foo", "title in element attribute");
- el.remove();
-
- el = $('<div></div>').dialog({ title: 'foo' });
- equals(titleText(), "foo", "title in init options");
- el.remove();
-
- el = $('<div title="foo"/>').dialog({ title: 'bar' });
- equals(titleText(), "bar", "title in init options should override title in element attribute");
- el.remove();
-
- el = $('<div></div>').dialog().data('title.dialog', 'foo');
- equals(titleText(), 'foo', 'title after init');
- el.remove();
-});
-
-test("width", function() {
- expect(3);
-
- el = $('<div></div>').dialog();
- equals(dlg().width(), defaults.width, "default width");
- el.remove();
-
- el = $('<div></div>').dialog({width: 437 });
- equals(dlg().width(), 437, "explicit width");
- el.data('width.dialog', 438);
- equals(dlg().width(), 438, 'explicit width after init');
- el.remove();
-});
-
-module("dialog: Methods");
-
-test("isOpen", function() {
- expect(4);
-
- el = $('<div></div>').dialog();
- equals(el.dialog('isOpen'), true, "dialog is open after init");
- el.dialog('close');
- equals(el.dialog('isOpen'), false, "dialog is closed");
- el.remove();
-
- el = $('<div></div>').dialog({autoOpen: false});
- equals(el.dialog('isOpen'), false, "dialog is closed after init");
- el.dialog('open');
- equals(el.dialog('isOpen'), true, "dialog is open");
- el.remove();
-});
-
-module("dialog: Callbacks");
-
-test("open", function() {
- expect(6);
-
- el = $("<div></div>");
- el.dialog({
- open: function(ev, ui) {
- ok(true, 'autoOpen: true fires open callback');
- equals(this, el[0], "context of callback");
- }
- });
- el.remove();
-
- el = $("<div></div>");
- el.dialog({
- autoOpen: false,
- open: function(ev, ui) {
- ok(true, '.dialog("open") fires open callback');
- equals(this, el[0], "context of callback");
- }
- });
- el.dialog("open");
- el.remove();
-
- el = $('<div></div>').dialog({
- autoOpen: false
- });
- el.bind('dialogopen', function(ev, ui) {
- ok(true, 'dialog("open") fires open event');
- equals(this, el[0], 'context of event');
- });
- el.dialog('open');
- el.remove();
-});
-
-test("dragStart", function() {
- expect(2);
-
- el = $("<div></div>");
- el.dialog({
- dragStart: function(ev, ui) {
- ok(true, 'dragging fires dragStart callback');
- equals(this, el[0], "context of callback");
- }
- });
- var handle = $(".ui-dialog-titlebar", dlg());
- drag(handle, 50, 50);
- el.remove();
-});
-
-test("drag", function() {
- var fired = false;
-
- el = $("<div></div>");
- el.dialog({
- drag: function(ev, ui) {
- fired = true;
- equals(this, el[0], "context of callback");
- }
- });
- var handle = $(".ui-dialog-titlebar", dlg());
- drag(handle, 50, 50);
- ok(fired, "drag fired");
- el.remove();
-});
-
-test("dragStop", function() {
- expect(2);
-
- el = $("<div></div>");
- el.dialog({
- dragStop: function(ev, ui) {
- ok(true, 'dragging fires dragStop callback');
- equals(this, el[0], "context of callback");
- }
- });
- var handle = $(".ui-dialog-titlebar", dlg());
- drag(handle, 50, 50);
- el.remove();
-});
-
-test("resizeStart", function() {
- expect(2);
-
- el = $("<div></div>");
- el.dialog({
- resizeStart: function(ev, ui) {
- ok(true, 'resizing fires resizeStart callback');
- equals(this, el[0], "context of callback");
- }
- });
- var handle = $(".ui-resizable-se", dlg());
- drag(handle, 50, 50);
- el.remove();
-});
-
-test("resize", function() {
- var fired = false;
-
- el = $("<div></div>");
- el.dialog({
- resize: function(ev, ui) {
- fired = true;
- equals(this, el[0], "context of callback");
- }
- });
- var handle = $(".ui-resizable-se", dlg());
- drag(handle, 50, 50);
- ok(fired, "resize fired");
- el.remove();
-});
-
-test("resizeStop", function() {
- expect(2);
-
- el = $("<div></div>");
- el.dialog({
- resizeStop: function(ev, ui) {
- ok(true, 'resizing fires resizeStop callback');
- equals(this, el[0], "context of callback");
- }
- });
- var handle = $(".ui-resizable-se", dlg());
- drag(handle, 50, 50);
- el.remove();
-});
-
-test("close", function() {
- expect(4);
-
- el = $('<div></div>').dialog({
- close: function(ev, ui) {
- ok(true, '.dialog("close") fires close callback');
- equals(this, el[0], "context of callback");
- }
- });
- el.dialog("close");
- el.remove();
-
- el = $('<div></div>').dialog().bind('dialogclose', function(ev, ui) {
- ok(true, '.dialog("close") fires dialogclose event');
- equals(this, el[0], 'context of event');
- });
- el.dialog('close');
- el.remove();
-});
-
-test("beforeclose", function() {
- expect(6);
-
- el = $('<div></div>').dialog({
- beforeclose: function(ev, ui) {
- ok(true, '.dialog("close") fires beforeclose callback');
- equals(this, el[0], "context of callback");
- return false;
- }
- });
- el.dialog('close');
- isOpen('beforeclose callback should prevent dialog from closing');
- el.remove();
-
- el = $('<div></div>').dialog().bind('dialogbeforeclose', function(ev, ui) {
- ok(true, '.dialog("close") triggers dialogbeforeclose event');
- equals(this, el[0], "context of event");
- return false;
- });
- el.dialog('close');
- isOpen('dialogbeforeclose event should prevent dialog from closing');
- el.remove();
-});
-
-module("dialog: Tickets");
-
-})(jQuery);
+/* + * dialog unit tests + */ +(function($) { +// +// Dialog Test Helper Functions +// + +var defaults = { + autoOpen: true, + buttons: {}, + closeOnEscape: true, + closeText: 'close', + disabled: false, + dialogClass: undefined, + draggable: true, + height: 'auto', + maxHeight: undefined, + maxWidth: undefined, + minHeight: 150, + minWidth: 150, + modal: false, + overlay: {}, + position: 'center', + resizable: true, + stack: true, + title: '', + width: 300 +}; + +var el, + offsetBefore, offsetAfter, + heightBefore, heightAfter, + widthBefore, widthAfter, + dragged; + +function dlg() { + return el.data("dialog").element.parents(".ui-dialog:first"); +} + +function isOpen(why) { + ok(dlg().is(":visible"), why); +} + +function isNotOpen(why) { + ok(!dlg().is(":visible"), why); +} + +function drag(handle, dx, dy) { + var d = dlg(); + offsetBefore = d.offset(); + heightBefore = d.height(); + widthBefore = d.width(); + //this mouseover is to work around a limitation in resizable + //TODO: fix resizable so handle doesn't require mouseover in order to be used + $(handle, d).simulate("mouseover"); + $(handle, d).simulate("drag", { + dx: dx || 0, + dy: dy || 0 + }); + dragged = { dx: dx, dy: dy }; + offsetAfter = d.offset(); + heightAfter = d.height(); + widthAfter = d.width(); +} + +function moved(dx, dy, msg) { + msg = msg ? msg + "." : ""; + var actual = { left: offsetAfter.left, top: offsetAfter.top }; + var expected = { left: offsetBefore.left + dx, top: offsetBefore.top + dy }; + same(actual, expected, 'dragged[' + dragged.dx + ', ' + dragged.dy + '] ' + msg); +} + +function shouldmove(why) { + var handle = $(".ui-dialog-titlebar", dlg()); + drag(handle, 50, 50); + moved(50, 50, why); +} + +function shouldnotmove(why) { + var handle = $(".ui-dialog-titlebar", dlg()); + drag(handle, 50, 50); + moved(0, 0, why); +} + +function resized(dw, dh, msg) { + msg = msg ? msg + "." : ""; + var actual = { width: widthAfter, height: heightAfter }; + var expected = { width: widthBefore + dw, height: heightBefore + dh }; + same(actual, expected, 'resized[' + dragged.dx + ', ' + dragged.dy + '] ' + msg); +} + +function shouldresize(why) { + var handle = $(".ui-resizable-se", dlg()); + drag(handle, 50, 50); + resized(50, 50, why); +} + +function shouldnotresize(why) { + var handle = $(".ui-resizable-se", dlg()); + drag(handle, 50, 50); + resized(0, 0, why); +} + +function broder(el, side){ + return parseInt(el.css('border-' + side + '-width'), 10); +} + +function margin(el, side) { + return parseInt(el.css('margin-' + side), 10); +} + +// Dialog Tests +module("dialog"); + +test("init", function() { + expect(7); + + $("<div></div>").appendTo('body').dialog().remove(); + ok(true, '.dialog() called on element'); + + $([]).dialog().remove(); + ok(true, '.dialog() called on empty collection'); + + $('<div></div>').dialog().remove(); + ok(true, '.dialog() called on disconnected DOMElement - never connected'); + + $('<div></div>').appendTo('body').remove().dialog().remove(); + ok(true, '.dialog() called on disconnected DOMElement - removed'); + + $('<div></div>').dialog().dialog("foo").remove(); + ok(true, 'arbitrary method called after init'); + + el = $('<div></div>').dialog(); + var foo = el.data("foo.dialog"); + el.remove(); + ok(true, 'arbitrary option getter after init'); + + $('<div></div>').dialog().data("foo.dialog", "bar").remove(); + ok(true, 'arbitrary option setter after init'); +}); + +test("destroy", function() { + expect(6); + + $("<div></div>").appendTo('body').dialog().dialog("destroy").remove(); + ok(true, '.dialog("destroy") called on element'); + + $([]).dialog().dialog("destroy").remove(); + ok(true, '.dialog("destroy") called on empty collection'); + + $('<div></div>').dialog().dialog("destroy").remove(); + ok(true, '.dialog("destroy") called on disconnected DOMElement'); + + $('<div></div>').dialog().dialog("destroy").dialog("foo").remove(); + ok(true, 'arbitrary method called after destroy'); + + el = $('<div></div>').dialog(); + var foo = el.dialog("destroy").data("foo.dialog"); + el.remove(); + ok(true, 'arbitrary option getter after destroy'); + + $('<div></div>').dialog().dialog("destroy").data("foo.dialog", "bar").remove(); + ok(true, 'arbitrary option setter after destroy'); +}); + +/* +//This one takes a while to run + +test("element types", function() { + var typeNames = ('p,h1,h2,h3,h4,h5,h6,blockquote,ol,ul,dl,div,form' + + ',table,fieldset,address,ins,del,em,strong,q,cite,dfn,abbr' + + ',acronym,code,samp,kbd,var,img,object,hr' + + ',input,button,label,select,iframe').split(','); + + $.each(typeNames, function(i) { + var typeName = typeNames[i]; + el = $(document.createElement(typeName)).appendTo('body'); + (typeName == 'table' && el.append("<tr><td>content</td></tr>")); + el.dialog(); + ok(true, '$("<' + typeName + '/>").dialog()'); + el.dialog("destroy"); + el.remove(); + }); +}); + +*/ + +test("defaults", function() { + el = $('<div></div>').dialog(); + $.each(defaults, function(key, val) { + var actual = el.data(key + ".dialog"), expected = val; + same(actual, expected, key); + }); + el.remove(); +}); + +test("title id", function() { + expect(3); + + var titleId; + + // reset the uuid so we know what values to expect + $.ui.dialog.uuid = 0; + + el = $('<div></div>').dialog(); + titleId = dlg().find('.ui-dialog-title').attr('id'); + equals(titleId, 'ui-dialog-title-1', 'auto-numbered title id'); + el.remove(); + + el = $('<div></div>').dialog(); + titleId = dlg().find('.ui-dialog-title').attr('id'); + equals(titleId, 'ui-dialog-title-2', 'auto-numbered title id'); + el.remove(); + + el = $('<div id="foo"/>').dialog(); + titleId = dlg().find('.ui-dialog-title').attr('id'); + equals(titleId, 'ui-dialog-title-foo', 'carried over title id'); + el.remove(); +}); + +test("ARIA", function() { + expect(4); + + el = $('<div></div>').dialog(); + + equals(dlg().attr('role'), 'dialog', 'dialog role'); + + var labelledBy = dlg().attr('aria-labelledby'); + ok(labelledBy.length > 0, 'has aria-labelledby attribute'); + equals(dlg().find('.ui-dialog-title').attr('id'), labelledBy, + 'proper aria-labelledby attribute'); + + equals(dlg().find('.ui-dialog-titlebar-close').attr('role'), 'button', + 'close link role'); + + el.remove(); +}); + +module("dialog: Options"); + +test("autoOpen", function() { + expect(2); + + el = $('<div></div>').dialog({ autoOpen: false }); + isNotOpen('.dialog({ autoOpen: false })'); + el.remove(); + + el = $('<div></div>').dialog({ autoOpen: true }); + isOpen('.dialog({ autoOpen: true })'); + el.remove(); +}); + +test("buttons", function() { + expect(17); + + var buttons = { + "Ok": function(ev, ui) { + ok(true, "button click fires callback"); + equals(this, el[0], "context of callback"); + equals(ev.target, btn[0], "event target"); + }, + "Cancel": function(ev, ui) { + ok(true, "button click fires callback"); + equals(this, el[0], "context of callback"); + equals(ev.target, btn[1], "event target"); + } + }; + + el = $('<div></div>').dialog({ buttons: buttons }); + var btn = $("button", dlg()); + equals(btn.length, 2, "number of buttons"); + + var i = 0; + $.each(buttons, function(key, val) { + equals(btn.eq(i).text(), key, "text of button " + (i+1)); + i++; + }); + + ok(btn.parent().hasClass('ui-dialog-buttonpane'), "buttons in container"); + btn.trigger("click"); + + var newButtons = { + "Close": function(ev, ui) { + ok(true, "button click fires callback"); + equals(this, el[0], "context of callback"); + equals(ev.target, btn[0], "event target"); + } + }; + + equals(el.data("buttons.dialog"), buttons, '.data("buttons.dialog") getter'); + el.data("buttons.dialog", newButtons); + equals(el.data("buttons.dialog"), newButtons, '.data("buttons.dialog", ...) setter'); + + btn = $("button", dlg()); + equals(btn.length, 1, "number of buttons after setter"); + btn.trigger('click'); + + i = 0; + $.each(newButtons, function(key, val) { + equals(btn.eq(i).text(), key, "text of button " + (i+1)); + i += 1; + }); + + el.remove(); +}); + +test("closeOnEscape", function() { + ok(false, 'missing test'); +}); + +test("closeText", function() { + expect(3); + + el = $('<div></div>').dialog(); + equals(dlg().find('.ui-dialog-titlebar-close span').text(), 'close', + 'default close text'); + el.remove(); + + el = $('<div></div>').dialog({ closeText: "foo" }); + equals(dlg().find('.ui-dialog-titlebar-close span').text(), 'foo', + 'closeText on init'); + el.remove(); + + el = $('<div></div>').dialog().dialog('option', 'closeText', 'bar'); + equals(dlg().find('.ui-dialog-titlebar-close span').text(), 'bar', + 'closeText via option method'); + el.remove(); +}); + +test("dialogClass", function() { + expect(4); + + el = $('<div></div>').dialog(); + equals(dlg().is(".foo"), false, 'dialogClass not specified. foo class added'); + el.remove(); + + el = $('<div></div>').dialog({ dialogClass: "foo" }); + equals(dlg().is(".foo"), true, 'dialogClass in init. foo class added'); + el.remove(); + + el = $('<div></div>').dialog({ dialogClass: "foo bar" }); + equals(dlg().is(".foo"), true, 'dialogClass in init, two classes. foo class added'); + equals(dlg().is(".bar"), true, 'dialogClass in init, two classes. bar class added'); + el.remove(); +}); + +test("draggable", function() { + expect(4); + + el = $('<div></div>').dialog({ draggable: false }); + shouldnotmove(); + el.data('draggable.dialog', true); + shouldmove(); + el.remove(); + + el = $('<div></div>').dialog({ draggable: true }); + shouldmove(); + el.data('draggable.dialog', false); + shouldnotmove(); + el.remove(); +}); + +test("height", function() { + expect(3); + + el = $('<div></div>').dialog(); + equals(dlg().height(), defaults.minHeight, "default height"); + el.remove(); + + el = $('<div></div>').dialog({ height: 437 }); + equals(dlg().height(), 437, "explicit height"); + el.remove(); + + el = $('<div></div>').dialog(); + el.data('height.dialog', 438); + equals(dlg().height(), 438, "explicit height set after init"); + el.remove(); +}); + +test("maxHeight", function() { + expect(3); + + el = $('<div></div>').dialog({ maxHeight: 400 }); + drag('.ui-resizable-s', 1000, 1000); + equals(heightAfter, 400, "maxHeight"); + el.remove(); + + el = $('<div></div>').dialog({ maxHeight: 400 }); + drag('.ui-resizable-n', -1000, -1000); + equals(heightAfter, 400, "maxHeight"); + el.remove(); + + el = $('<div></div>').dialog({ maxHeight: 400 }).data('maxHeight.dialog', 600); + drag('.ui-resizable-n', -1000, -1000); + equals(heightAfter, 600, "maxHeight"); + el.remove(); +}); + +test("maxWidth", function() { + expect(3); + + el = $('<div></div>').dialog({ maxWidth: 400 }); + drag('.ui-resizable-e', 1000, 1000); + equals(widthAfter, 400, "maxWidth"); + el.remove(); + + el = $('<div></div>').dialog({ maxWidth: 400 }); + drag('.ui-resizable-w', -1000, -1000); + equals(widthAfter, 400, "maxWidth"); + el.remove(); + + el = $('<div></div>').dialog({ maxWidth: 400 }).data('maxWidth.dialog', 600); + drag('.ui-resizable-w', -1000, -1000); + equals(widthAfter, 600, "maxWidth"); + el.remove(); +}); + +test("minHeight", function() { + expect(3); + + el = $('<div></div>').dialog({ minHeight: 10 }); + drag('.ui-resizable-s', -1000, -1000); + equals(heightAfter, 10, "minHeight"); + el.remove(); + + el = $('<div></div>').dialog({ minHeight: 10 }); + drag('.ui-resizable-n', 1000, 1000); + equals(heightAfter, 10, "minHeight"); + el.remove(); + + el = $('<div></div>').dialog({ minHeight: 10 }).data('minHeight.dialog', 30); + drag('.ui-resizable-n', 1000, 1000); + equals(heightAfter, 30, "minHeight"); + el.remove(); +}); + +test("minWidth", function() { + expect(3); + + el = $('<div></div>').dialog({ minWidth: 10 }); + drag('.ui-resizable-e', -1000, -1000); + equals(widthAfter, 10, "minWidth"); + el.remove(); + + el = $('<div></div>').dialog({ minWidth: 10 }); + drag('.ui-resizable-w', 1000, 1000); + equals(widthAfter, 10, "minWidth"); + el.remove(); + + el = $('<div></div>').dialog({ minWidth: 30 }).data('minWidth.dialog', 30); + drag('.ui-resizable-w', 1000, 1000); + equals(widthAfter, 30, "minWidth"); + el.remove(); +}); + +test("modal", function() { + ok(false, "missing test"); +}); + +test("overlay", function() { + ok(false, "missing test"); +}); + +test("position", function() { + ok(false, "missing test"); +}); + +test("resizable", function() { + expect(4); + + el = $('<div></div>').dialog(); + shouldresize("[default]"); + el.data('resizable.dialog', false); + shouldnotresize('disabled after init'); + el.remove(); + + el = $('<div></div>').dialog({ resizable: false }); + shouldnotresize("disabled in init options"); + el.data('resizable.dialog', true); + shouldresize('enabled after init'); + el.remove(); +}); + +test("stack", function() { + ok(false, "missing test"); +}); + +test("title", function() { + expect(5); + + function titleText() { + return dlg().find(".ui-dialog-title").html(); + } + + el = $('<div></div>').dialog(); + equals(titleText(), " ", "[default]"); + el.remove(); + + el = $('<div title="foo"/>').dialog(); + equals(titleText(), "foo", "title in element attribute"); + el.remove(); + + el = $('<div></div>').dialog({ title: 'foo' }); + equals(titleText(), "foo", "title in init options"); + el.remove(); + + el = $('<div title="foo"/>').dialog({ title: 'bar' }); + equals(titleText(), "bar", "title in init options should override title in element attribute"); + el.remove(); + + el = $('<div></div>').dialog().data('title.dialog', 'foo'); + equals(titleText(), 'foo', 'title after init'); + el.remove(); +}); + +test("width", function() { + expect(3); + + el = $('<div></div>').dialog(); + equals(dlg().width(), defaults.width, "default width"); + el.remove(); + + el = $('<div></div>').dialog({width: 437 }); + equals(dlg().width(), 437, "explicit width"); + el.data('width.dialog', 438); + equals(dlg().width(), 438, 'explicit width after init'); + el.remove(); +}); + +module("dialog: Methods"); + +test("isOpen", function() { + expect(4); + + el = $('<div></div>').dialog(); + equals(el.dialog('isOpen'), true, "dialog is open after init"); + el.dialog('close'); + equals(el.dialog('isOpen'), false, "dialog is closed"); + el.remove(); + + el = $('<div></div>').dialog({autoOpen: false}); + equals(el.dialog('isOpen'), false, "dialog is closed after init"); + el.dialog('open'); + equals(el.dialog('isOpen'), true, "dialog is open"); + el.remove(); +}); + +module("dialog: Callbacks"); + +test("open", function() { + expect(6); + + el = $("<div></div>"); + el.dialog({ + open: function(ev, ui) { + ok(true, 'autoOpen: true fires open callback'); + equals(this, el[0], "context of callback"); + } + }); + el.remove(); + + el = $("<div></div>"); + el.dialog({ + autoOpen: false, + open: function(ev, ui) { + ok(true, '.dialog("open") fires open callback'); + equals(this, el[0], "context of callback"); + } + }); + el.dialog("open"); + el.remove(); + + el = $('<div></div>').dialog({ + autoOpen: false + }); + el.bind('dialogopen', function(ev, ui) { + ok(true, 'dialog("open") fires open event'); + equals(this, el[0], 'context of event'); + }); + el.dialog('open'); + el.remove(); +}); + +test("dragStart", function() { + expect(2); + + el = $("<div></div>"); + el.dialog({ + dragStart: function(ev, ui) { + ok(true, 'dragging fires dragStart callback'); + equals(this, el[0], "context of callback"); + } + }); + var handle = $(".ui-dialog-titlebar", dlg()); + drag(handle, 50, 50); + el.remove(); +}); + +test("drag", function() { + var fired = false; + + el = $("<div></div>"); + el.dialog({ + drag: function(ev, ui) { + fired = true; + equals(this, el[0], "context of callback"); + } + }); + var handle = $(".ui-dialog-titlebar", dlg()); + drag(handle, 50, 50); + ok(fired, "drag fired"); + el.remove(); +}); + +test("dragStop", function() { + expect(2); + + el = $("<div></div>"); + el.dialog({ + dragStop: function(ev, ui) { + ok(true, 'dragging fires dragStop callback'); + equals(this, el[0], "context of callback"); + } + }); + var handle = $(".ui-dialog-titlebar", dlg()); + drag(handle, 50, 50); + el.remove(); +}); + +test("resizeStart", function() { + expect(2); + + el = $("<div></div>"); + el.dialog({ + resizeStart: function(ev, ui) { + ok(true, 'resizing fires resizeStart callback'); + equals(this, el[0], "context of callback"); + } + }); + var handle = $(".ui-resizable-se", dlg()); + drag(handle, 50, 50); + el.remove(); +}); + +test("resize", function() { + var fired = false; + + el = $("<div></div>"); + el.dialog({ + resize: function(ev, ui) { + fired = true; + equals(this, el[0], "context of callback"); + } + }); + var handle = $(".ui-resizable-se", dlg()); + drag(handle, 50, 50); + ok(fired, "resize fired"); + el.remove(); +}); + +test("resizeStop", function() { + expect(2); + + el = $("<div></div>"); + el.dialog({ + resizeStop: function(ev, ui) { + ok(true, 'resizing fires resizeStop callback'); + equals(this, el[0], "context of callback"); + } + }); + var handle = $(".ui-resizable-se", dlg()); + drag(handle, 50, 50); + el.remove(); +}); + +test("close", function() { + expect(4); + + el = $('<div></div>').dialog({ + close: function(ev, ui) { + ok(true, '.dialog("close") fires close callback'); + equals(this, el[0], "context of callback"); + } + }); + el.dialog("close"); + el.remove(); + + el = $('<div></div>').dialog().bind('dialogclose', function(ev, ui) { + ok(true, '.dialog("close") fires dialogclose event'); + equals(this, el[0], 'context of event'); + }); + el.dialog('close'); + el.remove(); +}); + +test("beforeclose", function() { + expect(6); + + el = $('<div></div>').dialog({ + beforeclose: function(ev, ui) { + ok(true, '.dialog("close") fires beforeclose callback'); + equals(this, el[0], "context of callback"); + return false; + } + }); + el.dialog('close'); + isOpen('beforeclose callback should prevent dialog from closing'); + el.remove(); + + el = $('<div></div>').dialog().bind('dialogbeforeclose', function(ev, ui) { + ok(true, '.dialog("close") triggers dialogbeforeclose event'); + equals(this, el[0], "context of event"); + return false; + }); + el.dialog('close'); + isOpen('dialogbeforeclose event should prevent dialog from closing'); + el.remove(); +}); + +module("dialog: Tickets"); + +})(jQuery); |