With legalization gaining momentum in North America, legislators are still looking to keep roads and workplaces safe through drug testing. But is there a perfect test? Here are the current, commonly-used methods. They are ranked in order from least to most effective, though none are full-proof ways of doing on-the-spot checks of THC levels in someone's system.

1. Hair

"Hair analysis for cannabinoids is extensively applied in workplace drug testing and in child protection cases," note researchers from the University of Freiburg's Institute of Forensic Medicine, who published a paper in the May 2015 issue of Scientific Reports that suggests the hair test is a tangled mess of false results.

Their study found that surprisingly innocuous actions could lead to a false positive, including coming into contact with a cannabis consumer's sweat or even simply through touching their hands. Here's how contamination happens:

nature.com

2. Urine

Simply put, urine tests are volatile. The presence of marijuana varies depending on the frequency of consumption. Specifically, the marijuana metabolite THC-COOH builds up over time, meaning it'll take longer for a heavy consumer's urine to return to normal than it would for a one-time smoker. That means using urine to test for inebriated drivers or employees getting high on the job is highly impractical.

The presence of cannabis metabolites also varies throughout the day, so it's possible for someone to pass a urine test in the morning and then fail it in the afternoon - even though the person didn't inhale anything in between.

3. Saliva

The spit test may be the best method, provided some kinks are worked out. These tests have been adopted in many Australian states to screen drivers for cannabis consumption.

According to forensic toxicologist Andrew Leibe, saliva tests are like breathalysers that detect the part of the drug that's psychoactive and causes the disorienting high.

But saliva testing isn't fail safe: Leibe admits that if, "someone takes a drug on Saturday night and gets a saliva test on Monday morning - it's very, very unlikely they'll get a positive result, but theoretically not impossible."

And there's another troubling "but" in his remarks: "Cannabis usually won't be detected after 12 hours but if someone is smoking a large amount regularly it might be up to 24 hours in extreme cases, but in most cases it would be normal to not show up after five to six hours."

4. Blood

The contributors to California NORML note, "Blood tests are a better detector of recent use, since they measure the active presence of THC in the system."

However, this test is also uncommon - reserved mainly after accidents rather than roadside screening - because the process is intrusive. Imagine being pulled over and having blood drawn along the highway, or submitting vials of blood to the office for drug testing.

h/t NORML, California NORML, Nature, News