Index: LayoutTests/media/track/vtt-cue-float-precision.html |
diff --git a/LayoutTests/media/track/vtt-cue-float-precision.html b/LayoutTests/media/track/vtt-cue-float-precision.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..556438bca71168067a91fa1161a5580a576e8299 |
--- /dev/null |
+++ b/LayoutTests/media/track/vtt-cue-float-precision.html |
@@ -0,0 +1,28 @@ |
+<!doctype html> |
+<title>Float precision of VTTCue attributes line, position and size</title> |
+<script src=../../resources/testharness.js></script> |
+<script src=../../resources/testharnessreport.js></script> |
+<div id=log></div> |
+<script> |
+test(function() { |
+ var cue = new VTTCue(0, 1, 'text'); |
+ |
+ // Assign a value which is exactly representable as double but not float. |
+ var doubleValue = 1.000000000000004; |
+ cue.line = doubleValue; |
+ assert_not_equals(cue.line, doubleValue); |
+ cue.position = doubleValue; |
+ assert_not_equals(cue.position, doubleValue); |
+ cue.size = doubleValue; |
+ assert_not_equals(cue.size, doubleValue); |
+ |
+ // Assign a value which is exactly representable as float but is non-integral. |
+ var floatValue = 1.5; |
+ cue.line = floatValue; |
+ assert_equals(cue.line, floatValue); |
+ cue.position = floatValue; |
+ assert_equals(cue.position, floatValue); |
+ cue.size = floatValue; |
+ assert_equals(cue.size, floatValue); |
+}, document.title+', stored as floats'); |
+</script> |