This commit is contained in:
ConnorSkees 2020-02-08 20:20:03 -05:00
parent c75e5cc553
commit 6c8dd6de93
5 changed files with 16 additions and 17 deletions

View File

@ -1,7 +1,7 @@
use std::fmt::{self, Display};
use crate::value::Number;
pub(crate) use name::ColorName;
use crate::value::{Number, Value};
mod name;

View File

@ -48,9 +48,9 @@ impl<'a> Iterator for Lexer<'a> {
s.push_str(&n);
TokenKind::Number(s)
}
_ => unsafe { std::hint::unreachable_unchecked() }
}
_ => TokenKind::Symbol(Symbol::Period)
_ => unsafe { std::hint::unreachable_unchecked() },
},
_ => TokenKind::Symbol(Symbol::Period),
}
}
'$' => self.lex_variable(),

View File

@ -1,6 +1,6 @@
use std::convert::From;
use std::fmt::{self, Display, Write};
use std::ops::{Add, Sub, Mul, Div};
use std::ops::{Add, Div, Mul, Sub};
use num_bigint::BigInt;
use num_rational::BigRational;
@ -53,9 +53,14 @@ impl Display for Number {
}
}
if frac != BigRational::from_integer(BigInt::from(0)) {
write!(f, "{}", (frac * BigRational::from_integer(BigInt::from(10))).round().to_integer())?;
write!(
f,
"{}",
(frac * BigRational::from_integer(BigInt::from(10)))
.round()
.to_integer()
)?;
}
}
Ok(())
}

View File

@ -1,8 +1,8 @@
use std::convert::TryFrom;
use std::iter::{Iterator, Peekable};
use num_rational::BigRational;
use num_bigint::BigInt;
use num_rational::BigRational;
use num_traits::pow;
use crate::args::eat_call_args;
@ -188,10 +188,7 @@ impl Value {
BigRational::new(num.parse().unwrap(), pow(BigInt::from(10), num_dec))
}
};
Some(Value::Dimension(
Number::new(n),
unit,
))
Some(Value::Dimension(Number::new(n), unit))
}
TokenKind::Symbol(Symbol::OpenParen) => {
devour_whitespace_or_comment(toks);

View File

@ -56,10 +56,7 @@ test!(
"a {\n color: alpha(red);\n}\n",
"a {\n color: 1;\n}\n"
);
test!(
opacity_function_number,
"a {\n color: opacity(1);\n}\n"
);
test!(opacity_function_number, "a {\n color: opacity(1);\n}\n");
test!(
opacity_function_number_unit,
"a {\n color: opacity(1px);\n}\n"