This repository has been archived on 2024-08-27. You can view files and clone it, but cannot push or open issues or pull requests.
negromate_origins/web/static/js/libjass/tests/unit/primitives.js

84 lines
3.6 KiB
JavaScript

/**
* libjass
*
* https://github.com/Arnavion/libjass
*
* Copyright 2013 Arnav Singh
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
define(["intern!tdd", "tests/support/parser-test", "libjass"], function (tdd, parserTest, libjass) {
tdd.suite("Primitives", function () {
tdd.suite("Color", function () {
tdd.test("Starts with &H", parserTest("&H3F171F&", "color", new libjass.parts.Color(31, 23, 63, 1)));
tdd.test("Starts with H", parserTest("&3F171F&", "color", new libjass.parts.Color(31, 23, 63, 1)));
tdd.test("Less than six digits", parserTest("&H71F&", "color", new libjass.parts.Color(31, 7, 0, 1)));
tdd.test("Eight digits", parserTest("&H3F171F00&", "color", new libjass.parts.Color(0, 31, 23, 1)));
tdd.test("Eight digits", parserTest("&H3F171FFF&", "color", new libjass.parts.Color(255, 31, 23, 1)));
tdd.test("More than eight digits", parserTest("&HAAAA3F171F00&", "color", new libjass.parts.Color(255, 255, 255, 1)));
tdd.test("More than eight digits", parserTest("&HAAAA3F171FFF&", "color", new libjass.parts.Color(255, 255, 255, 1)));
});
tdd.suite("Alpha", function () {
tdd.test("Starts with &H", parserTest("&HFF&", "alpha", 0));
tdd.test("Starts with &", parserTest("&FF&", "alpha", 0));
tdd.test("Starts with &H, one digit", parserTest("&HF&", "alpha", 1 - 15 / 255));
tdd.test("Starts with &H, one digit", parserTest("&H0&", "alpha", 1));
tdd.test("Starts with &, one digit", parserTest("&F&", "alpha", 1 - 15 / 255));
tdd.test("Starts with &, one digit", parserTest("&0&", "alpha", 1));
tdd.test("Starts with &H, doesn't end with &", parserTest("&HF&", "alpha", 1 - 15 / 255));
tdd.test("Starts with &H, doesn't end with &", parserTest("&H0&", "alpha", 1));
tdd.test("Starts with &, doesn't end with &", parserTest("&F", "alpha", 1 - 15 / 255));
tdd.test("Starts with &, doesn't end with &", parserTest("&0", "alpha", 1));
tdd.test("Doesn't start with &, doesn't end with &", parserTest("0", "alpha", 1));
tdd.test("Starts with H", parserTest("H0", "alpha", 1));
});
tdd.suite("ColorWithAlpha", function () {
tdd.test("Starts with &H", parserTest("&H00434441", "colorWithAlpha", new libjass.parts.Color(65, 68, 67, 1)));
tdd.test("Starts with &H, non-zero alpha", parserTest("&HF0434441", "colorWithAlpha", new libjass.parts.Color(65, 68, 67, 1 - 240 / 255)));
tdd.test("Starts with &H, zero alpha", parserTest("&HFF434441", "colorWithAlpha", new libjass.parts.Color(65, 68, 67, 0)));
tdd.test("Less than six digits", parserTest("&H71F", "colorWithAlpha", new libjass.parts.Color(31, 7, 0, 1)));
tdd.test("Eight digits", parserTest("&H3F171F00", "colorWithAlpha", new libjass.parts.Color(0, 31, 23, 1 - 63 / 255)));
tdd.test("Eight digits", parserTest("&H3F171FFF", "colorWithAlpha", new libjass.parts.Color(255, 31, 23, 1 - 63 / 255)));
tdd.test("More than eight digits", parserTest("&HAAAA3F171F00", "colorWithAlpha", new libjass.parts.Color(255, 255, 255, 0)));
tdd.test("More than eight digits", parserTest("&HAAAA3F171FFF", "colorWithAlpha", new libjass.parts.Color(255, 255, 255, 0)));
});
});
});