Skip to content

Commit

Permalink
chore: add tests for axios
Browse files Browse the repository at this point in the history
  • Loading branch information
Boshen committed Dec 7, 2023
1 parent 4d693d9 commit a0258cf
Show file tree
Hide file tree
Showing 3 changed files with 106 additions and 2 deletions.
1 change: 1 addition & 0 deletions fixtures/pnpm8/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
},
"packageManager": "pnpm@8.10.5",
"devDependencies": {
"axios": "1.6.2",
"styled-components": "6.1.1"
}
}
64 changes: 64 additions & 0 deletions fixtures/pnpm8/pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

43 changes: 41 additions & 2 deletions tests/resolve_test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,17 @@ fn chinese() {
fn styled_components() {
let dir = dir();
let path = dir.join("fixtures/pnpm8");
let module_path = path.join("node_modules/.pnpm/styled-components@6.1.1_react-dom@18.2.0_react@18.2.0/node_modules/styled-components");
let specifier = "styled-components";

// cjs
let options =
ResolveOptions { alias_fields: vec![vec!["browser".into()]], ..ResolveOptions::default() };
let resolution = Resolver::new(options).resolve(&path, specifier);
assert_eq!(resolution.map(|r| r.into_path_buf()), Ok(path.join("node_modules/.pnpm/styled-components@6.1.1_react-dom@18.2.0_react@18.2.0/node_modules/styled-components/dist/styled-components.browser.cjs.js")));
assert_eq!(
resolution.map(|r| r.into_path_buf()),
Ok(module_path.join("dist/styled-components.browser.cjs.js"))
);

// esm
let options = ResolveOptions {
Expand All @@ -33,5 +37,40 @@ fn styled_components() {
..ResolveOptions::default()
};
let resolution = Resolver::new(options).resolve(&path, specifier);
assert_eq!(resolution.map(|r| r.into_path_buf()), Ok(path.join("node_modules/.pnpm/styled-components@6.1.1_react-dom@18.2.0_react@18.2.0/node_modules/styled-components/dist/styled-components.browser.esm.js")));
assert_eq!(
resolution.map(|r| r.into_path_buf()),
Ok(module_path.join("dist/styled-components.browser.esm.js"))
);
}

#[test]
fn axios() {
let dir = dir();
let path = dir.join("fixtures/pnpm8");
let module_path = path.join("node_modules/.pnpm/axios@1.6.2/node_modules/axios");
let specifier = "axios";

// default
let options = ResolveOptions::default();
let resolution = Resolver::new(options).resolve(&path, specifier);
assert_eq!(resolution.map(|r| r.into_path_buf()), Ok(module_path.join("index.js")));

// browser
let options = ResolveOptions {
condition_names: vec!["browser".into(), "require".into()],
..ResolveOptions::default()
};
let resolution = Resolver::new(options).resolve(&path, specifier);
assert_eq!(
resolution.map(|r| r.into_path_buf()),
Ok(module_path.join("dist/browser/axios.cjs"))
);

// cjs
let options = ResolveOptions {
condition_names: vec!["node".into(), "require".into()],
..ResolveOptions::default()
};
let resolution = Resolver::new(options).resolve(&path, specifier);
assert_eq!(resolution.map(|r| r.into_path_buf()), Ok(module_path.join("dist/node/axios.cjs")));
}

0 comments on commit a0258cf

Please sign in to comment.