Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Unified Diff: third_party/WebKit/LayoutTests/svg/dom/SVGLength-px.html

Issue 2271223002: Convert LayoutTests/svg/dom/SVGLength*.html js-tests.js tests to testharness.js based tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: created subtests Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/svg/dom/SVGLength-px.html
diff --git a/third_party/WebKit/LayoutTests/svg/dom/SVGLength-px.html b/third_party/WebKit/LayoutTests/svg/dom/SVGLength-px.html
index 592427a7fb82a26877cdee4d548af380c7bb759c..b8086da3a77b9036ec323d73b6f3949310323592 100644
--- a/third_party/WebKit/LayoutTests/svg/dom/SVGLength-px.html
+++ b/third_party/WebKit/LayoutTests/svg/dom/SVGLength-px.html
@@ -1,11 +1,111 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-<head>
-<script src="../../resources/js-test.js"></script>
-</head>
-<body>
-<p id="description"></p>
-<div id="console"></div>
-<script src="script-tests/SVGLength-px.js"></script>
-</body>
-</html>
+<!DOCTYPE HTML>
+<title>SVGLength, converting from 'px' to other units (detached)</title>
+<script src="../../resources/testharness.js"></script>
+<script src="../../resources/testharnessreport.js"></script>
+<script>
+var cssPixelsPerInch = 96;
+var svgElement = document.createElementNS("http://www.w3.org/2000/svg", "svg");
+var length;
+function setup() {
fs 2016/08/26 09:03:07 Use testharness setup(): setup(function() { win
Shanmuga Pandi 2016/09/01 11:59:56 Done.
fs 2016/09/01 12:31:12 Doesn't look done to me. Having as clean a slate a
Shanmuga Pandi 2016/09/01 13:18:17 Could you please check this now.?
fs 2016/09/01 13:22:54 Still the same, did you forget to upload? What I m
Shanmuga Pandi 2016/09/01 14:00:36 Ok. There was some misunderstanding. I will upload
Shanmuga Pandi 2016/09/01 14:13:03 Done. Please check now. Thanks
fs 2016/09/01 14:14:58 No, that one is fine as is because it needs to be
+ length = svgElement.createSVGLength();
+ // Set value to be 2px
+ length.valueAsString = "2px";
+}
+
+test(function() {
+ setup();
+ assert_equals(length.unitType, SVGLength.SVG_LENGTHTYPE_PX);
+ assert_equals(length.value, 2);
+ assert_equals(length.valueInSpecifiedUnits, 2);
+ assert_equals(length.valueAsString, "2px");
+}, "Check initial value to be 2px");
fs 2016/08/26 09:03:07 I'd suggest the following format for testnames: d
Shanmuga Pandi 2016/09/01 11:59:56 Done.
+
+test(function() {
+ setup();
+ length.convertToSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_NUMBER);
+ assert_equals(length.valueAsString, "2");
+ assert_equals(length.value, 2);
+ assert_equals(length.valueInSpecifiedUnits, 2);
+ assert_equals(length.unitType, SVGLength.SVG_LENGTHTYPE_NUMBER);
+}, "Convert from px to unitless");
+
+test(function() {
+ setup();
+ // Try converting from px to percentage, should fail as the SVGLength is not associated with a SVGSVGElement, and thus no viewport information is available.
+ assert_throws("NotSupportedError", function() { length.convertToSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PERCENTAGE); });
+ assert_equals(length.valueAsString, "2px");
+ assert_equals(length.value, 2);
+ assert_equals(length.valueInSpecifiedUnits, 2);
+ assert_equals(length.unitType, SVGLength.SVG_LENGTHTYPE_PX);
+}, "Convert from px to percentage");
+
+test(function() {
+ setup();
+ // Try converting from px to ems, should fail as the SVGLength is not associated with a SVGSVGElement, and thus no font-size information is available.
+ assert_throws("NotSupportedError", function() { length.convertToSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_EMS); });
+ assert_equals(length.valueAsString, "2px");
+ assert_equals(length.value, 2);
+ assert_equals(length.valueInSpecifiedUnits, 2);
+ assert_equals(length.unitType, SVGLength.SVG_LENGTHTYPE_PX);
+}, "Convert from px to ems");
+
+test(function() {
+ setup();
+ // Try converting from px to exs, should fail as the SVGLength is not associated with a SVGSVGElement, and thus no font-size information is available.
+ assert_throws("NotSupportedError", function() { length.convertToSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_EXS); });
+ assert_equals(length.valueAsString, "2px");
+ assert_equals(length.value, 2);
+ assert_equals(length.valueInSpecifiedUnits, 2);
+ assert_equals(length.unitType, SVGLength.SVG_LENGTHTYPE_PX);
+}, "Convert from px to exs");
+
+test(function() {
+ setup();
+ length.convertToSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_CM);
+ referenceValue = Number(2 * 2.54 / cssPixelsPerInch).toFixed(7);
+ assert_equals(length.valueAsString, referenceValue + "cm");
+ assert_equals(length.valueInSpecifiedUnits.toFixed(7), referenceValue);
+ assert_equals(length.value.toFixed(1), "2.0");
+ assert_equals(length.unitType, SVGLength.SVG_LENGTHTYPE_CM);
+}, "Convert from px to cm");
+
+test(function() {
+ setup();
+ length.convertToSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_MM);
+ referenceValue = Number(2 * 25.4 / cssPixelsPerInch).toFixed(6);
+ assert_equals(length.valueAsString, referenceValue + "mm");
+ assert_equals(length.valueInSpecifiedUnits.toFixed(6), referenceValue);
+ assert_equals(length.value.toFixed(1), "2.0");
+ assert_equals(length.unitType, SVGLength.SVG_LENGTHTYPE_MM);
+}, "Convert from px to mm");
+
+test(function() {
+ setup();
+ length.convertToSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_IN);
+ referenceValue = Number(2 / cssPixelsPerInch).toFixed(7);
+ assert_equals(length.valueAsString, referenceValue + "in");
+ assert_equals(length.valueInSpecifiedUnits.toFixed(7), referenceValue);
+ assert_equals(length.value.toFixed(1), "2.0");
+ assert_equals(length.unitType, SVGLength.SVG_LENGTHTYPE_IN);
+}, "Convert from px to in");
+
+test(function() {
+ setup();
+ length.convertToSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PT);
+ referenceValue = Number(2 / cssPixelsPerInch * 72);
+ assert_equals(length.valueAsString, referenceValue + "pt");
+ assert_equals(length.valueInSpecifiedUnits, referenceValue);
+ assert_equals(length.value.toFixed(1), "2.0");
+ assert_equals(length.unitType, SVGLength.SVG_LENGTHTYPE_PT);
+}, "Convert from px to pt");
+
+test(function() {
+ setup();
+ length.convertToSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PC);
+ referenceValue = Number(2 / cssPixelsPerInch * 6).toFixed(3);
+ // Don't check valueAsString here, it's unreliable across browsers.
+ assert_equals(length.valueInSpecifiedUnits.toFixed(3), referenceValue);
+ assert_equals(length.value.toFixed(1), "2.0");
+ assert_equals(length.unitType, SVGLength.SVG_LENGTHTYPE_PC);
+}, "Convert from px to pc");
+</script>

Powered by Google App Engine
This is Rietveld 408576698