| description( |
| "This test checks construction of objects with custom constructors." |
| ); |
| |
| // Image tests |
| shouldBeNonNull("new Image()"); |
| shouldBeEqualToString("new Image().tagName", "IMG"); |
| |
| shouldBe("new Image().height", "0"); |
| shouldBe("new Image().width", "0"); |
| shouldBe("new Image(100).width", "100"); |
| shouldBe("new Image(100, 200).height", "200"); |
| shouldBe("new Image(-100).width", "0"); |
| shouldBe("new Image(-100, -200).height", "0"); |
| |
| shouldBeEqualToString("new Image().outerHTML","<img>"); |
| shouldBeEqualToString("new Image(100, 100).outerHTML", '<img width="100" height="100">'); |
| |
| // Option tests |
| shouldBeNonNull("new Option()"); |
| shouldBeEqualToString("new Option().tagName", "OPTION"); |
| |
| shouldBeEqualToString("new Option().innerText", ""); |
| shouldBeEqualToString("new Option(null).innerText", "null"); |
| shouldBeEqualToString("new Option(undefined).innerText", ""); |
| shouldBeEqualToString("new Option('somedata').innerText", "somedata"); |
| |
| shouldBeEqualToString("new Option().value", ""); |
| shouldBeEqualToString("new Option('somedata', null).value", "null"); |
| shouldBeEqualToString("new Option('somedata', undefined).value", "somedata"); |
| shouldBeEqualToString("new Option('somedata', 'somevalue').value", "somevalue"); |
| |
| shouldBeFalse("new Option().defaultSelected"); |
| shouldBeFalse("new Option('somedata', 'somevalue').defaultSelected"); |
| shouldBeFalse("new Option('somedata', 'somevalue', false).defaultSelected"); |
| shouldBeTrue("new Option('somedata', 'somevalue', true).defaultSelected"); |
| |
| shouldBeFalse("new Option().selected"); |
| shouldBeFalse("new Option('somedata', 'somevalue').selected"); |
| shouldBeFalse("new Option('somedata', 'somevalue', false).selected"); |
| shouldBeFalse("new Option('somedata', 'somevalue', true).selected"); |
| shouldBeFalse("new Option('somedata', 'somevalue', true, false).selected"); |
| shouldBeTrue("new Option('somedata', 'somevalue', true, true).selected"); |
| |
| shouldBeEqualToString("new Option().outerHTML","<option></option>"); |
| shouldBeEqualToString("new Option('somedata', 'somevalue', false).outerHTML.replace(/\"/g,\"'\")", "<option value='somevalue'>somedata</option>"); |
| shouldBeEqualToString("new Option('somedata', 'somevalue', true).outerHTML.replace(/\"/g,\"'\")", "<option value='somevalue' selected=''>somedata</option>"); |
| |
| // Audio tests |
| shouldBeNonNull("new Audio()"); |
| shouldBeEqualToString("new Audio().tagName", "AUDIO"); |
| |
| shouldBeEqualToString("new Audio().src", ""); |
| shouldBeEqualToString("new Audio().preload", "auto"); |
| shouldBeEqualToString("new Audio('http://127.0.0.1/someurl').src", "http://127.0.0.1/someurl"); |
| shouldBeEqualToString("new Audio('http://127.0.0.1/someurl').preload", "auto"); |